Подтвердить что ты не робот

Three.js: плоскость видна только в половине случаев

Я создал плоскость, которую я вращаю, используя Three.js. По какой-то причине самолет не показывает половину времени. Я создал скрипку здесь, показывая поведение.

4b9b3361

Ответ 1

Обратите внимание, что это немного изменилось в версии 3. Оказание обеих сторон плоскости может быть достигнуто с помощью свойства side на Материале, то есть

plane.material.side = THREE.DoubleSide;

Посмотрите здесь для более подробной информации.

Ответ 2

Это не видно, потому что задняя поверхность плоскости не получается визуализироваться (или, лучше сказать, плоскость не имеет backfaces по умолчанию). На боковой ноте посмотрите backface-culling. Хотя это не проблема в этом случае, это может дать вам небольшую информацию об рендеринге).

Three.js действительно дает вам очень простой способ визуализации обратных поверхностей.

В Three.js - r49 и ниже:

Все, что вам нужно сделать, это установить для свойства doubleSided - объекта plane-Object значение true.

plane.doubleSided = true;

Для более новых версий - r50 и

В новых версиях, поскольку DonnyB уже правильно указал в своем ответе, свойство было перемещено из объекта Object3D - в объект Material -, поэтому вам нужно будет установить его немного по-другому, например:

plane.material.side = THREE.DoubleSide;

Также отредактировал ваш скрипт, чтобы показать вам: http://jsfiddle.net/VsWb9/1084/

используется версия Three.js, но чем r50, свойство устанавливается в строке 35