SPRITEVIEWMODE Sprite, Modus


BeschreibungBlitz3D
Die Anweisung SPRITEVIEWMODE stellt den Darstellungsmodus eines Sprite-Objekts ein.

Ein Sprite ist unabhängig von der Kamera und hat keinerlei Verzerrungen an Bildschirmrändern, die technisch bedingt bei anderen 3D-Modellen auftreten. Möchte man diese Verzerrung einschalten, dann muss man diesen Befehl benutzen.

Bei Modus 1 ist ein Objekt unabhängig von der Kamera (Standard).
Bei Modus 2 wird ein Sprite genau wie andere 3D-Modelle dargestellt.
Bei Modus 3 zeigt es auf die Kamera: Alle Winkel werden geändert.
Bei Modus 4 zeigt es auf die Kamera: Pitch-Winkel wird nicht geändert.

Achtung! Wenn Modus 2 benutzt wird, dann wird ein Sprite wie andere 3D-Objekte behandelt: Wenn ein Sprite von hinten angesehen wird, dann erscheint es unsichtbar. Mit ENTITYFX 16 kann es verhindert werden.


Parameter
Entity=Identität eines Objekts (entity)
Modus=1=fest (pitch und yaw wird geändert)
2=frei (kein Winkel wird geändert)
3=senkrecht1 (pitch-, yaw und roll wird geändert)
4=senkrecht2 (yaw und roll wird geändert)


Rückgabewert
-


Beispiel
Dieses Beispiel zeigt die grafischen Unterschiede. Ein Sprite erscheint je nach Modus unterschiedlich in der 3D-Welt:

GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()

pivot=CREATEPIVOT()
POSITIONENTITY pivot,0,1,0

camera=CREATECAMERA(pivot)
POSITIONENTITY camera,0,0,10

light=CREATELIGHT()
ROTATEENTITY light,90,0,0
plane=CREATEPLANE()

ground_tex=LOADTEXTURE("media/Chorme-2.bmp")
ENTITYTEXTURE plane,ground_tex

sprite=LOADSPRITE("media/b3dlogo.jpg")
POSITIONENTITY sprite,0,1,0
pitch=-15
yaw=180
roll=0
view_mode=1
view_mode_info$="(fixed)"

WHILE NOT KEYDOWN(1)
   IF KEYDOWN(208)=TRUE AND pitch<0 THEN pitch=pitch+1
   IF KEYDOWN(200)=TRUE AND pitch>-89 THEN pitch=pitch-1
   IF KEYDOWN(205)=TRUE THEN yaw=yaw+1
   IF KEYDOWN(203)=TRUE THEN yaw=yaw-1
   IF KEYDOWN(30)=TRUE THEN roll=roll+1
   IF KEYDOWN(31)=TRUE THEN roll=roll-1
   IF KEYHIT(2)=TRUE THEN view_mode=1:view_mode_info$="(fixed)"
   IF KEYHIT(3)=TRUE THEN view_mode=2:view_mode_info$="(free)"
   IF KEYHIT(4)=TRUE THEN view_mode=3:view_mode_info$="(upright1)"
   IF KEYHIT(5)=TRUE THEN view_mode=4:view_mode_info$="(upright2)"
   SPRITEVIEWMODE sprite,view_mode
   ROTATEENTITY pivot,pitch,yaw,0
   POINTENTITY camera,sprite,roll
   RENDERWORLD
   TEXT 0,0,"Mit Cursortasten,A und S Kamera drehen"
   TEXT 0,20,"Mit 1-4 SPRITEVIEWMODE wählen"
   TEXT 0,40,"SPRITEVIEWMODE:"+view_mode+view_mode_info$
   FLIP
WEND
END


Siehe auch
CREATESPRITE, LOADSPRITE