2016-05-15 53 views
0

我想把一個紋理在Three.js對象,但是當我應用圖像的對象全黑。一些警報顯示在代碼上,但沒有錯誤。上圖顯示結果。請提供一些建議?我怎麼能把圖像Three.js紋理

<!DOCTYPE html> 
<html> 
<head> 

<title>Meu Primeiro WebGL</title> 
    <style type="text/css">canvas {width: 100%; height: 100%}</style> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 


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


<script> 
     var scene = new THREE.Scene(); 
     var loader = new THREE.ImageLoader(); 

      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); 

      //primeiro cubo 
      var cubegeometry = new THREE.CubeGeometry(5,0.45,5); 
      var cubematerial = new THREE.MeshBasicMaterial({wireframe: false, color: 0x0033FF}); 
      var cube = new THREE.Mesh(cubegeometry, cubematerial); 



      //segundo objeto 
      var texture = THREE.ImageUtils.loadTexture('wood.jpg'); 
      var cbmaterial = new THREE.MeshPhongMaterial({map: texture}); 
      var cbgeometry = new THREE.CubeGeometry(5.05,0.5,3.75); 

      var cb = new THREE.Mesh(cbgeometry, cbmaterial); 



      scene.add(cube); 
      scene.add(cb); 
      camera.position.z = 6 

      var render = function(){ 
       requestAnimationFrame(render); 

       cube.rotation.y += 0.02; 
       cube.rotation.x += 0.01; 
       cube.rotation.z += 0.00; 

+2

您是否在場景中添加了燈光?如果不是這樣,將材料用黑色呈現,就像完全黑暗的房間裏的物體一樣 – yomotsu

回答

0

如果你沒有在場景中的任何光線,這可能是問題。至少添加一些環境光線。例如:

var ambient = new THREE.AmbientLight(0x555555); 
scene.add(ambient); 
+0

非常感謝...... :) –