Мы используем файлы cookie, чтобы упростить навигацию на этом сайте. Если вы даете свое согласие на использование файлов cookie и обработку ваших персональных данных, нажмите «Принимаю».

Тени в 3d max

Домой Форумы 3дс Макс Тени в 3d max

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #18960
    iceberg
    Участник

    Всем привет
    в vr не получается отключить тени для конкретного объекта. У меня это крыша, вся в полигонах, их много (разные пробовал) иначе клиенту не заходит. Бампом черепицу не вытащить, дисплейсмент тоже не работает, надо получить объемную крышу – качественную.
    Как только ставлю свет – окулус разрывает на части от тормозов и мерцаний
    Что только не перепробовал. и в свойствах объекта отключать cast shadow, и receive shadows, и рефракшн и рефлекшн, и в свойствах освещения в исключения добавлял крышу несчастную – бесполезно. В браузере все летает – окулус рассыпается
    Есть может какое то еще решение?
    Как только выключаю освещение, или убираю галку shadows on – проблемы исчезают.
    Но без теней же это все не то

    Вложения:
    Вы должны войти для просмотра вложений.
    #18962
    kdv
    Участник

    Каждый источник освещения, отбрасывающий тени, увеличивает исходное количество полигонов и render calls вдвое. Проведи эксперимент: отключи тени и продублируй ВСЮ геометрию в сцене и посмотри, как будут работать очки. Если так же, значит они просто не вывозят рендеринг такого количества полигонов.

    • Ответ изменён 2 недели, 3 дня назад пользователем kdv.
    • Ответ изменён 2 недели, 3 дня назад пользователем kdv.
    #18965
    kdv
    Участник

    количество полигонов на крыше можно значительно уменьшить, если убрать лишние грани…

    #18980
    iceberg
    Участник

    Еще две крыши сделал рядом такие же.
    Тормозит, но не так люто как с тенями. Можно ходить даже))
    С тенями даже из виар режима толком не дает выйти) жесть творится, все мерцает.
    Ладно, просто отключу тени при входи в виар.

    #18981
    kdv
    Участник

    кроме крыши там другой high-poly геометрии, отбрасывающей тени, нет что ли? сколько источников света? у всех включены тени? и крышу надо обязательно оптимизнуть, убрав лишние полигоны…

    #18983
    iceberg
    Участник

    Один источник света сверху.
    Другой сложной геометрии нет. Если убрать крышу – тени в очках ок – тормозов нет.
    В виар тени не отключаются у конкретных объектов (либо все отключать либо все включать) поэтому, они включены везде по умолчанию.
    Сегодня попробую полностью дом скопировать с крышей, поставить рядышком, и запустить без теней.

    • Ответ изменён 1 неделя, 6 дней назад пользователем iceberg.
    #18985
    kdv
    Участник

    можно схитрить. крыша сама по себе, каждый ее скат, дает сплошную четырехугольную тень. создай два ската из двух плоскостей с прозрачным материалом. выставь прозрачность в 0, а тень Opaque. у материала крышы тень поставь None. как итог, тень будут отбрасывать фиктивные плоские прозрачные скаты крышы, а не сама крыша.

    #19079
    kdv
    Участник

    Можно еще схитрить и отключить автообновление теней (по умолчанию они обновляются каждый кадр). Это позволит довольно существенно снизить нагрузку на GPU/CPU. Годится, если тени в сцене статичные и не меняются (объекты не двигаются, двери-окна при открывании не отбрасывают дополнительные тени). Добавь где-нить в конце паззлов такой код

    app.renderer.shadowMap.autoUpdate = false;
    app.renderer.shadowMap.needsUpdate = true;

    Если надо обновить тени (при добавлении или удалении объекта, например), то после его добавления/удаления нужно добавить такой код:
    app.renderer.shadowMap.needsUpdate = true;

    Бонусом, скорость отрисовки сцены не будет зависеть от разрешения Shadow Map, т.к. карта теней создается только один раз и в дальнейшем не перерисовывается. Можно выбрать разрешение побольше для более четких теней.

    Если есть движущиеся объекты, отбрасывающие тени, то способ не особо годится…

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Для ответа в этой теме необходимо авторизоваться.