415

Рендеринг травы в Unity

Основан на методе описанном тут: https://gist.github.com/sebbbi/a599d7896aa3ad36642145d54459f...


Основная скорость достигается за счет минимизации чтений из памяти в угоду расчету всего что возможно напрямую в шейдере.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

31
Автор поста оценил этот комментарий

Збс из ниоткуда появляются новые травинки на периферии.

раскрыть ветку (1)
25
Автор поста оценил этот комментарий

Приходится чем то жертвовать всеравно к сожалению. Частично проблема в не до конца реализованном механизме occlusion culling-а. Видно например мерцание травы вдалеке, тоже из за него. Над ним еще работаю. И частично от того что куллятся травинки по группам (по 9 травинок в группе), просто убирая целую группу из рендеринга, что бросается в глаза. По сути можно плавнее сделать, либо уменьшая плавно размер, либо куллить травинки внутри группы, тогда должно быть не так заметно. Но факт остается фактом, миллионы травинок за раз рендерить с интерактивным фреймрейтом не получится. Особенно на бюджетных картах как у меня.

показать ответы
18
Автор поста оценил этот комментарий

трава выглядит и движется как водоросли под водой. Неестественно выглядит.

раскрыть ветку (1)
15
Автор поста оценил этот комментарий

Симуляция ветра очень простенькая пока. Нету высокочастотных колебаний, просто 3 синуса, отсюда и складывается ощущение "подводности"

показать ответы
2
Автор поста оценил этот комментарий

Ты это сам что ли всё сделал?

раскрыть ветку (1)
11
Автор поста оценил этот комментарий

Разумеется. Весь код\шейдеры\текстуры свои, за исключением:

деревьев - https://assetstore.unity.com/packages/3d/vegetation/speedtre...

и камней - https://assetstore.unity.com/packages/3d/props/exterior/hq-b...

показать ответы
Автор поста оценил этот комментарий

Небось это все на RTX2080 ?

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

1050 TI

показать ответы
0
Автор поста оценил этот комментарий
любая бюджетная видео карта и проц сойдут

Radeon HD 4650 и i5-2300 с тобой не согласятся, увы. Писчая машинка с возможностью смотреть FHD фильмы. 

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

Ок, поправка)

любая современная бюджетная видео карта и проц сойдут

4
Автор поста оценил этот комментарий
В escape from tarkov. Главная беда на расстоянии 150 метров трава не рисуется. И в итоге тебя видят, а ты нет
раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Такая проблема не только в таркове, а в принципе в любом мультиплеерном шутере с большими открытыми пространствами. Вон тут в принципе предложено неплохое и не тяжелое решение


https://forums.bohemia.net/forums/topic/140105-rendering-gra...


А в сингл плеерных играх помоему без разницы, если грамотно переход сделать, то будет не отличить.

показать ответы
6
Автор поста оценил этот комментарий
Понимаю что движение травы добавлено чтобы показать сами возможности технологии, но в угоду реализма я бы добавил что трава почти всегда недвижима. Только высокая трава и и достаточно сильном ветре будет так колыхаться. Хотя... Там скорее будут продолжительные волны ветра (трава будет на пару сек пригибаться ветром к земле чуть подрагивая, а потом вновь выравниваться до следующей воздушной волны). Основано на моих наблюдениях травы на полях рядом с моим селом.
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Да есть такое. Просто без движения куда менее эффектно выглядит, преувеличивать некоторые вещи иногда полезно

Автор поста оценил этот комментарий

Шел 2019, в юнете рендерят траву

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Не понял к чему это. И в 2020 будут рендерить, и в 2050.

показать ответы
1
Автор поста оценил этот комментарий

Привет, а откуда звуки ветра/природы взял?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Soniss GDC в гугл

5
Автор поста оценил этот комментарий

о, так это твой видос. Объясни тогда, ПОЖАЛУЙСТА, ну вот нахуя здесь виньтека из блюра и хроматических аберраций, а? Т_Т

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Я художник, я так вижу)

Ну а если серьезно, хз, нравится мне так. И да, блюра там нету, это все аберрации.

0
Автор поста оценил этот комментарий

окей и каков на этом видосе ПеКа был?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

В описании к видео на ютубе есть. 1050TI + Ryzen 2600X

показать ответы
2
Автор поста оценил этот комментарий
при таком ветре, трава колышется а ветви на деревьях нет..
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

С деревьями там другая проблема, деревья должны взаимодействовать со стандартным windzone в юнити, но в 2018.3 есть баг где настройки этой windzone не влияют ни на что, и деревья трясет как при урагане. Поэтому пришлось пока убрать.

0
Автор поста оценил этот комментарий

Выглядит конечно не без греха, но визуал, это дело поправимое.

Другое дело, что отдавать все процессорные 16мс под траву, это конечно жестко.

Чуть логику какую добавить еще, и пиши пропало.

