- Туториал: Отражение в реальном времене.
- Автор: Hourences
- Орегнал: REAL TIME REFLECTIONS/CAMERAS
- Перевод: FACH
Отражение в реальном времени
________________________________________
Отражения реального времени вполне аппаратные требовательных и, таким образом, не следует ими злоупотреблять. Используйте это мощную функцию, только там, где не нужно вести бой, в относительно малодетализированных районах, например, в небольшой ванной комнате.
Сначала зайдите в Generic браузера и в пакете своей карты кликните ПКМ и выберите New RenderToTexture.
Новое всплывшее окно попросит ввести название и имя пакета. Обратите внимание на высоту (Height) и ширину (Width) варианта внизу. Они позволяют устанавливать размер RenderToTexture. Размер имеет самое непосредственное влияние на производительность. Большой размер явно будет передавать более детальное изображение, но будет затрачивать больше ресурсов компа. Чем больше что-то, тем труднее будет для устройств постоянного процесса. Выбирайте размер мудро.
После того как Вы получили RenderToTexture, оставьте его в покое на время, и перейдите в Actor Classes. Перейдите к SceneCaptureActor и раскройте этот раздел. Выберите SceneCapture2DActor и добавьте актер на уровне в желаемом месте...
Актер будет невидимым, не беспокойтесь об этом. Откройте его свойства (F4 на клавиатуре). Если у Вас возникли проблемы с выбором актера, он же невидим в конце концов, перейти к поиску Актеров в окно, которое Вы можете вызвать, нажав на кнопку с биноклем, который можно найти в верхней панели инструментов и введите имя актера (SceneCapture2DActor). Дважды щелкните по нему в списке результатов, чтобы его выбрать.
В свойствах, раскройте SceneCaptureActor\SceneCapture\Capture, перейдите на свою RenderToTexture, та самая вещь, которую Вы сделали ранее, и выберите ее в Generic’e браузера. Добавьте ее в TextureTarget, используя зеленую стрелку справа.
Другие важные свойства:
bEnableFog: отображать туман или нет
bEnablePostProcess: сохранять «искажения» PostProcessVolume
ClearColor: цвет, используемый в "пустых" районах (используется в сочетании с максимальным / минимальным расстоянием, все что вылезет / влезет, будет использовать этот цвет).
FarPlane: Максимальное расстояние. Далее этого расстояния, актер не сможет видеть.
FieldOfView: "ширина" из камеры.
FrameRate: разрешение экрана. Чем больше число, тем лучше результат, но больше влияния на производительность.
NearPlane: противоположность Farplane, в рамках этого расстояния, актер не видит ничего.
ViewMode: Как захватить сцену, с точки зрения света.
Обязательно установите Farplane больше, чем по умолчанию 500 единиц, или же Вы, скорее всего, увидите слишком мало, и Вам, возможно, потребуется изменить ViewMode на неосвещенный режим (Unlit), если ваша сцена еще не освещена!
SceneCapture2DActor оставьте как есть, и возвращайтесь в Generic Browser. Создайте новый материал. Добавьте свою RenderToTexture, как TextureSample в редакторе материалов.
Теперь, примените материал к мешу или поверхности!
Если Вы хотите, чтобы можно было увидеть камеру, как на моем скриншоте, зайдите в меню просмотра (Toggle Show Flags (стрелка вниз в каждой верхней панели инструментов окна проекций)), и поставьте галку напротив Camera Frustums.
Прочтите туториал по материалам, дабы научиться добавлять различные эффекты к RenderToTexture, такие, как искажение или волновой эффект, который Вы часто видели на старом телевизоре.
Также можно поставить SceneCaptureReflectActor, который мало чем отличается от ScenCapture2DActor.SceneCaptureCubeMapActor, фиксирует все на 360 градусов