2016-12-11 2 views
2

어떻게하면 오브젝트 축을 그릴 수 있습니까? 메쉬 로컬 축이 아닌 월드 축을 참조합니다. 나는 그것을 사용하는 것을 알고있다 :3D 오브젝트 축을 그립니다. 세 번째

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 예.

관련 문제