2015-03-12 2 views
0

У меня возникла проблема с отображением кубов с использованием CanvasRenderer, зависит от положения камеры, какие-либо кубы потеряли одни и те же части, и показать часть лица другого куба, как показано ниже:Three.js - Проблема для рендеринга объектов с использованием CanvasRenderer

в этом примере есть два куба, когда камера спереди есть не проблема:

enter image description here

Но, когда я изменяю де камеры:

enter image description here

Оказывать Я использую массив материалов, это один из:

new THREE.MeshLambertMaterial({ color: 0x006600, ambient: 0xffff00, side: THREE.DoubleSide, overdraw: 0.5 }), 

ответ

1

То, что вы видите, это артефакт CanvasRenderer. Лучшее, что вы можете сделать, это тесселяция вашей геометрии. Например,

var geometry = new THREE.BoxGeometry(100, 100, 100, 4, 4, 4); 

Или еще лучше, переключитесь на WebGLRenderer.

Three.js R.70

+0

Tessellate это хороший способ, но не работает в этом случае, так как одна из лица является прозрачной. WebGLRenderer отлично работает! –

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