Материал отображается неправильно

#three.js

#three.js

Вопрос:

У меня возникла проблема, из-за которой материал отображается неправильно. Я проверил файл MTL, и все выглядит правильно, но по какой-то причине материал кажется перевернутым (я могу видеть его через некоторые части, хотя это должен быть экран). Изначально я думал, что что-то не так с MTL или OBJ, но здесь начинается забавная часть. На 3dviewer.net модель выглядит совершенно идеально (последний снимок экрана). Следовательно, кто-нибудь имеет представление о том, что происходит?

спереди
Вид изнутри
3dviewer

Ответ №1:

По умолчанию, Three.js визуализируется только лицевая сторона граней, поскольку часто нет причин визуализировать внутреннюю часть объектов. Проблема в том, что у экспортированного вами ресурса лицевая сторона экрана направлена внутрь. Есть два способа решения этой проблемы:

  1. Откройте ресурс в 3D-редакторе, измените направление граней, которые направлены внутрь, и выполните повторный экспорт.
  2. Вы могли бы изменить material.side атрибут вашего материала по умолчанию. Мое лучшее предположение заключается в том, что: material.side = THREE.BackSide решило бы вашу проблему, но вы могли бы попробовать другие значения на этой странице документации.

Комментарии:

1. Второй вариант действительно сработал хорошо! Большое вам спасибо! Я немного сходил с ума от этого. Я пока не уверен, как выполнить вариант 1 (поскольку у меня есть только obj mtl), но если у вас есть какое-либо приложение в качестве подсказки, был бы очень признателен. У меня возникла аналогичная проблема с a-frame, поэтому я могу представить, что мне придется найти аналогичное решение…