Шейдеры ThreeJS в Unity

Я работаю над проектом в Unity, который использует AR для размещения продуктов в реальном мире. Эти продукты (геометрия и материалы) загружаются с http-сервера и преобразуются в игровой объект в Unity.

Эти продукты изначально созданы в ThreeJS (не спрашивайте почему) и имеют другую геометрию / структуру материала по сравнению с геометрией / материалами Unity.

У меня работает геометрия, но у меня проблемы с материалами. " Стандартный" шейдер в Unity не содержит всех параметров для создания материала (таких как: альфа-карта, карта окружающей среды, преломление, карта смещения, карта шероховатости, двойная сторона и т. Д.).

Я просматривал различные плагины / библиотеки в Asset Store/GitHub (например, LUX, Bit2Good, Shader Sandwich или Simple Physical Shader), но кажется, что все они также пропускают некоторые параметры. Я подумываю написать шейдер Phong/Physical самостоятельно, но это определенно заняло бы у меня несколько недель.

Ребята, у вас есть предложения?

1 ответ

В стандартном шейдере нет альфа-карты - альфа-канал основной текстуры используется в качестве альфа-карты.

Также нет карты окружения - используйте Cube Maps в качестве зондов отражения.

В стандартном шейдере преломления нет - это стандартный шейдер.

Карта смещения в стандартном шейдере называется картой высот.

Карта шероховатости - не стандартная (самое близкое, что вы можете получить, это инвертировать ее и использовать в качестве карты окклюзии).

Двухсторонний - Нет.

Вам нужно будет написать свой собственный шейдер для всего этого.

Предложение это:

Шаг 1. Найдите шейдер для каждого из этих свойств.

Шаг 2. объединить их, скопировав соответствующий код

Другие вопросы по тегам