Hilfe

SpriteViewMode

B3D

Aufruf

SpriteViewMode Sprite, Modus

Parameter

Sprite Identität eines Sprites
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

-


Beschreibung

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.

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.


Beispiel

Standardbeispiel:

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 KeyDown(2) = True Then view_mode = 1 : view_mode_info$ = "(fixed)"
   If KeyDown(3) = True Then view_mode = 2 : view_mode_info$ = "(free)"
   If KeyDown4) = True Then view_mode = 3 : view_mode_info$ = "(upright1)"
   If KeyDown(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, HandleSprite, LoadSprite

Übersicht 3D Grafik Sprite