0
你好點,AS3移動和旋轉物體在三維空間
我試圖移動在舞臺的3D目的(我使用的Away3D框架),以在空間中的點(矢量3D),它的優良和工作,但我希望這個對象把它變成「前臉」,所以它會一直「看」和「走路」到它。
是移動對象的代碼:
Tweener.addTween(
mainReference.carHolder,
{
time:.1,
x:points[point].x,
y:points[point].y,
z:points[point].z,
transition:"Linear",
onComplete:function():void
{
moveCar(point + 1);
}
});
我已經嘗試:
var angleX:Number = Vector3D.angleBetween(
new Vector3D(
mainReference.carHolder.x,
mainReference.carHolder.y,
mainReference.carHolder.z),
new Vector3D(
mainReference.carHolder.x,
points[point].y,
points[point].z)
) * 180/Math.PI;
var angleY:Number = Vector3D.angleBetween(
new Vector3D(
mainReference.carHolder.x,
mainReference.carHolder.y,
mainReference.carHolder.z),
new Vector3D(
points[point].x,
mainReference.carHolder.y,
points[point].z)
) * 180/Math.PI;
var angleZ:Number = Vector3D.angleBetween(
new Vector3D(
mainReference.carHolder.x,
mainReference.carHolder.y,
mainReference.carHolder.z),
new Vector3D(
points[point].x,
points[point].y,
mainReference.carHolder.z)
) * 180/Math.PI;
var angle:Number = Vector3D.angleBetween(
new Vector3D(
mainReference.carHolder.x,
mainReference.carHolder.y,
mainReference.carHolder.z),
new Vector3D(
points[point].x,
points[point].y,
points[point].z)
)/180 * Math.PI;
mainReference.carHolder.eulers = new Vector3D(
points[point].x,
points[point].y,
points[point].z);
mainReference.carHolder.rotateTo(
points[point].x,
points[point].y,
points[point].z);
非常感謝,它工作得很好! –