Irrlicht: Spiegelung? | Flightstraightanimator

  • Hallo!
    Wie kann man in Irrlicht Objekte spiegeln lassen?
    [Blockierte Grafik: http://www7.pic-upload.de/20.08.11/7suvszvi47.jpg]
    Das Bild erklärt eigentlich alles.
    Ne Spiegelung is eig nix anderes als en farbiger Schatten; wie kriegt man das hin?

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

    Einmal editiert, zuletzt von Twodollarbillie (20. August 2011 um 18:16)

  • _IrrAddNodeShadow und dann die Farbe ändern mit _IrrSetShadowColor

    Such mal in der Hilfe! Damit sollte die Spieglung doch zu realisieren sein!?

    Edit: Ich seh gerade das Bsp. in der Hilfe und denke mal, dass hast du auch schon gefunden. Denke nicht, dass das so funktioniert oder es das ist, was du suchst... Dann musst du wohl alles manuell machen (Node verdoppeln, Rotation und Position verändern und dann i-wie mit dem Licht rumspielen...) Ne andere Möglichkeit kenn ich nicht, aber vielleicht, weiß sonst noch einer was!?

  • Du kannst mal in den Material-Flags nachsehen dort findest du sicher was brauchbares..

  • ganz kleiner einschub:

    [autoit]

    #include "au3Irrlicht2.au3"
    #include<misc.au3>
    #include<array.au3>
    #include<file.au3>
    local $x= 20
    local $text[100]
    local $node[100]
    _IrrStart( $IRR_EDT_OPENGL, @desktopwidth, @desktopheight, $IRR_BITS_PER_PIXEL_32, _
    $IRR_WINDOWED, $IRR_SHADOWS, $IRR_capture_EVENTS, $IRR_VERTICAL_SYNC_ON )
    $camera = _irraddcamera($x, 0, -25, $x, 0, -17)
    _IrrSetWindowCaption( "Mein neues Projekt :) " )
    ;$camera = _irraddfpscamera(0, 100, 1, -1, 0, 1, 0)
    $path= "F:\xxxx\Autoitzeuchs\Webcamsteuerung\Pics\"
    $pics= _filelisttoarray("F:\xxxxx\Autoitzeuchs\Webcamsteuerung\Pics\","*.jpg", 1)

    [/autoit][autoit][/autoit][autoit]

    for $i=1 to 20

    [/autoit][autoit][/autoit][autoit]

    $node[$i] = _IrrAddTestSceneNode()
    _irrsetnodeposition($node[$i], $i*20, 0, 0)
    $text[$i] = _irrgettexture( $path&$pics[$i] )
    _IrrSetNodeMaterialTexture($node[$i], $text[$i],0)
    _IrrSetNodeMaterialFlag( $node[$i], $IRR_EMF_LIGHTING, $IRR_Off )
    next
    WHILE _IrrRunning()
    If _ispressed(01) then
    sleep(1000)
    $xold=$x
    $x+=20
    _IrrSetCameraTarget($camera, $x, 0, -17)
    _IrrAddFlyStraightAnimator($camera, $xold, 0, -25, $x, 0, -25, 3000, 0)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    endif
    _IrrBeginScene( 255, 255, 255 )
    _IrrDrawScene()

    [/autoit][autoit][/autoit][autoit]

    _IrrEndScene()
    wend

    [/autoit]


    $path einfach mit einem ordner ersetzen, der bilder enthält.
    das cameratarget wird vor der animation bestimmt und wirkt auch während der animation. durch die animation+ target sieht das ganze eher wie bei ner rotation aus... Habt ihr ne ahnung wie man den straightanimator und das target so kombinieren könnte, dass die "flugbahn" linear verläuft(ja, sie verläuft schon linear, aber es sieht nicht so aus :D) ?das mit der forschleife klappt nicht, eben probiert

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

  • Ich weiß ja nicht genau, was du machen willst, aber wozu brauchst du diesen Animator. Irgendwie stimmt bei dem ja auch die Kamerarichtung hinten und vorne nicht...
    Ich glaub auch nicht, dass du den unbedingt brauchst, das sollte mit ner einfachen Schleife gehen, evtl. so:=

    Spoiler anzeigen
    [autoit]

    #include "au3Irrlicht2.au3"
    #include<misc.au3>
    #include<array.au3>
    #include<file.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $x = 20
    Local $text[100]
    Local $node[100]

    [/autoit] [autoit][/autoit] [autoit]

    _IrrStart($IRR_EDT_OPENGL, @DesktopWidth, @DesktopHeight, $IRR_BITS_PER_PIXEL_32, _
    $IRR_WINDOWED, $IRR_SHADOWS, $IRR_capture_EVENTS, $IRR_VERTICAL_SYNC_ON)
    $camera = _irraddcamera($x, 10, -50, $x, 0, -25)
    _IrrSetWindowCaption("Mein neues Projekt :) ")
    ;$camera = _irraddfpscamera(0, 100, 1, -1, 0, 1, 0)
    $path = 'C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\'
    $pics = _FileListToArray($path, "*.jpg", 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To 20
    $node[$i] = _IrrAddTestSceneNode()
    _irrsetnodeposition($node[$i], $i * 20, 0, 0)
    $text[$i] = _irrgettexture($path & $pics[$i])
    _IrrSetNodeMaterialTexture($node[$i], $text[$i], 0)
    _IrrSetNodeMaterialFlag($node[$i], $IRR_EMF_LIGHTING, $IRR_Off)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    While _IrrRunning()
    If _IsPressed(01) Then
    For $i = 1 To 20
    $x += 1
    _IrrSetNodePosition($camera, $x, 10, -50)
    _IrrSetCameraTarget($camera, $x, 0, -25)
    _ActGui()
    Sleep(50)
    Next
    EndIf
    _ActGui()
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _ActGui()
    _IrrBeginScene( 255, 255, 255 )
    _IrrDrawScene()
    _IrrEndScene()
    EndFunc

    [/autoit]

    Beschreib am Besten mal, was du haben willst!
    RapIt

  • Ich arbeite zur zeit an nem Programm zur Darstellung meines FIlmarchivs.. Mit dem Movie thumbnailer werden dazu von allen Filmen, die ich hab screenshots gemacht und mit irrlicht auf diese testnodes geklebt. Das ganze soll aussehen wie in Itunes. Habs jetzt auch so hinbekommen, mit ner Do-Schleife hats geklappt.

    [autoit]

    for $i=1 to 10

    [/autoit][autoit][/autoit][autoit]

    $node[$i] = _IrrAddTestSceneNode()
    _irrsetnodeposition($node[$i], $i*20, 0, 0)
    $text[$i] = _irrgettexture( $path&$pics[$i] )
    _IrrSetNodeMaterialTexture($node[$i], $text[$i],0)
    _IrrSetNodeMaterialFlag( $node[$i], $IRR_EMF_LIGHTING, $IRR_Off )

    [/autoit][autoit][/autoit][autoit]

    next
    WHILE _IrrRunning()
    If _ispressed(01) and $x<($i-1)*20 then
    sleep(50)
    $xold= $x
    do

    [/autoit][autoit][/autoit][autoit]

    $x += 1
    _IrrSetNodePosition($camera, $x, 0, -18)
    _IrrSetCameraTarget($camera, $x, 0, -10)
    _drawscene()

    [/autoit][autoit][/autoit][autoit]

    until $x= $xold+20

    [/autoit][autoit][/autoit][autoit]

    elseif _ispressed(02) and $x>20 then
    sleep(50)
    $xold= $x
    do

    [/autoit][autoit][/autoit][autoit]

    $x -= 1
    _IrrSetNodePosition($camera, $x, 0, -18)
    _IrrSetCameraTarget($camera, $x, 0, -10)
    _drawscene()

    [/autoit][autoit][/autoit][autoit]

    until $x= $xold-20
    endif
    _drawscene()
    wend
    func _drawscene()
    _IrrBeginScene( 255, 255, 255 )
    _IrrDrawScene()
    _IrrEndScene()
    endfunc

    [/autoit]


    werd jetzt mal schaun, wie ich das mit der spiegelung meistern werde ;)

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

    2 Mal editiert, zuletzt von Twodollarbillie (20. August 2011 um 23:35)

  • Das mit der Spiegelung hab ich aufgegebn.
    Dafür habs ich aber doch richtig schön hingekriegt (besser als bei itunes :D)
    Bild
    Bei interesse kann ich den ganzen code posten
    gruß billie

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

  • was ist das im Hintergrund? Partikeln?
    Wenn nicht machst du im Hintergrund entweder Partikel oder ein verschiedenfarbige Flüssigkeiit mit welen drin..
    nur mal so als tipp

  • Besser wenn es iTunes nicht allzu ähnlich sieht, du weisst ja wie apple in solchen dingen ist (Siehe Samsung Galaxy Tab & Motorola Xoom vs. iPad ^^).
    Die benehmen sich ja noch wie im Kindergarten wenns um Copyright geht -.-...seis drum, sieht echt schön aus und natürlich hab ich interesse am sourcecode ;)

    Bild1: Ich beim debuggen