- В этой теме 7 ответов, 2 участника, последнее обновление 3 дня, 6 часов назад сделано
kdv.
-
АвторСообщения
-
20 мая, 2023 в 01:30 #18960
iceberg
УчастникВсем привет
в vr не получается отключить тени для конкретного объекта. У меня это крыша, вся в полигонах, их много (разные пробовал) иначе клиенту не заходит. Бампом черепицу не вытащить, дисплейсмент тоже не работает, надо получить объемную крышу – качественную.
Как только ставлю свет – окулус разрывает на части от тормозов и мерцаний
Что только не перепробовал. и в свойствах объекта отключать cast shadow, и receive shadows, и рефракшн и рефлекшн, и в свойствах освещения в исключения добавлял крышу несчастную – бесполезно. В браузере все летает – окулус рассыпается
Есть может какое то еще решение?
Как только выключаю освещение, или убираю галку shadows on – проблемы исчезают.
Но без теней же это все не тоВложения:
Вы должны войти для просмотра вложений.20 мая, 2023 в 08:59 #18962kdv
УчастникКаждый источник освещения, отбрасывающий тени, увеличивает исходное количество полигонов и render calls вдвое. Проведи эксперимент: отключи тени и продублируй ВСЮ геометрию в сцене и посмотри, как будут работать очки. Если так же, значит они просто не вывозят рендеринг такого количества полигонов.
21 мая, 2023 в 09:00 #18965kdv
Участникколичество полигонов на крыше можно значительно уменьшить, если убрать лишние грани…
23 мая, 2023 в 00:05 #18980iceberg
УчастникЕще две крыши сделал рядом такие же.
Тормозит, но не так люто как с тенями. Можно ходить даже))
С тенями даже из виар режима толком не дает выйти) жесть творится, все мерцает.
Ладно, просто отключу тени при входи в виар.23 мая, 2023 в 10:09 #18981kdv
Участниккроме крыши там другой high-poly геометрии, отбрасывающей тени, нет что ли? сколько источников света? у всех включены тени? и крышу надо обязательно оптимизнуть, убрав лишние полигоны…
23 мая, 2023 в 12:12 #18983iceberg
УчастникОдин источник света сверху.
Другой сложной геометрии нет. Если убрать крышу – тени в очках ок – тормозов нет.
В виар тени не отключаются у конкретных объектов (либо все отключать либо все включать) поэтому, они включены везде по умолчанию.
Сегодня попробую полностью дом скопировать с крышей, поставить рядышком, и запустить без теней.-
Ответ изменён 1 неделя, 6 дней назад пользователем
iceberg.
23 мая, 2023 в 13:35 #18985kdv
Участникможно схитрить. крыша сама по себе, каждый ее скат, дает сплошную четырехугольную тень. создай два ската из двух плоскостей с прозрачным материалом. выставь прозрачность в 0, а тень Opaque. у материала крышы тень поставь None. как итог, тень будут отбрасывать фиктивные плоские прозрачные скаты крышы, а не сама крыша.
3 июня, 2023 в 03:20 #19079kdv
УчастникМожно еще схитрить и отключить автообновление теней (по умолчанию они обновляются каждый кадр). Это позволит довольно существенно снизить нагрузку на GPU/CPU. Годится, если тени в сцене статичные и не меняются (объекты не двигаются, двери-окна при открывании не отбрасывают дополнительные тени). Добавь где-нить в конце паззлов такой код
app.renderer.shadowMap.autoUpdate = false; app.renderer.shadowMap.needsUpdate = true;
Если надо обновить тени (при добавлении или удалении объекта, например), то после его добавления/удаления нужно добавить такой код:
app.renderer.shadowMap.needsUpdate = true;
Бонусом, скорость отрисовки сцены не будет зависеть от разрешения Shadow Map, т.к. карта теней создается только один раз и в дальнейшем не перерисовывается. Можно выбрать разрешение побольше для более четких теней.
Если есть движущиеся объекты, отбрасывающие тени, то способ не особо годится…
-
Ответ изменён 1 неделя, 6 дней назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.