4

Three.js を見始めたばかりで、オブジェクトの動きについて質問があります。XNA/ShparDX では、以下のコードのようなことを行うことができます。ここでは、オブジェクトをその向きに対して前方に移動できます。したがって、オブジェクトが下を向いている場合、これはオブジェクトを下に移動します。右を向いている場合は、右に移動します。このビデオの例は、ここで見ることができ、ページの最後のビデオです。

float speed = 0.15f;
Vector3 velocity = objectMatrix.Forward * speed;
objectMatrix *= Matrix.CreateTranslation(velocity);

この回答に基づいて、次のことを試しました。キーを押してトリガーしても、何もしませんでした。

var STEP = 10;
object.matrixWorld.identity();
object.matrixWorld.multiplySelf(three.Matrix4.translationMatrix(object.position.x, object.position.y, object.position.z + STEP));
object.updateMatrixWorld();

Three.js で利用可能なメンバーと関数を使用してこれを複製することに失敗しました。可能であれば誰かが私に見せてもらえますか?ありがとう。

4

1 に答える 1

4
mesh.translateX( delta );
mesh.translateY( delta );
mesh.translateZ( delta );

先に進むには、 を使用しますtranslateZ( delta )

object.matrix学習しているだけの場合は、自分が何をしているのかを本当に理解していない限り、をいじらないのが最善です。positionrotation、および をscale代わりに設定します。

于 2013-02-12T09:39:14.567 に答える