2016-10-25 4 views
0

こんにちは皆はThree.jsで始まります。なぜ私の2番目のジオメトリが表示されないのか分かりません。私が何かを逃したら私を助けてください。最初のジオメトリにすべてのマテリアルを追加してシーンに追加しましたが、2番目のジオメトリは表示したくありません。ここで少し助けが必要です、ありがとう!Three.jsが複数のジオメトリを追加する

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

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

// Firt geometry with material and added to the scene. 
var geometry = new THREE.BoxGeometry(1, 1, 1); 
var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); 
var cube = new THREE.Mesh(geometry, material); 
scene.add(cube); 

// Seconde geometry with material and added to the scene as well. 
var mysphere = new THREE.SphereGeometry(5, 32, 32); 
var color = new THREE.Color('#ee7800'); 
var hex = color.getHex; 
var sphereMaterial = new THREE.MeshLambertMaterial({ color: hex }); 
var sphere = new THREE.Mesh(mysphere, sphereMaterial); 
sphere.position.y = 10; 
scene.add(sphere); 

// Better camera position 
camera.position.z = 5; 


// Render all and move the cube 
function render() { 
    requestAnimationFrame(render); 

    cube.rotation.x += 0.03; 
    cube.rotation.y += 0.01; 

    renderer.render(scene, camera); 
}; 

render(); 

答えて

1

コンソールログにエラーメッセージがありますか?

var hex = color.getHex(); 

として、getHex()がメソッドです。色の

また、なぜ

var sphereMaterial = new THREE.MeshLambertMaterial({ color: 0xee7800}); 

そしてconstuctor奇妙に見えます。それは次のようにすべきである:

var color = new THREE.Color(0xee7800); 
1

あなたはY = 10に位置する球体が、カメラをy = 0に配置された、意味、Z = 5、それはポイント・オブ・ビューの下にわずかです球。すなわち、球はオフスクリーンである。球を視野に入れるには、camera.position.z = 30を設定してみてください。

関連する問題