Total number of grass blades: 10-11 million.
Average visible number of grass blades after culling: 300-400k

А на сколько хорошо это все дело батчится? Сколько дравколов по итогу?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Другое дело, что отдавать все процессорные 16мс под траву, это конечно жестко.

Процессор то тут причем. На ГПУ все работает, процессор не трогается. И не 16мс, на всю систему травы уходит максимум 5-6 мс. И еще надо учитывать видеокарту, у меня же бюджетная 1050ti которая уже давно современные игры не вывозит на фуллах. Если я отключу постпроцессинг например то будет уже в районе 80-90 фпс.

А на сколько хорошо это все дело батчится? Сколько дравколов по итогу?

там нечего батчить, это все один меш генерируемый в шейдере. 1 дравкол.

0
Автор поста оценил этот комментарий

Интересно как она сверху в деревнестрое выглядит. Больная тема у меня.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Как то так. И это еще не очень высоко. В принципе как и ожидалось что не очень)

Иллюстрация к комментарию
0
Автор поста оценил этот комментарий

А с большей высоты?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Эм. А зачем с большой высоты нужна геометрически точная детализированная трава? У меня весь геймплей на земле происходит.

показать ответы
0
DELETED
Автор поста оценил этот комментарий

В UE4 из коробки есть нормальный ветер, все считается на шейдерах, надо лишь добавить в материал, и оптимизировано все хорошо.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Да ветер это наименьшая из проблем, он везде плюс минус одинаково делается, единственное отличие в подборе коэффициентов и значений.

показать ответы
0
Автор поста оценил этот комментарий

Начну с последнего вопроса, он же главный. Пока на добровольных началах. После выхода демки планируем начать сбор средств/поиск издателя.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не интересно

0
Автор поста оценил этот комментарий

@customphase, скажите, нет желания поработать в командном проекте над игрой?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Что за проект? Кем именно работать? Что по оплате?

показать ответы
0
Автор поста оценил этот комментарий

Вопрос такой, если трава сама по себе это двухсторонний объект, можно ли сделать так чтобы при рендеринге, прорисовывалась только видимая часть?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Объект односторонний, в шейдере уже решается какую сторону рендерить. Оно так и получается что отрисовывается только видимая сторона.

показать ответы
0
Автор поста оценил этот комментарий

Не подскажете, это на какой версии Unity сделано?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

2018.3

1
Автор поста оценил этот комментарий

На fps ограничитель стоит?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

нет

0
Автор поста оценил этот комментарий

На сколько высокий порог вхождения? По железу и навыкам? У меня образование высшее юридическое, немного не та область =)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий

А че там написано рендер занимает 6 мс, а на счетчике около 15 прыгает ?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Потому что на экране не только трава как бы) Небо, земля, постобработка, туман тоже занимают некоторое количество времени.

показать ответы
2
Автор поста оценил этот комментарий

Я тоже тут посижу, подожду ответа. Очень интересует такая фигня и можно ли этим хоть на корочку хлеба заработать?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Разумеется можно. Каждый раз когда публикую видео или гифки с результатами работы всегда найдется несколько человек которые спросят о том можно ли будет купить данный продукт, где и когда. На тот же ассет стор юнитевский если работать по полной то можно спокойно на жизнь зарабатывать. Но я этим для себя занимаюсь, так что ни копейки не заработал)

показать ответы
3
Автор поста оценил этот комментарий
Очешуеть. Можно поинтересоваться , где вы этому научились, какое образование помогло?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
где вы этому научились

В интернете) Серьезно, начинал без каких либо базовых знаний, учился на разных статьях в интернете. Книжек не читал, менторов не нанимал. Сам помаленьку потихоньку.

какое образование помогло?
Обычное высшее айтишное
Автор поста оценил этот комментарий

хрень полная. движения травы совершенно не реалистичные, будто вся эта трава в океане плавает, а не на земле растет

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Отвечал выше, симуляция ветра простенькая пока. И вообще движение от ветра это не проблема, отредактировать всегда можно как надо. А вот для того чтобы заставить все это рендериться относительно быстро, вот для этого пришлось потеть.

показать ответы
6
DELETED
Автор поста оценил этот комментарий

трава, ненавижу, блядь, траву
(ненавижу в 2 фпс)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

?

показать ответы
0
Автор поста оценил этот комментарий

@SupportTech, что у вас там с отступами творится? Все поехало.

Chrome Версия 74.0.3729.131

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Аналогичная проблема, думал у меня что то.

0
Автор поста оценил этот комментарий

Эх, красиво. Жаль только, что фпс упадет или видеопамять кончится, когда населят всякой живностью.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не упадет. Памяти опять же используется очень мало, по описанной выше причине - доступ к памяти просто не достаточно быстр для рендеринга такого большого количества объектов.

0
Автор поста оценил этот комментарий

А сверху она как выглядит?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В конце видео есть план сверху

показать ответы