Добрый день.
Занимаюсь разработкой игр более 3 лет. И за все это время всегда испытывал неудобства в использование (даже платных) ассетов. Многие из ассетов, представленные в Asset Store, можно сделать самому (сильно не напрягаясь и к тому же бесплатно). Потому решил написать цикл статей посвященный разработке ассетов - авось кому пригодится.
Данная статья посвящается стадиону.
В Asset Store можно скачать или купить не мало футбольных ассетов. Но во первых ни в одном из ассетов я не нашел публики, а во вторых проект не оптимизирован должным образом. Например в Soccer Project текстура игрового поля - гигантского размера (2048*2048) натянута на ВСЁ поле. Если управлять игроком от третьего или первого лица, то поле выглядит очень размыто.
И стоит такое чудо 50 $. Возникает вопрос, что лучше;
Купить данный ассет ЗА 50 $?
Или не много поработать в 3d max и получить оптимизированный/детализированный стадион с публикой?
Поэтому я решил показать как можно легко и быстро сделать стадион с помощью 3d max.
Идея натянуть одну огромную текстуру на все футбольное поле не состоятельна. Решить эту проблему в 3d max очень легко если в материале тайлить текстуру и сделать соответствующую UV развертку текстур - да полигонов будет не много больше, но это ни как не повлияет на производительность, а результат будет совсем другим.
Вот как выглядят полигоны в 3d max
Лестницы можно легко сделать с помощью стандартного объекта Stairs
А людей можно представить в виде прозрачной текстуры, нанесенной на 3д объекты созданные из стандартного плана
Вот как выглядит моя текстура в формате .png
В моей игре трибуны находятся далеко от игрока, поэтому размер данной текстуры 256*256. Вы можете использовать свою текстуру, главное правильно настроить UV развертку в 3d max - для этого в нем есть удобный инструмент Unwrap UVW.
После всего этого можно экспортировать стадион из 3d max в формат .obj и импортировать в Unity.
Для публики можно использовать встроенный материал Unity - Particles/Standard Unlit
Если есть вопросы - пишите, постараюсь ответить.