3

アニメーションを実現するために Three.js (シェーダーなし、既存のオブジェクト メソッドのみ) を使用していますが、私の質問は非常に単純です。形状にいくつかのアニメーションを組み合わせますか? たとえば、球体の回転と平行移動です。私がやっているとき:

three.sphere.rotation.y += 0.1;
three.sphere.translateZ += 1;

球体は回転しますが、並進ベクトルも回転するため、並進は影響しません。私は少しopenGLを知っていて、すでにglPushMatrixとglPopMatrix関数を使用しているので、それらはこのフレームワークに存在しますか? 乾杯

4

2 に答える 2

6

各 three.js object3Dにはposition, rotationand scale;があります。回転 (常にその原点または「中心」に対して相対的) は、独自のローカル軸座標 (たとえば、オブジェクトが独自の「前、上、右」方向と見なすもの) を定義し、 を呼び出すtranslateZと、オブジェクトはそれらに従って移動します。ローカル方向 (ワールドまたは親 Z 軸に沿っていない)。後者が必要な場合は、three.sphere.position.z += 1代わりに実行してください。

于 2013-03-08T12:27:20.603 に答える
1

変換の順序は重要です。最初に平行移動してから回転すると、最初に回転してから平行移動する場合とは異なる結果が得られます。もちろん、球だと回転が見えにくくなります。

于 2013-03-08T11:13:23.893 に答える