rotation

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Om3n

Betreff: rotation

BeitragMi, Nov 22, 2006 6:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich habe eine waffe so skaliert, das sie ego-shooter typisch zur kamera steht.

wenn ich jetzt die kamera rotiere und die waffe dazu, dreht sich die waffe natürlich um sich selbst und nicht mit der kamera!

ich habe was von pivot gelesen, verstehe aber nicht ganz, ob ich das damit kopeln soll und wie... oder soll ich das ganz anders lösen?


ps.: die waffe hat einen 0 punkt im modeler...

NightPhoenix

BeitragMi, Nov 22, 2006 10:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Pivot der als "Parent" (Eltern/Papa/Mutti Very Happy ) für einige Objekte deklariert wurde ist dann der neue Rotationspunkt für alle Objekte die "Child" (Kind) von diesem Pivot sind... Alles was der Pivot macht, machen auch die "Childs"

Also du machst folgendes:
Code: [AUSKLAPPEN]
WeaponPiv=CreatePivot()

Genau an der Position deiner Kamera.
Danach machst du einfach:
Code: [AUSKLAPPEN]
Kamera = CreateCamera(WeaponPiv)

und noch für die Waffe:
Code: [AUSKLAPPEN]
Waffe = LoadMesh("xxx.x",WeaponPiv)

das ganze funktioniert auch mit EntityParent (Beschreibung siehe help-Funktion in BB)
Danach rotierst du einfach deinen Pivot und schon rotiert die Waffe immer vor der Kamera mit der Kamera selbst mit! Wink

MfG.



EDIT:
wichtigste Befehle:
Code: [AUSKLAPPEN]
CreatePivot()
EntityParent entity,parententity






EDIT2:

Hab ich mal kurz für dich geproggt:
Code: [AUSKLAPPEN]
;Grafikmodus einstellen
Graphics3D 800,600,32,1
SetBuffer BackBuffer()


;Pivot für Kamera+Waffe um den sie sich drehen!
Weaponpiv=CreatePivot()

;Erstellen der Kamera
Kamera=CreateCamera(Weaponpiv)

;Erstellen der Waffe
Weapon=CreateCube(Weaponpiv)
   PositionEntity Weapon,0,-2,5 ;Positionieren der Waffe ein Stück vor die Kamera




;Erstellen von 2 Umgebungsobjekten
Obj1=CreateSphere(10)
   PositionEntity Obj1,4,3,20
   
Obj2=CreateSphere(10)
   PositionEntity Obj2,-4,1,20





;While-Schleife
While Not KeyHit(1)


   ;Kamerabewegung durch Maus
   RotateEntity Weaponpiv,0,EntityYaw(Weaponpiv)-MouseXSpeed(),0
      MoveMouse 300,300


   ;Ganz nette Funktion um EntityParent für die Waffe auszuschalten (Taste: Ziffer 1 und 2)
   If KeyHit(2) Then EntityParent Weapon,weaponpiv=False
   If KeyHit(3) Then EntityParent Weapon,weaponpiv


UpdateWorld
RenderWorld

Text 0,0,"Press 1 to deactivate Parent Function."
Text 0,20,"Press 2 to activate Parent Function."

Flip
Wend


hoffe konnte helfen Wink
 

Om3n

BeitragMi, Nov 22, 2006 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

ja danke, für diese ausführliche beschreibung, konntest mir sehr weiterhelfen!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group