2016-04-28 21 views
0

three.jsで.daeモデルを読み込もうとしていますが、テクスチャが読み込まれません(おそらく)。ここに私のコード:load .daeモデルの読み込み時にテクスチャが表示されない

<script src="js/three.js"></script> 

    <script src="js/Animation.js"></script> 
    <script src="js/AnimationHandler.js"></script> 
    <script src="js/KeyFrameAnimation.js"></script> 

    <script src="js/ColladaLoader.js"></script> 

    <script src="js/Detector.js"></script> 
    <script src="js/stats.min.js"></script> 

    <script> 
     var scene = new THREE.Scene(); 
     var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); 

     var renderer = new THREE.WebGLRenderer(); 
     renderer.setSize(window.innerWidth, window.innerHeight); 
     document.body.appendChild(renderer.domElement); 

     //load collada 
     var loader = new THREE.ColladaLoader(); 
     loader.options.convertUpAxis = true; 
     loader.load('model/Wood.dae', function(collada){ 
      collada.scene.traverse(function (child){ 
      if(child instanceof THREE.SkinnedMesh) 
       { 
        var animation = new THREE.Animation (child, child.geometry.animation); 
        animation.play(); 

        camera.lookAt(child.position); 
       } 
      }); 

     scene.add(collada.scene); 
     }); 

     camera.position.z = 10; 

     var render = function() { 
      requestAnimationFrame(render); 
      renderer.setClearColor(0xffe5e5, 1); 

      renderer.render(scene, camera); 
     }; 

     render(); 

私は材料を変更することができますし、多くのチュートリアルに従いますが、実際には何も動作しません。いくつかのヒント?私はそれが

function newTexture(texture){ 
      dae.traverse(function(child){ 
       if(child instanceof THREE.Mesh){ 
        child; 
        child.material.map = texture; 
        child.material.needsUpdate = true; 
       } 
      }); 

と負荷のためにあなたがTextureLoaderを使用することができますテクスチャをこの方法をやってました

+0

レンダリング機能で 'setClearColor()'を呼び出す必要はありません。初期化時に一度だけ呼び出す必要があります。 – gaitat

+0

マテリアルを追加し、そのマテリアルにテクスチャをマップしてみてください – ArUn

答えて

0

、それは私のために働きました。

関連する問題