2016-02-26 2 views
0

Я создал очень простой куб, используя Three.js и Physijs. Я сопоставляю текстуру с прозрачностью, и мне хотелось бы увидеть текстуру на другой стороне куба через прозрачность. Прямо сейчас, я вижу фон через прозрачность, но не текстуру на обратной стороне куба.См. Обратную сторону сопоставленного материала с Three.js и Physijs

var cube = new Physijs.BoxMesh( 
    new THREE.BoxGeometry(2, 2, 2), 
    new THREE.MeshPhongMaterial({ map: THREE.ImageUtils.loadTexture('border.png') }), 
    1); 

текстура используется:

enter image description here

Результат:

enter image description here

Как вы можете видеть, фон показывает через куб, но не текстуры на задние лица. Я предполагаю, что обратная сторона 2d-текстуры не видна, но в любом случае мне нужно применить текстуру к обеим сторонам каждого лица?

Это мой первый идти с Threejs, и выглядит очень много, чтобы принять, так что я надеюсь, что я не пропустил что-то очевидное :)

ответ

1

Значение по side к THREE.DoubleSide может ли это для вас:

var material = new THREE.MeshPhongMaterial({ 
    map: new THREE.TextureLoader().load("image.png"), 
    transparent: true, 
    side: THREE.DoubleSide // apply to both sides of the faces 
}); 

Но иллюзия не является совершенным, как вы можете увидеть здесь:

enter image description here

+0

Это именно то, что я искал, благодаря! Я возился с параметром «side», но не думал, что мне нужно установить «прозрачность», потому что я уже мог видеть карту на заднем плане :) – shauno

Смежные вопросы