2016-12-11 16 views
2

どのようにオブジェクトの軸を描くことができますか?私はメッシュのローカル軸を参照していますが、ワールド軸は参照していません。私はそれを使用して知っている:3Dオブジェクトの軸を描画する3j

function drawlines(){ 
      var material = new THREE.LineBasicMaterial({ 
        color: 0x0000ff 
       }); 

       var geometry = new THREE.Geometry(); 
       geometry.vertices.push(
        new THREE.Vector3(100, 0, 0), 
        new THREE.Vector3(0, 0, 0) 
       ); 

       var line = new THREE.Line(geometry, material); 
       scene.add(line); 

       var material = new THREE.LineBasicMaterial({ 
        color: 0x00ff00 
       }); 

       var geometry = new THREE.Geometry(); 
       geometry.vertices.push(
        new THREE.Vector3(0, 100, 0), 
        new THREE.Vector3(0, 0, 0) 
       ); 

       var line = new THREE.Line(geometry, material); 
       scene.add(line); 

       var material = new THREE.LineBasicMaterial({ 
        color: 0xff0000 
       }); 

       var geometry = new THREE.Geometry(); 
       geometry.vertices.push(
        new THREE.Vector3(0, 0, 100), 
        new THREE.Vector3(0, 0, 0) 
       ); 

       var line = new THREE.Line(geometry, material); 
       scene.add(line); 
     } 

それぞれXYZで線を描画します。私が必要とするのは、モデルのXYZ軸を描くことです。どうやってやるの。このコードを使用してモデルをロードします

var loader = new THREE.JSONLoader(); 
      loader.load("https://threejs.org/examples/models/animated/horse.js", function (geometry) { 
       var material = new THREE.MeshLambertMaterial({ 
        vertexColors: THREE.FaceColors, 
        morphTargets: true, 
        overdraw: 0.5 
       }); 
       mesh = new THREE.Mesh(geometry, material); 
       mesh.scale.set(1.5, 1.5, 1.5); 
       scene.add(mesh); 
       mixer = new THREE.AnimationMixer(mesh); 
       var clip = THREE.AnimationClip.CreateFromMorphTargetSequence('gallop', geometry.morphTargets, 30); 
       mixer.clipAction(clip).setDuration(1).play(); 
      }); 

答えて

4

正しく取得した場合、THREE.AxisHelper()を使用できます。そのインスタンスを作成してモデルに追加するだけです。

jsfiddle例。

関連する問題