2012-04-23 3 views
5

반투명 한 png 텍스처를 사용하는 메쉬 개체가 있습니다.three.js에 대한 뒷면 가시성이 있습니까?

MeshBasicMaterial에 대해 오브젝트 뒷면이 정면에서 볼 수 있도록 플래그 또는 옵션이 있습니까? 여기

은 몇 가지 예제 코드입니다 :

var texture = THREE.ImageUtils.loadTexture('world.png'); 

// create the sphere's material 
var sphereMaterial = new THREE.MeshBasicMaterial({ 
    map: texture, 
    transparent: true, 
    blending: THREE.AdditiveAlpha 
}); 

sphereMaterial.depthTest = false; 

// set up the sphere vars 
var radius = 50, segments = 20, rings = 20; 

// create a new mesh with sphere geometry - 
var sphere = new THREE.SceneUtils.createMultiMaterialObject(
    new THREE.SphereGeometry(radius, segments, rings),[ 
    sphereMaterial, 
    new THREE.MeshBasicMaterial({ 
     color: 0xa7f1ff, 
     opacity: 0.6, 
     wireframe: true 
     }) 
    ]); 

이 정확하게 구를 렌더링하지만 다시는 보이지 않는 남아있다.

sphere.doubleSided = true; 

답변

20

이 작업을 수행하는 새로운 방법 materialside 속성을 사용하는 것입니다 :

7

이면에는 속성은 메쉬 자체에 설정되어 있습니다.

예 :

new THREE.MeshPhongMaterial({ map: texture, side: THREE.BackSide }) 

가능한 값 THREE.FrontSide, THREE.BackSideTHREE.DoubleSide이다.

참조 : https://github.com/mrdoob/three.js/wiki/Migration