AlignToVector
Übersicht

![]() |
TheProgrammerBetreff: AlignToVector |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir funktioniert der Befehl AlignToVector nicht. Gibt es dafür vieleicht einen Code, den man anwenden kann, um den Befehl "nachzumachen"? | ||
aktuelles Projekt: The last day of human being |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei dieser Funk. mußte sagen nach welcher Achse das Objekt
ausgerichtet werden soll . Evtl. auch alle 3 nacheinander . rate# ist ja optional und besagt das du mit diesem Wert auch eine Annäherung an die Achse machen kannst . Also default ist dort 1 und es wird direkt eine Achse zur anderen übertragen . Jede Achse kann man sich auch als Richtungsvector vorstellen . Code: [AUSKLAPPEN] ;AlignToVector Test by Markus Rauch Graphics3D 640,480,16,0 SetBuffer BackBuffer() cam=CreateCamera() PositionEntity cam,0,0,-10 e1=CreateCube() e2=CreateCube() e1x=CreateCube(e1) ScaleMesh e1x,0.25,0.25,0.25 MoveEntity e1x,0,1,0 e2x=CreateCube(e2) ScaleMesh e2x,0.25,0.25,0.25 MoveEntity e2x,0,1,0 EntityColor e1x,255,0,0 EntityColor e2x,255,0,0 PositionEntity e2,3,0,0 Type VecType Field x# Field y# Field z# End Type Global v.VecType v.VecType=New VecType While Not KeyHit(1) ;ESC ;Tasten 1 2 3 If KeyDown(2) Then TurnEntity e1,5,0,0 If KeyDown(3) Then TurnEntity e1,0,5,0 If KeyDown(4) Then TurnEntity e1,0,0,5 VX e1,v AlignToVector e2,v\x,v\y,v\z,1,0.1 VY e1,v AlignToVector e2,v\x,v\y,v\z,2,0.1 VZ e1,v AlignToVector e2,v\x,v\y,v\z,3,0.1 RenderWorld Color 255,255,0 Text 0,15*0,r2(EntityPitch(e1)) Text 0,15*1,r2(EntityYaw (e1)) Text 0,15*2,r2(EntityRoll (e1)) Text 0,15*4,r2(EntityPitch(e2)) Text 0,15*5,r2(EntityYaw (e2)) Text 0,15*6,r2(EntityRoll (e2)) Flip Wend End Function VX(e,v.VecType) Local piv=CreatePivot() RotateEntity piv,EntityPitch(e,True),EntityYaw(e,True),EntityRoll(e,True) MoveEntity piv,1,0,0 v\X=EntityX(piv) v\Y=EntityY(piv) v\Z=EntityZ(piv) FreeEntity piv End Function Function VY(e,v.VecType) Local piv=CreatePivot() RotateEntity piv,EntityPitch(e,True),EntityYaw(e,True),EntityRoll(e,True) MoveEntity piv,0,1,0 v\X=EntityX(piv) v\Y=EntityY(piv) v\Z=EntityZ(piv) FreeEntity piv End Function Function VZ(e,v.VecType) Local piv=CreatePivot() RotateEntity piv,EntityPitch(e,True),EntityYaw(e,True),EntityRoll(e,True) MoveEntity piv,0,0,1 v\X=EntityX(piv) v\Y=EntityY(piv) v\Z=EntityZ(piv) FreeEntity piv End Function Function R2#(x#) Return Int(x*100.0)/100.0 End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group