Turnentity vs Rotateentity
Übersicht

arniBetreff: Turnentity vs Rotateentity |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
mache gerade meine ersten Blitz3D Experiemente und habe schon das erste Verständnisproblem. Ich lade ein Flugzeug, das nach dem Laden mit der "Nase" zu mir zeigt. Wenn ich ein MoveEntity 0,0,1 aufrufe, fliegt das Ding "rückwärts". Wie kann ich das Flugzeug drehen, sodaß die Spitze in Richtung der positven Z-Achse zeigt ? In der Doku sieht's so aus, als wäre RotateEntity dafür zuständig. RotateEntity airplane,0,180,0 rotiert das Objekt zwar, allerdings werden die Achsen mitrotiert. Das heißt das Ding fliegt genau in die entgegengesetzte Richtung, wie eigentlich gewünscht. |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
probiers mal mit RotateMesh() ![]() da werden die Gitterpunkte des Objekts neu berechnet. |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
RotateMesh sollte das sein, was du möchtest ... | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
arni |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh danke, das hab' ich in der Doku übersehen !
Ich habe RotateMesh jetzt aufgerufen. Die Bewegung anhand der "z"-Achse paßt jetz auch. allerdings rotiert mein Flugzeug immer noch in die entgegengesetzte Richtung. D.h. bei +1 gegen den Urzeigersinn.... grmpf Ich poste mal meinen Code hier: Code: [AUSKLAPPEN] Const vk_left=203,vk_right=205,vk_up=200,vk_down=208,vk_a=30,vk_y=44,vk_space=57 Graphics3D 800,600 SetBuffer BackBuffer() camera=CreateCamera() CameraViewport camera,0,0,800,600 light=CreateLight() ufo=LoadMesh("fighter.3ds") ScaleEntity ufo,.02,.02,.02 RotateMesh ufo,0,180,0 PositionEntity camera,0,5,-5 PositionEntity ufo,0,0,15 While Not KeyHit(1) If KeyDown(vk_a) Then z#=1 Else If KeyDown(vk_y) Then z#=-1 Else z#=0 End If If KeyDown(vk_up) Then pitch#=1 Else If KeyDown(vk_down) Then pitch#=-1 Else pitch#=0 End If If KeyDown(vk_left) Then roll#=-5 Else If KeyDown(vk_right) Then roll#=5 Else roll#=0 End If TurnEntity ufo,pitch#,yaw#,roll# MoveEntity ufo,0,0,z# UpdateWorld RenderWorld Text 10,25,"x="+x#+" y="+y#+" z="+z# Text 10,40,"pitch="+pitch#+" yaw="+yaw#+" roll="+roll# Flip Wend End Also wenn ich Richtung "+z" sehe, dann müßte eine Rotation von +1 um die Z-Achse doch im Urzeigersinn erfolgen, oder? Bei mir ist's genau umgekehrt. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Drehsinn ist entgegengesetzt dem Uhrzeigersinn definiert in der Geometrie. In Uhrzeigersinnrichtung positiv ist es nur in OpenGL, DirectX ist das negativ wie in der Geometrie auch. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group