История создания зимней локации

Проекты в стадии разработки.

Re: История создания зимней локации

Сообщение PREZRAK 30 дек 2015, 22:37

Не, я серьёзно. Надо поменять костёр на настоящий. Тогда можно будет пойти дальше - ближняя граница льда как-то не смотрится. В природе просвечиваться должно - а у Вас нет такого, получается просто: толсто - тонко. Вы думали над этим? Потому как навряд ли что-то придумается - если только снегом припорошить. Всё остальное более-менее нормально (хотя персонаж глаза мозолит). O:-)
участник клуба GCC
Аватара пользователя
PREZRAK
Старожил
 
Сообщения: 653
Зарегистрирован: 30 май 2013, 12:41
  • Сайт

Re: История создания зимней локации

Сообщение i_am_kisly 31 дек 2015, 21:20

(3A4OT) (3A4OT)
Текущие проекты: [Lineage2 unity5][_blog non6.blogspot.ru ]
i_am_kisly
Старожил
 
Сообщения: 742
Зарегистрирован: 10 фев 2015, 17:26
  • Сайт

Re: История создания зимней локации

Сообщение Syberex 01 янв 2016, 03:53

(3A4OT)
И плевать на все эти мелкие огрехи ;)
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: История создания зимней локации

Сообщение Receptor 08 янв 2016, 03:23

У меня к Вам вопрос, товарищ Волк. Не сочтите за наглость, просто интересно. А почему у вас в таком серьезном проекте используется стандартный бленд текстур на терреине? Выглядит очень нереалистично. Да и параллах оклюшн можно было бы добавить. Могу помочь в этом вопросе :)

Как раз щас занимаюсь этим.

Скрытый текст:
Изображение
Изображение
Последний раз редактировалось Receptor 08 янв 2016, 03:55, всего редактировалось 1 раз.
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: История создания зимней локации

Сообщение Receptor 08 янв 2016, 03:46

ПС С POM пока что не совладал до конца, не знаю как убрать артефакты на дистанции и жрет прилично, надо оптимизацию сочинять. Пытался подглядеть как в RTP сделан, но там черт ногу сломит в цурцах :D
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: История создания зимней локации

Сообщение waruiyume 08 янв 2016, 03:56

Осмелюсь предположить, что ЦА которая плачет из-за сильно ревущего вентилятора видеокарты, совершенно не оценит дико жручию технику, которая хорошо видна только на определённых видах текстур, а упрощённая- выглядит как УГ.
Понять по статичным картинкам крупного плана, о том, что используется продвинутый параллакс, а не просто нормал мап, практически невозможно ;)
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: История создания зимней локации

Сообщение Receptor 08 янв 2016, 05:56

Ну параллакс можно сделать красивше и оптимизированне по желанию. Главное что б руки оттуда росли :) Я вот последнее время и думаю нужен ли он.

Но вот смешевание текстур - другая песня.

Принцип такой:
Синтаксис:
Используется csharp
// распаковываем текстуры
float4 t0 = tex2D(_Splat0, IN.uv_Splat0);
float4 t1 = tex2D(_Splat1, IN.uv_Splat1);
float4 t2 = tex2D(_Splat2, IN.uv_Splat2);
float4 t3 = tex2D(_Splat3, IN.uv_Splat3);

// создаем маски для интерполяции, учитывая альфу текстур, содержащие карту высот. _BlendSoftnes по умолчанию у меня 0.2 - это параметр "мягкости" смешивания
half l0  = smoothstep(splat_control.r * t0.a, (splat_control.r * t0.a) + _BlendSoftness, splat_control.g * t1.a);
half l1 = smoothstep(splat_control.g * t1.a, (splat_control.g * t1.a) + _BlendSoftnes, splat_control.b * t2.a);
half l2 = smoothstep(splat_control.b * t2.a, (splat_control.b * t2.a) + _BlendSoftnes, splat_control.a * t3.a);

// интерполируем по полученным маскам
mixedDiffuse = lerp(t0, t1, l0);
mixedDiffuse = lerp(mixedDiffuse , t2, l1);
mixedDiffuse = lerp(mixedDiffuse , t3, l2);
 


Проблема: бленд между пассами остается прежним. Еще думаю, как грамотно можно это решить. Если есть идеи, буду рад.

Возможно мой метод не совсем логичен, но работает хорошо. И выглядит всяко лучше стандартного бленда :D

В случае со снежком, это может выглядеть вот так (на скорую руку):
Изображение
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: История создания зимней локации

Сообщение PREZRAK 14 фев 2016, 16:20

Receptor, как Вы, продвинулись в своём вопросе?
Woolf, можно у Вас поинтересоваться в этой теме насчёт смежной снежной темы? Меня интересует [реалтайм] генерация льда. Какими способами это можно осуществить? Встречал ли кто примеры/статьи/проекты?
участник клуба GCC
Аватара пользователя
PREZRAK
Старожил
 
Сообщения: 653
Зарегистрирован: 30 май 2013, 12:41
  • Сайт

