Comments 19
Вы говорили — Objective-C, есть возможность на Swift писать?
Думаю в этом случае Objective-C придется использовать как мост и от него уже стучаться к Swift. Хотя, есть плагин, с помощью которого можно и на swift писать. Поправлю в статье, чтобы не сбивало с толку. Спасибо!
А вы под IOS Xamarin не пробовали?
А с камушком можно по-подробнее технику показать?
Это в z-brush'е слепить и сделать ретопологию или как?
Это в z-brush'е слепить и сделать ретопологию или как?
Моделировал в Blender. Z-Brush-ем не пользовался, поэтому затрудняюсь сказать, как там. Что касается Blender, то как на картинке:
— создаем примитивы
— накидываем на них два модификатора Subdivision Surface (первый с режимом Simple, второй Catmull-Clark)
— переходим в режим скульптинга и ставим галочку на Dyntopo (при таком режиме в активной области будут достраиваться полигоны в нужном количестве) и далее уже кистями вырисовываем нужные нам формы
— как только визуально закончили, переключаемся в режим Vertex Color, красим камушки нужным цветом + применяем Dirty Vertex Color (чтобы трещины и царапины немного затемнились)
— Ну и заключительный этап — применить модификатор Decimate, который сделает из высокополигональной модели — низкополигональную. Тут уже уменьшаем на свой вкус.
— создаем примитивы
— накидываем на них два модификатора Subdivision Surface (первый с режимом Simple, второй Catmull-Clark)
— переходим в режим скульптинга и ставим галочку на Dyntopo (при таком режиме в активной области будут достраиваться полигоны в нужном количестве) и далее уже кистями вырисовываем нужные нам формы
— как только визуально закончили, переключаемся в режим Vertex Color, красим камушки нужным цветом + применяем Dirty Vertex Color (чтобы трещины и царапины немного затемнились)
— Ну и заключительный этап — применить модификатор Decimate, который сделает из высокополигональной модели — низкополигональную. Тут уже уменьшаем на свой вкус.
Удачи с новым проектом!
Интересно почему вы начали сразу с 3D игр, вообще рассматривали 2D?
Интересно почему вы начали сразу с 3D игр, вообще рассматривали 2D?
Здравствуйте. Отличная статья. А как глубоко проникнулись в Unity?
Сложно сказать, это пока ещё второй проект + работаю один, нет человека, который мог бы подсказать что-то либо же указать на ошибки. Поэтому даже не знаю что и сказать по этому поводу. Ну, знаний для не сложных проектов достаточно, но если сказать мне создать сложнейшую MMO игру, то тут я думаю зафейлю конкретно, начиная от организации хранения игровых данных, заканчивая взаимодействием между классами и прочим. Я к тому, что ещё много чего предстоит изучить, но если брать сравнение с первый проектом, то рост очевиден.
В каком формате Вы используете 3d модели в unity? в blender или конвертируете в другой формат?
Как Вы нарисовали текстуры в таком стиле? Для этого нужны какие-то навыки?
Как Вы нарисовали текстуры в таком стиле? Для этого нужны какие-то навыки?
Использовал в формате blender, т.к. не хотел возиться с конвертированием в fbx, да и формат blender юнити прекрасно читает. В настройках импорта модели задаю нужные мне параметры (ну там анимации отключить, убрать галочки с импорта камер и прочее) и все, можно использовать. Единственное, там есть проблемы в различии между координатами. Юнити вроде сам автоматически правит их, но не всегда срабатывает, поэтому прежде чем начать моделировать меши в Blender, сам Object нужно развернуть на 90 градусов по оси X.
Касаемо текстур — в игре кроме UI вообще не используются текстуры. Все модели имеют Vertex Color и соответствующий шейдер, который способен отображать Vertex Color. В Blender, чтобы раскрасить модель, нужно зайти в режим Vertex Paint и смело рисовать.
Касаемо текстур — в игре кроме UI вообще не используются текстуры. Все модели имеют Vertex Color и соответствующий шейдер, который способен отображать Vertex Color. В Blender, чтобы раскрасить модель, нужно зайти в режим Vertex Paint и смело рисовать.
Спасибо, отличная статья.
А как проходила оптимизация под Android и на какой framerate ориентировались? Какие ограничения изначально себе ставили в плане применяемых шейдеров, частиц, кол-ва SetPass Call и т.д.?
А как проходила оптимизация под 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 на максимальных настройках.
По SetPass Call вышло в среднем 35-50. Касаемо частиц, просто старался делать так, чтобы частицы не покрывали весь экран и не создавали большую нагрузку. Благо для этого есть старый планшет, на нем прекрасно можно было протестировать партикли. По нему уже подбирал так, чтобы не тормозило. В основном очень хорошо помогала опция во вкладке Render — Max Particle Size. Её можно выкрутить так, чтобы вдали партикль выглядил большим, а при приближении частички уменьшались (чтобы не было большого покрытия экрана прозрачными спрайтами). Ибо чем меньше пикселей покрыто партиклем — тем меньше нагрузка (для слабых девайсов, где это критично).
По шейдерам и вовсе все просто: Vertex Color, Vertex Color Anim, для UI стандартный + шейдер воды и для партиклей. Никаких размытостей не использовал.
За счет того, что в игре кроме UI нет текстур + все выглядит довольно низкополигонально, позволил себе использовать динамичные тени + пост обработку в виде bloom (качал ассет, который сейчас уже платным стал). Тем не менее, даже в среднем сегменте игра вывозит на 60fps на максимальных настройках.
Sign up to leave a comment.
История создания второй игры на Unity (или как я нашел силы после первого провала)