Tutorial
Minib3d Kurs
von Westbeam | Seite 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)
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|