Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Minib3d Kurs

von MitgliedWestbeamSeite 3 von 3

- Objektmanipulation -

Da wir nun unsere Objekte haben, muss sich doch auch etwas damit anfangen lassen, oder nicht?
Wir können diese Primitiven Objekte verändern wie wir wollen. Sei es Farbe, Größe oder bestimmte Effekte.
Die wichtigsten Befehle zur Objektmanipulation sind folgende:

Var cube=CreateCube()
PositionEntity cube, 0, 0, 12
EntityColor cube, 0, 0, 255
ScaleEntity cube, 2, 2, 2
EntityFX cube, 1

EntityColor ändert die Farbe des Objektes. Dabei muss man beachten, dass dies RGB-Farben sind und man auch nur diese in MiniB3D benutzen darf(auch bei dem Befehl "Color"!).
ScaleEntity skaliert den Würfel, also ändert dessen Größe. EntityFX weist dem Würfel Effekte zu. Der Wert "1" bedeutet, dass dieser Würfel leuchtet. Folgende anderen Werte lassen sich nutzen:

1=leuchtend
2=Vertexfarbe statt Pinselfarbe benutzen
4=flache Schattierung
8=Nebeleffekt deaktivieren
16=schaltet Backface Culling aus
32=VertexAlpha aktivieren

Dann gibt es da noch den Befehl "FlipMesh", der ein Objekt umdreht. Das ist schwer zu erklären und am besten seht ihr dies, wenn ihr es euch selbst anschaut:

Var cube=CreateCube()
PositionEntity cube, 0, 0, 12
FlipMesh cube

Man sieht den Würfel nun quasi von Innen. "FlipMesh" ist sehr wichtig, wenn ihr eine SkyBox erstellen möchtet.

- Objektinformationen -

Möchte man sich bestimmte Informationen über ein 3D-Objekt anschauen, beispielsweise die Entfernung zwischen der Kamera und einem Objekt oder die Koordinaten eines Objektes.
Der Befehl "EntityDistance" gibt die Entfernung zwischen 2 Objekten zurück, die Befehle "EntityX","EntityY" und "EntityZ" geben die Postion eines Objektes zurück und die Befehle "EntityPitch", "-Yaw" und "-Roll" den Winkel:

Do
    TurnEntity cube, 1, 1, 0
    UpdateWorld
    RenderWorld
    Sleep 1
    ScreenSync
    Screenlock
        Cls
        Draw String(5, 5), "Entfernung: " & EntityDistance(cam, cube)
        Draw String(5,  20), "Position: " & EntityX(cube) &"|" & Entityy(cube) &"|" & EntityZ(cube)
        Draw String(5, 35), "Winkel: " & EntityPitch(cube) &"|" & EntityYaw(cube) &"|" & EntityRoll(cube)
    Screenunlock
Loop Until Inkey=Chr(27)

 

Gehe zu Seite Gehe zu Seite  1  2  3  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 22.05.2011 von MitgliedWestbeam angelegt.
  • Die aktuellste Version wurde am 11.05.2012 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen