ah so.
Winkeländerung...
Schwierig und Mathe...
Aber für den Anfang könntest du die Position der Kamera auf einer Achse verändern.
Wenn die Plane also auf der Z-Achse (durch den Raum, vorne nach hinten) liegt (0;0;0) und die Kamera ein bisschen weiter hinten ist (auf der Z-Achse) und höher als das Plane liegt, sehen die Koorinaten der Kamera so aus: (0;5;-10). Wenn Camera.Target das Plane ist, schaust du jetzt schräg auf die Plane. Um den Winkel zu ändern reicht es, den Y-Wert der Kamera zu ändern, sie also näher zum Plane auszurichten. Dank Target richtet sich die Kamera dann von alleine wieder auf das Plane aus. Also würde folgendes dann gehen:
Quelltext
1: 2: 3: 4: 5:
| procedure Timer1.Timer begin GLCamera1.Position.Y := GLCamera1.Position.Y - 0.1; GLCamera1.TransformationChanged; end; |
So. Wenn der Timer ... 5mal in der Sekunde (?) ... aktiviert wird, wird die Kamera jedesmal ein bisschen weiter nach unten geschoben. Wenn man das lange genug macht, ist man natürlich auf der anderen Seite des Planes, also muss man sich selbst darum kümmern, wie weit man gehen darf und will.
Allerdings ist das keine wirkliche Rotation um das Target. Dafür gibt's die Funkion
Quelltext
1:
| GLCamera1.MoveAroundTarget(PitchDelta, TurnDelta); |
der man die Winkel (ich glaube in Grad, wenn nicht mit DegToRad umrechnen) übergibt. Damit dreht man sich dann wirklich um das Objekt, was aber imer noch nicht verhindert, plötzlich auf der anderen Seite der Plane zu sein, dafür geht 180° weiter wieder zurück auf die ursprüngliche Seite.
"Ranzoomen" geht auch, und zwar mit
Quelltext
1:
| GLCamera1.AdjustDistanceToTarget(Ratio); |
Übergeben wird der Faktor (Ratio) um den die Entfernung zum Objekt geändert werden soll. 0,5 würde also eine Halbierung, 2 eine Verdoppelung der Distanz bewirken.
Somit hätte man eigentlich alles, was man braucht, um den User einen beliebigen Blickwinkel zu erlauben.
Übrigens ändert jede dieser Funktionen die Position der Kamera. Geht auch nciht anders. Höchstens beim Zoomen könnte man SceneScale oder FocalLength nehmen, um die Position der Kamera beizubehalten und gleichzeitig in die Szene zu zoomen...
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk.