mittlerweile schon länger bastel ich ja mit Stage3D/Flash an einem Projekt - Und bin mal wieder( :oops: ) an einem Punkt wo ich nicht weiterkomme und euch lieben nettwn ZFX'ler um Hilfe bitte. Es geht dieses mal um die Funktion LookAt btw. in Stage3D heißt es PointAt aber ich gehe mal davon aus das es von der Funktion das selbe tun sollte wie LookAt in OpenGL z.B.. Leider verstehe ich nicht wirklich die Parameter die dahinter stecken.
Ziel der Übung ist es das ich mich um einen Punkt drehe und die Kamera dabei auf diesen Punkt schaut - Die Rotation von der Position habe ich dabei auch schon geschafft:
Code: Alles auswählen
position.x = (endRotateRadius - radiusStart) * Math.sin(rotateRad) + rotatePoint.x;
position.y = (endRotateRadius - radiusStart) * Math.cos(rotateRad) + rotatePoint.y;
Nun will ich das die Kamera dabei auch auf den Punkt schaut, also die Achsen so rotieren das man auf den Punkt schaut - Und da fängt der Salat an.
Ich benutze eine Kamera die leicht gekippt auf eine Karte schaut und baue diese so zusammen:
Code: Alles auswählen
// m = Matrix & view = Matrix invertiert
m.appendRotation(neigung, Vector3D.X_AXIS);
view.appendTranslation(position.x , position.y, position.z);
view.append(m);
var at:Vector3D = new Vector3D(view.rawData[8], view.rawData[9], view.rawData[10]);
view.pointAt(position, at, new Vector3D(0, 0, -1));
So wie ich die Funktion verstehe ist das letzte der Up-Vector, also wo Oben ist. In meinem Fall die Z Achse. Der zweite Wert ist die Richtung der Camera in die Sie schaut? Also doch im Prinzip die ViewDirection der Camera? Hatte ich dort ->http://zfx.info/viewtopic.php?f=5&t=2407<- schon einmal gefragt. Und der erste Wert ist die Position von wo aus ich schaue, also die Kamera-Position.
Wie gesagt, wenn ich die Kamera jetzt auf der X Achse rotiere stimmt das mit dem PointAt überhaupt nicht mehr. Kann mir irgendwer erklären wie genau ich die Werte dort einstellen muss damit das auch mit einer Rotation noch richtig aussieht?! Ich hab schon gegoogelt & co und komme da kein Stück weiter :? Geht das überhaupt mit LookAt was ich erreichen will?