2013-04-29 3 views
1

Я обновляю свое приложение от three.js -r51 до -r57 (я начал работу до того, как был выпущен -r58). Когда я сделал, я заметил, что любой из моих 3D моделей COLLADA, которые не имеют в них такую ​​строку:В трёх.js r57 объекты, которые не являются двусторонними, не отображаются

<extra><technique><double_sided>1</double_sided></technique></extra> 

не вынести.

Похоже, что полигоны отбираются. Если я нажму _gl.disable(_gl.CULL_FACE);, то моя модель появится, как и ожидалось. Но зачем все это время отбирать все мои лица? (даже если у меня был порядок намотки назад, я должен увидеть другую сторону объекта, верно?)

+0

Модель, которая поставляется с моделями three.js \ collada \ monster \ monster.dae, имеет 0 и делает отлично, поэтому вы должны делать что-то еще в своем приложении. – gaitat

+0

Хм ... совершенно верно. И похоже, что мои односторонние модели все еще отображаются в примере ColladaLoader. Итак, я должен делать то, что не было проблемой в r51, но находится в r57. Это вызывает какие-либо идеи @gaitat (или кто-нибудь в этом отношении)? – Eric

ответ

0

Оказывается, мой параметр setFaceCulling был неправильным. Я проходил false вместо режима отбраковки.

С внедрением r51 false произошло, чтобы отключить все отбраковывание.

С внедрением r57 он сбрасывал меня в новое поведение по умолчанию ... которое позволяет отбросить и установить его, чтобы отбросить переднюю и заднюю поверхности.

Итак, я смог исправить это ... но я не уверен, что сделал бы это поведение по умолчанию. ; o)

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