Re: История создания зимней локации

Сообщение Woolf 14 фев 2016, 16:33

PREZRAK писал(а):Receptor, как Вы, продвинулись в своём вопросе?
Woolf, можно у Вас поинтересоваться в этой теме насчёт смежной снежной темы? Меня интересует [реалтайм] генерация льда. Какими способами это можно осуществить? Встречал ли кто примеры/статьи/проекты?


А точно, я и забыл )) Локация была успешно включена в игру на новогодние праздники и народу понравилась ))
По поводу генерации льда - что именно имеется в виду? Я знаю, есть шейдеры для генерации снега, например, вот:
https://www.assetstore.unity3d.com/en/#!/content/1047
и вот
https://www.assetstore.unity3d.com/en/#!/content/4144

Но честно скажу, я не пробовал.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: История создания зимней локации

Сообщение PREZRAK 14 фев 2016, 19:59

Спасибо, но нет, имелось ввиду - генерация льда на воде. С края террейна или объекта - плато такое над водой. Такое я встретил в Assasin Screed: Rogue, может быть, это есть в скайриме.
Изображение
Может, это делается с помощью маски, но это тогда лишь первый этап.
участник клуба GCC
Аватара пользователя
PREZRAK
Старожил
 
Сообщения: 653
Зарегистрирован: 30 май 2013, 12:41
  • Сайт

Re: История создания зимней локации

Сообщение Woolf 14 фев 2016, 20:20

А.. Не, ничего я не решил. Ручками все делал.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: История создания зимней локации

Сообщение PREZRAK 14 фев 2016, 22:07

Понятно. Качество!
А технологий таких не знаете?
участник клуба GCC
Аватара пользователя
PREZRAK
Старожил
 
Сообщения: 653
Зарегистрирован: 30 май 2013, 12:41
  • Сайт

Re: История создания зимней локации

Сообщение Diab10 15 фев 2016, 09:33

PREZRAK писал(а):Понятно. Качество!
А технологий таких не знаете?


Какие технологии? Обычная динамическая генерация мешей. Нужно садиться и потихоньку начинать писать, что ещё тут обсуждать :)
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: История создания зимней локации

Сообщение Woolf 15 фев 2016, 14:46

У меня к Вам вопрос, товарищ Волк. Не сочтите за наглость, просто интересно. А почему у вас в таком серьезном проекте используется стандартный бленд текстур на терреине?

Потому, что я не нашел хороших готовых материалов для терейна, которые бы держали PBR и делали нормальный сплаттинг, а самому их писать - это время. Если у вас есть готовые решения, с радостью приму.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: История создания зимней локации

Сообщение Receptor 17 фев 2016, 00:49

PREZRAK писал(а):Receptor, как Вы, продвинулись в своём вопросе?


Сейчас закончил с процедурным покрытием снега. То есть рисование снега идет не сплэт картой, а считается в шейдере, моделируя покрытие снега так, как оно должно по идее лежать в жизни. То есть сверху на объектах есть, снизу соответственно нет. Работает уже по бородатому принципу обсчета нормалей объекта (в т.ч. учитывается распакованная карта нормалей, тобишь текстура). Сделал доп текстуру с одним каналом, которая служит маской для снега, то есть где-то его можно убрать, где-то оставить. Получается, что я все так же на терреине рисую сплэт картой, а сверху кидаю снег процедурно. Камни кст тож процедурно рисуются (трипланарным методом). В планах сделать деформацию снега под объектами с ипользованием тесселяции. Так же хочу сделать ледянные места (обмороженные) и разнообразить текстуру нормали снега. Еще хочуд обавить мерцание снега (glittering), и для полного счастья подповерхностное рассеивание (scatering) :) Короч дел се кучу придумал!

Да. Еще. Что бы повысить производительность шейдера использую распаковку текстур экономно. Вместо одной текстуры нормали я паспаковываю сразу 2. Проще говоря, в текстуре у меня хранится сразу две карты нормалей (1 - RG, 2 - BA). Что вместо:
Синтаксис:
Используется csharp
bump0 = tex2d();
bump1 = tex2d();
 

позволяет сделать
Синтаксис:
Используется csharp
bumps = tex2d();
bump0 = bumps.rg;
bump1 = bumps.ba;
 

При таком подходе надо корректно настраивать импорт текстуры. Тип NormalMap не подойдет - Юнити просто вырезает у вас два канала (проверьте, если хотите). По этому нужно ставить тип импорта Advanced, и прежде всего включить sRGB сэмплинг (т.к. нормалка не имеет цвета).

Тоже самое для снего, я не использую текстуру вообще. Альбедо снега по сути это = float4(1,1,1,1), тобишь белая заливка. Для снега распаковываю только нормаль, опять же две, одну для мелкого шума, другую для более крупного рельефа, но этот момент я еще буду дорабатывать.


Изображение
Изображение
Изображение

Примитивная реализация "глубины" снега. Сдвиг вершин по направлению нормали.
Изображение
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Пред.След.

Вернуться в Кузня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4