Я объединяю несколько кубов в разные формы блоков с помощью three.js
, используя THREE.GeometryUtils.merge
. Я хочу, чтобы эти блочные формы прозрачны, но когда он прозрачен вы можете увидеть, что это несколько кубов слипшихся, как это:Three.js, удаляющий внутренние грани
Как сделать мои слившиеся кубики прозрачными без рендеринга внутренних краев? (Как я удалить внутренние поверхности?)
Моего кода, который сливает кубы:
geometry = new THREE.CubeGeometry(STEP_SIZE, STEP_SIZE, STEP_SIZE);
for (i = 0; i < shape.length; i++) {
tmpGeometry = new THREE.Mesh(new THREE.CubeGeometry(STEP_SIZE, STEP_SIZE, STEP_SIZE));
tmpGeometry.position.x = STEP_SIZE * shape[i].x;
tmpGeometry.position.y = STEP_SIZE * shape[i].y;
THREE.GeometryUtils.merge(geometry, tmpGeometry);
}
block = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial({ color: 0x0000ff, opacity: 0.5, transparent: true }));
Альтернативный подход здесь: http://stackoverflow.com/questions/23373816/remove-adjoining-faces-in-three-js/23376297#23376297 – majman