From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.


Карты окружения

Режим: Все режимы

Панель: Shading/Texture Context → Envmap

Горячая клавиша: F6

Описание

"Карты окружения" это изображения 3D сцены в виде текстуры, применяемые для имитации отражения на объектах. Если вы хотите достигнуть реалистичных отражений, то метод трассировки лучей - это конечно же лучший способ для получения качественных отражений. "Карты окружения" - это всего лишь способ имитации метода трассировки отражений (хотя и позволяющий достичь во некоторых случаях схожего результата).

Так почему же следует использовать "Карты окружения"? Основная причина - это более быстрый результат, по сравнению с методом трассировки. В некоторых ситуациях их можно расчитать только один раз и потом использовать как обычные текстуры многократно. Вы даже можете отредактировать расчитанную "карту окружения" в любом графическом редакторе. К "карте окружения" также можно применить размытие, что метода трассировки лучей неприменимо.

Каким способом мы можем рендерить луч попадающий в объектив камеры, таким же образом мы также можем и рендерить луч который падает и на поверхность объекта. И в конечном итоге свет от поверхности объекта трассируется в объектив камеры. "Карты окружения" в Blender создаются в виде кубической текстуры в 6 разных направления относительно любой заданной точки. Когда "карта окружения" применяется в виде текстуры для объекта с использованием Refl канала, то создает визуальный эффект того, что объект отражает окружение.

Note

Необходимо запомнить, что целью данного способа является получение "правдоподобных" отражений, а не "точность". Для наблюдателя нет необходимости видеть физически точно рассчитанное отражения на поверхности объекта. В большинстве случаев достаточно лишь видеть правдоподобные отражения обьектов сцены и поэтому в таких случаях "карт окружения" будет показывать свои приемущества.


Настройки

Reflecting plane EnvMap settings.
Important

Для получения корректного результата, "карта окружения" должна быть применена к Refl каналу (Координаты отражения) в Map Input панели Material context.


Ob
Этот параметр задает объект, для которого будет создана "карта окружения" (точнее центр этого объекта задает точку для которой будет создана "карта окружения"). Положение этого объекта будет определять корректность отражения относительно наблюдателя. Так как размеры объекта не важны, то в этом качестве, обычно, используют обьект типа Empty.
  • Для отражений на плоскости объект Ob должен быть расположен в симметричной позиции относительно камеры где плоскость симметрии совпадает с плоскостью отражения, по другую сторону от плоскости (см. примеры). Такое положение объекта позволит создать наиболее точную "карту окружения" для отражающей плоскости.
  • Для отражения на сферическом поверхности, обьект должен быть расположен в центре сферы. Обычно центр сферического объекта совпадает с геометрическим центром сферы. В этом случае нет необходимости создавать дополнительный объект и достаточно ввести имя этого объекта в качестве объекта Ob
  • Для прочих форм объектов нет простого и быстрого правила размещения объекта Ob и вам необходимо поэксперементировать, для того чтобы получить наилучший результат.
Don't render layer
Этот параметр задает, какие слои следует исключить при создании "карты окружения". Так как "карта окружения" создается рендерингом сцены целиком из точки задаваемой обьектом Ob, то вам необходимо исключить саму поверхность для которой создается "карта окружения" (объект на котором будет сформировано отражение создаваемой "картой окружения") в противном случае этот объект загородит объекты сцены который должны будут отражаться в "карте окружения".
Пример. Если вы создаете "карту окружения" для центра сферы, то "карта окружения" должна будет содержать изображения всех объектов окружающих сферу. В таком случае вам необходимо поместить эту сферу на отдельный слой и указать этот слой для исключения из "карты отражения". В результате, "карта окружения" будет содержать все окружающие сферу объекты, а не саму сферу.


CubeRes
Параметр задает разрешение кубической "карты окружения". Более высокое разрешение дает более четкую текстуру и как следствие четкие отражения, но процесс рендеринга происходит медленней.
Filter
Параметр задает величину размытия для текстуры. Большее значение задает большее размытие и приводит к имитации размытых отражений.
Depth
Параметр задает количество итераций для рендеринга "карты окружения". Если несколько объектов отражают друг друга с использованием "карт окружения" то на картах окружения они будут выглядеть не отражающими. Для отражения другого такого объекта с отражениями необходимо совершить несколько итераций, для того чтобы такие объекты отразились корректно. См. примеры.
Clipsta/ClipEnd
Параметр задает границы в пределах которой расчитывается "карта окружения". Все объекты которые находятся ближе или дальше заданных границ не будут видимы на "карте окружения".

Blender поддерживает 3 типа "карт окружения", которые вы можете увидеть в Reflecting plane EnvMap settings.

Static
"Карта окружения" создается только один раз во время анимации или после загрузки файла.
Anim
"Карта окружения" создается каждый раз при рендеринге. Это означает, что движущиеся объекты будут корректно отражаться.
Load
"Карта окружения" считывается с диска. Этот тип карт позволяет ускорить рендеринг, а также позволяет редактировать "карты окружения" с помощью графических редакторов.

При использовании "карт окружения" для плоских объектов, в случае если движется только камера, Ob должен двигаться тоже и вы должны использовать Anim тип "карты окружения". Если же отражающий объект - сфера, то Ob должен быть неподвижен и "карта окружения" должна иметь Static тип, даже в случае если объект сам будет вращаться и не двигаться. Если же сферический объект будет двигаться то нужно применять Anim тип "карты окружения".


Free Data
Удаляет созданную "карту окружения" из памяти. Эту функцию полезно использовать для обновления Static типа "карт окружения", если объекты сцены были изменены после последнего рендера. Anim тип "карт окружения" делает это автоматически при каждом рендере.
Save EnvMap
Сохраняет созданную статическую "карту окружения" на диск в виде изображения. Это изображение может быть считано с диск с помощью кнопки Load.
Free all EnvMaps
Делает тоже самое что и кнопка Free Data, но только со всеми "картами окружения" в сцене. Это полезная кнопка, когда вы используете рекурсивные "карты окружения" (когда параметр Depth больше 0).
Note

Расчет "карт окружения" может быть отключен глобально для всей сцены при помощи кнопки EnvMap в Render Panel панели.


Примеры

В этом примере, Empty объект, используется в качестве параметра Ob для отражающей плоскости с "картой окружения". Он симметрично относительно камеры по другую сторону от отражающей плоскости. Строго говоря, это возможно только для плоскостей. В идеале, положение объекта Empty должно быть точно в точке геометрической симметрии относительно плоскости.

Пример отражающей плоскости. 1: Камера, 2: Empty, 3: Отражающая плоскость.
Отраженная сфера на плоскости.

Следующие изображения показывают эффект от применения параметра Depth. Первое изображение имеет значение параметра Depth равное 0. Это означает что "карта окружения" плоскости была создана до "карты окружения" сферы и это видно в виде не отражающей сферы. При увеличении параметра Depth, "карта окружения" была рендерена рекурсивно и это привело в созданию корректной "карты окружения".

Некорректное отражение отражающей сферы на отражающей плоскости.
Корректное отражение отражающей сферы на отражающей плоскости.

Ограничения

Так как "карты окружения" расчитываются для центра объекта Ob, а не для отражающего объекта, то часто отражения бывают неточными особенно в случаях со сферами. В следующем изображении Прямоугольная призма и маленькая сфера касаются большой отражающей сферы, но из-за того что используется "карты окружения" созданная для центра большой сферы, отраженные объекты выглядят расположенными далеко от отражающей сферы.

Некорректное сферическое отражение, цветные объекты смещены относительно отражающей сферы