Как стать автором
Обновить

Комментарии 19

Вы говорили — Objective-C, есть возможность на Swift писать?
Думаю в этом случае Objective-C придется использовать как мост и от него уже стучаться к Swift. Хотя, есть плагин, с помощью которого можно и на swift писать. Поправлю в статье, чтобы не сбивало с толку. Спасибо!
А вы под IOS Xamarin не пробовали?
Хм, идея, ведь все тот же C#. Вообще нет, не пробовал, даже как-то не думал об этом…
Я просто вот недавно пощупал Андроид благодаря ему, потому что знаю С#, а не Java.
В моем случае разработка вся на Unity (там тоже c#), но вот момент написания плагинов заинтересовал. Мб что получится найти по этому поводу.
А с камушком можно по-подробнее технику показать?
Это в z-brush'е слепить и сделать ретопологию или как?
Моделировал в Blender. Z-Brush-ем не пользовался, поэтому затрудняюсь сказать, как там. Что касается Blender, то как на картинке:
— создаем примитивы
— накидываем на них два модификатора Subdivision Surface (первый с режимом Simple, второй Catmull-Clark)
— переходим в режим скульптинга и ставим галочку на Dyntopo (при таком режиме в активной области будут достраиваться полигоны в нужном количестве) и далее уже кистями вырисовываем нужные нам формы
— как только визуально закончили, переключаемся в режим Vertex Color, красим камушки нужным цветом + применяем Dirty Vertex Color (чтобы трещины и царапины немного затемнились)
— Ну и заключительный этап — применить модификатор Decimate, который сделает из высокополигональной модели — низкополигональную. Тут уже уменьшаем на свой вкус.
Большое спасибо.
Как раз сейчас нужно замоделить лоуполи, интересная техника.
Да, пожалуйста, если по тексту что-то не понятно, пишите в личку, помогу чем смогу.
Спасибо за такой подробный гайд. Возможно как-нибудь руки дотянутся до Blender, чтобы попробовать это.
Удачи с новым проектом!
Интересно почему вы начали сразу с 3D игр, вообще рассматривали 2D?
Спасибо! Касаемо 3D — да, дело в том, что мне гораздо легче что-то смоделировать, чем нарисовать красивые спрайты для 2D игры.
Здравствуйте. Отличная статья. А как глубоко проникнулись в Unity?
Сложно сказать, это пока ещё второй проект + работаю один, нет человека, который мог бы подсказать что-то либо же указать на ошибки. Поэтому даже не знаю что и сказать по этому поводу. Ну, знаний для не сложных проектов достаточно, но если сказать мне создать сложнейшую MMO игру, то тут я думаю зафейлю конкретно, начиная от организации хранения игровых данных, заканчивая взаимодействием между классами и прочим. Я к тому, что ещё много чего предстоит изучить, но если брать сравнение с первый проектом, то рост очевиден.
В каком формате Вы используете 3d модели в unity? в blender или конвертируете в другой формат?
Как Вы нарисовали текстуры в таком стиле? Для этого нужны какие-то навыки?
Использовал в формате blender, т.к. не хотел возиться с конвертированием в fbx, да и формат blender юнити прекрасно читает. В настройках импорта модели задаю нужные мне параметры (ну там анимации отключить, убрать галочки с импорта камер и прочее) и все, можно использовать. Единственное, там есть проблемы в различии между координатами. Юнити вроде сам автоматически правит их, но не всегда срабатывает, поэтому прежде чем начать моделировать меши в Blender, сам Object нужно развернуть на 90 градусов по оси X.

Касаемо текстур — в игре кроме UI вообще не используются текстуры. Все модели имеют Vertex Color и соответствующий шейдер, который способен отображать Vertex Color. В Blender, чтобы раскрасить модель, нужно зайти в режим Vertex Paint и смело рисовать.
Спасибо, отличная статья.
А как проходила оптимизация под Android и на какой framerate ориентировались? Какие ограничения изначально себе ставили в плане применяемых шейдеров, частиц, кол-ва SetPass Call и т.д.?
Framerate высокие, 60fps, т.к. сама игра достаточно динамичная, нужна высокая частота кадров. По ограничениям, на офф юнити есть цифры, что для мобильных платформ не больше 100k вертексов в кадре. У меня пик 75k вертексов, в среднем 50-60k (на максимальной графике, если отклчить тени, то до 20-30k опускается).

По SetPass Call вышло в среднем 35-50. Касаемо частиц, просто старался делать так, чтобы частицы не покрывали весь экран и не создавали большую нагрузку. Благо для этого есть старый планшет, на нем прекрасно можно было протестировать партикли. По нему уже подбирал так, чтобы не тормозило. В основном очень хорошо помогала опция во вкладке Render — Max Particle Size. Её можно выкрутить так, чтобы вдали партикль выглядил большим, а при приближении частички уменьшались (чтобы не было большого покрытия экрана прозрачными спрайтами). Ибо чем меньше пикселей покрыто партиклем — тем меньше нагрузка (для слабых девайсов, где это критично).

По шейдерам и вовсе все просто: Vertex Color, Vertex Color Anim, для UI стандартный + шейдер воды и для партиклей. Никаких размытостей не использовал.

За счет того, что в игре кроме UI нет текстур + все выглядит довольно низкополигонально, позволил себе использовать динамичные тени + пост обработку в виде bloom (качал ассет, который сейчас уже платным стал). Тем не менее, даже в среднем сегменте игра вывозит на 60fps на максимальных настройках.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации