Главная » Статьи » Прочее » PainEditor |
3DS Max и PainEditor - Создание воды для Painkiller | |
Источник: Форум "Беседы у Камина" Статья описывает создание воды при помощи Maya, но принцип работы в 3DS Max такой же. К тому же больше придётся работать в эдиторе, а не 3D моделлере. Обязательно Называем нашу воду Water , Главное Water но если нужно много плоскостей воды можно назвать по любому как вам нужно, но Главное чтобы Water было в названии (например Water_REka). Экспортируем карту в Движек, видим примерно такое: Трудно работать с таким примером, Добавим нашу воду в Сцену... ... и сразу же Прикрепим к материалу назначенным на плоскость воды Ambient Color для карты Света которая будет на нашей воде. Отправляем в Движек , видим: видим что вода гнется, это идет волна, она идет от Вертекса к вертексу , поэтому нам нужно увеличить разбиение воды примерно так Примечание: В максе так можно сделать, назначив воде модификатор Editable Poly и в настройках модификатора пару раз кликнув на "Tesselate". Отправляем в Движек теперь мы видим бегущие волны, но они слишком глубокие, и проваливаются под землю. Чтобы это исправить, заходим с настройки текущего Clevel , ищем строку Water , и настраиваем волны, для Этого уходим в самый низ настроек воды, где начинается Wave. WaveAmplitude - Амплитуда между волнами WaveFrequency - Частота Волн WaveSpeed - Скорость волн Показатели настраиваем как нужно именно вам Теперь займемся необходимыми настройками плоскости воды в движке. Для этого Выбираем наш объект в Entities , и в его настройках Properties во вкладке NormalMap выбираем небходимую текстуру Нормалей волн шейдра воды (Примичание: необходима RG нормалмап) А также еще во строке CubeMap Выбираем текстуру для отражению по кубической схеме. подкрутим настройки воды в Clevel Properties Water , и тогда мы увидим не только ЛАйтмап , но и нормали волн после покруток Нормали будут видны Если рябь оказалось слишком мелкой, то исправляется это в 3D моделлере уменьшением/увеличением первой UV развёртки просто уменьшаем УВ развертку, тогда рябь от Нормалмапа назначенного на воду станет меньше, выбранный NormalMap опирается на ПЕРВЫЙ (главный) UVset Переотправляем в Движек видим Рябь стала больше. Теперь займемся Визуальной настойкой воды, Например Заменим CubeMap Для этого Выбираем наш объект в Entities , и в его настройках Properties в Строке Cubemap выбираем другую текстуру Или лучше делаем свой Кубемап, и назначаем именно его. Настраивйте как вам нужно , опишу только коротко настройки BumpHight - Сила Назначенного NormalMap воды DeepWaterColor - Цвет Глубины Воды ShallowWaterColor - Цвет Воды на мели ReflectionAmount - Колиество Отражений (CubeMap для воды низкого уровня) Pan - Движение NormalMap FresnelBias и FresnelExponent - Пробуйте эти настройки и смотрите что получается дословный перевод не поможет, на практике бкдет яснее Следующим шагом будем учиться Делать воду "Высокого" Уровня WaterSetting - High в дополнительных настройках Видео Для этого создаем CEnvironment И помещаем всю нашу воду в этот Объект (точнее этой областью накрываем нашуводу) Далее идем в Entities , и в его настройках Properties во вкладке DefaultMaterial пишем Water_ntu_rr или Water_ntu_refl , это 2 основных материала воды высокого уровня. *_rr - Reflection Refraction - С отражениями и искожающей прозрачностью *_refl - Reflection - только с прозрачностью. и видим что вода изменилась, но отражений нет в Эдиторе (хотя есть в Игре Gamemode) Чтобы иметь Првельные отражения, нужно прозонировать карту, Делается это в графическом редакторе. достаточно просто одной Zone Переотправляем в движек Отражения появились, теперь идем в настройки Properties нашего CEnvironment ответственного за воду, и именно в его Water Строке настроек, приступаем почти к тому же что мы делали с Clevel Properties Water. Но настроек тут будет уже больше. Используем настройки "как надо", некоторые пункты мы знаем уже из настроек всего уровня, рассмотри новые. Pan2 - тоже что и Pan1 но вода высокого уровня способна поддерживать 2 слоя карты нормалей для ряби волн. PlaneShift - Изменение плоскости воды (зависимость с углом прозрачности) ReflectDist - Дистанция отражающей способности ReflectList - Выбираются Мэши для отражений (принудительно) ReflectRadius - Растояние Отраженного пространства ReflectScale - размер отражений (их сила) ReflectSky - отображать Небо - ДА НЕТ ReflectionAmount - количество отражений RefractScale сила Искожения Tile 1/2 Расмер NormalMap (ряби нашей воды) настраивается именно тут! а не в графичском Редакторе через УВсет как с водой низкого уровня. Ну вот и ВСЁ! Теперь мы имеем Воду с полным Динамическим отражением да еще и прозрачностью!!! | |
Просмотров: 3187 | Комментарии: 1 | Рейтинг: 5.0/3 |
Всего комментариев: 1 | ||
| ||