0

やあみんな基本的に私は大雑把なシーンを設定しています。ついに、スポーツカーの 3D モデルを自分のシーンにロードすることができました。

たとえば、sphere.translateY(1) を使用して Object3D プリミティブをアニメーション化できます。

私は死ぬほど、自分の車のモデルで同様の翻訳アニメーションを行う方法を理解できません。最初に、グローバルを作成したときに車の変数が見つからないと言われました。次に、車をアニメーション関数に渡そうとしましたが、役に立ちませんでした。

translateY は、球体のような Object3D でのみ機能すると確信しています。インポートした 3D モデルでこの単純な移動を行うにはどうすればよいですか? 位置を上げてみました。これが私のコードです誰か助けてください! (カメラやレンダリング コードなどは省略しました。この車をアニメーション化するだけですべて機能します。

var sphere;
var car;

function init() {
    // THE USUAL STUFF, scene, camera, renderer
  }

function addSceneElements() {
 // Sphere
    sphere = new THREE.Mesh(new THREE.SphereGeometry(8, 70, 20), blueMat);
    sphere.position.set(-260, 9, 125);
    scene.add(sphere);

    var loader = new THREE.JSONLoader();
    loader.load( "models/hotride.js", function(geometry){
    var material = new THREE.MeshLambertMaterial({color: 0x66CCFF});
    var car = new THREE.Mesh(geometry, material);
    car.scale.set(7,7,7);
    car.position.set(10, 22, -1000);
    scene.add(car);
    animate();
  });
  }

function animate() {
sphere.translateX(1);
      //car.translateZ(2);
     // car.position.z += clock.getDelta();

      // render
      renderer.render(scene, camera);
       requestAnimationFrame( animate );
      controls.update();
    }
4

2 に答える 2

1

グローバル var カーとローカル var カーがある

var car;

function init() {
    // THE USUAL STUFF, scene, camera, renderer
  }

function addSceneElements() {
 // Sphere
    sphere = new THREE.Mesh(new THREE.SphereGeometry(8, 70, 20), blueMat);
    sphere.position.set(-260, 9, 125);
    scene.add(sphere);

    var loader = new THREE.JSONLoader();
    loader.load( "models/hotride.js", function(geometry){
    var material = new THREE.MeshLambertMaterial({color: 0x66CCFF});
    var car = new THREE.Mesh(geometry, material);     //// <<<< local var !!!

つまり、グローバル カーにはローカル カーに割り当てられたメッシュがありません。行のvarを削除するだけです!

    car = new THREE.Mesh(geometry, material);     //// <<<< global var !!!
于 2014-05-09T16:05:58.363 に答える
0

モデルを新しい Object3D に追加し、このオブジェクトを操作して平行移動/回転させることができます。

于 2014-05-08T12:44:53.340 に答える