Это руководство касается случаев, аналогичных приведенному ниже примеру:
Мы рендерим простой бассейн с водой, отливающей каустикой.
При взгляде сверху каустика "обрезается" вблизи того места, где она выходит за пределы обзора камеры, и видны различные артефакты (нежелательные узоры в форме треугольников).
Это может произойти, если выполнены все следующие условия:
- Автобамп отключен.
- Объект, генерирующий каустику, использует смещение.
- Объект частично находится за пределами текущего вида камеры.
Это происходит потому, что смещение не рассчитывается для объектов, которые находятся за пределами текущего вида камеры, поэтому некоторая видимая часть каустики будет генерироваться из плоской (не смещенной) части геометрии. При включении автобампа, он автоматически применит бамп к этим областям, что решит эту проблему, но если автобамп отключен, место, где смещение "обрезано", будет хорошо видно.
Примечание: автобамп включен по умолчанию для всех новых сцен. Если он отключен, это означает, что либо вы его отключили (возможно, случайно), либо вы редактируете сцену, в которой кто-то другой отключил эту опцию.
Решения:
1. Убедитесь, что автобамп включен. Его можно найти в разделе "Development / Experimental Stuff". Это лучшее и самое надежное решение.
Включение автобампа немедленно устраняет проблему.
2. Если вы хотите, чтобы автобамп был отключен, а каустика генерировалась исключительно за счет смещения (обычно для этого нет причин):
Используйте следующую строковую опцию:
float geometry.displace.maxSizeScreenOutFrustumMultiplier = 1
Внимание: включение смещения для областей за пределами обзора камеры часто может привести к резкому увеличению использования оперативной памяти!
Более подробно ознакомиться со всеми курсами образовательного проекта CGBandit вы можете здесь.
Перевод статьи осуществлен образовательным проектом CGBandit c официального сайта coronarenderer.