2017-03-16 15 views
0

単純な平面と単純なキューブを表示したいが、平面がキューブを隠している。キューブはカメラと平面の間にある平面は立方体を「隠す」。 image単純なメッシュを表示したいときにThree.jsが単純なキューブを表示しない

、ここで平面を追加して、それは次のとおりです:

これは私のシーンは飛行機なしで image

私は、彼らは、キューブを示したことにする必要がある場所にいるかなり確信しています。

var scene = new THREE.Scene(), 
    camera = new THREE.PerspectiveCamera(45,Window.innerWidth,window.innerHeight,0.1,1000), 
    renderer = new THREE.WebGLRenderer({ antialias: true }); 

renderer.shadowMapEnabled = true; 
renderer.shadowMapSoft = true; 

var axes = new THREE.AxisHelper(20); 
scene.add(axes); 

var cubeGeometry = new THREE.CubeGeometry(4,4,4); 
var cubeMaterial = new THREE.MeshBasicMaterial({color:0x777777}); 
var cube = new THREE.Mesh(cubeGeometry,cubeMaterial); 
//cube.castShadow = true; 
cube.position.x = 0; 
cube.position.y = 10; 
cube.position.z = 5; 
scene.add(cube); 



var planeGeometry = new THREE.PlaneGeometry(60,20); 
var planeMaterial = new THREE.MeshBasicMaterial({color: 0x55cc88}); 
var plane = new THREE.Mesh(planeGeometry,planeMaterial); 
plane.rotation.x = -0.5*Math.PI; 
plane.position.x = 15; 
plane.position.y = 0; 
plane.position.z = 0; 
//scene.add(plane); 
//plane.receiveShadow = true; 



camera.position.x = -30; 
camera.position.y = 40; 
camera.position.z = 30; 
camera.lookAt(scene.position); 

var spotLight = new THREE.SpotLight(0xffffff); 
spotLight.position.set(-40,60,-10); 
scene.add(spotLight); 


//renderer.setClearColor(0xEEEEEE,1); 
renderer.setSize(window.innerWidth,window.innerHeight); 


renderer.render(scene,camera); 


$("#WebGl-salida").append(renderer.domElement); 

答えて

0

ご注意メソッドのパラメータのオブジェクトの名前と順序と正確に:ここで

は私のコードです

camera = new THREE.PerspectiveCamera(45,window.innerWidth/window.innerHeight,0.1,1000) 

jsfiddle

camera = new THREE.PerspectiveCamera(45,Window.innerWidth,window.innerHeight,0.1,1000) 

は次のようにする必要があります例

0

多くの感謝!答えとそれをもっと理解できるように編集するための提案の両方(私の英語は改善しなければなりません)今は完璧に動作しています。

関連する問題