Как стать автором
Поиск
Написать публикацию
Обновить
33.44

Unity *

Инструмент разработки 2D/3D-игр

Сначала показывать
Порог рейтинга
Уровень сложности
В Лаборатории Google мы добрались до самого инновационного и многообещающего устройства. Project Tango - платформа компьютерного зрения для мобильных устройств, разработанная группой инженеров ATAP (Advanced Technology and Projects). Работающее на Android референсное устройство вы можете взять на тест и использовать данные платформы в своих приложениях. Навигация внутри помещений, построение 3D-карт помещений, измерение расстояний, дополненная реальность – лишь малая часть задач, которые вы можете решить при помощи Project Tango. О том, как разрабатывать приложения для платформы – в нашей статье.
Читать далее

2D магия в деталях. Часть первая. Свет

Время на прочтение10 мин
Количество просмотров77K

Игры большие и трехмерные уже давно радуют глаз реалистичным освещением, мягкими тенями, бликами и прочей осветительной красотой. В двумерных же играх — во главе стола прямые руки художника, который подсветит и затенит где нужно, спрайт за спрайтом, или даже пиксель за пикселем. А если хочется динамики и без художника, и да, в пиксельарте?

Читать дальше →

Создание миникарты на Unity

Время на прочтение3 мин
Количество просмотров38K
Всем привет. Представляю вашему вниманию перевод статьи из блога, посвященному разработке на Unity — The Knights of Unity. В ней пойдет речь о создании миникарты. Я также реализовал описанное в статье и выложил это на Битбакете.


Что требуется для создания миникарты в игре на Unity? Наверно вы будете удивлены, но это проще, чем вы думаете и даже не требует навыков программирования! Далее я постараюсь шаг за шагом объяснить, как это сделать.
Читать дальше →

Фейковая Новелла: новый опыт и работа над ошибками

Время на прочтение15 мин
Количество просмотров29K
Привет, Хабр! В этой статье я расскажу о результатах публикации одной визуальной новеллы и поведаю о второй, при разработке которой я попытался учесть полученный опыт…
Перед интенсивной разработкой небольшой игры (aka хакатоном) важно решить чего вы хотите: программировать, повеселиться или создать готовый продукт? У меня есть друг, который очень хочет сделать игру, но раз за разом он начинает с создания графического движка, на базе libgdx. Возможно, такой путь приводит к шедеврам вроде {$TitleCoolIndieGame}. На мой же взгляд, ему просто хочется попрограммировать. Так, что Читатель, если же Вы действительно хотите сделать игру, лучше не начинать с абсолютного нуля или читать эту статью, а приступить к конкретной работе! Тем более, что под катом не success story, а согласование макетов полуголой девушки, вакуумные маффины в коне, безумная работа над переводом сомнительного юмора и ещё более сомнительных отсылок, описание ненормальной соло разработки, да немного программирования, чтобы соответствовать тематике.
Под катом десяток мегабайт графики и более десяти страниц текста.
Полтора месяца работы под катом

Unity: как мы создавали генератор домов для AssetStore или возвращение к хрущёвкам

Время на прочтение18 мин
Количество просмотров16K


Поводом для написания данной статьи послужила эта публикация про "хрущёвки", в которой была поднята интересная для меня тема программной генерации мешей в Unity.

Моя статья не предназначена для тех, кто уже давно работает на Unity, маловероятно, что здесь будет что-то новое для людей, знакомых с тонкостями Unity. Также для совсем новичков здесь возможны неочевидные "трудности" и зачем нужно что-то придумывать, когда итак в редакторе всё есть. Наиболее подходящей нашей аудиторией являются разработчики, которые уже кое-что умеют делать в Unity, но они ещё не решали задачи динамического изменения мешей в редакторе. Также, возможно, некоторым будет полезен наш опыт работы с инспектором.

Автор не претендует на абсолютное знание предметной области, я лишь хочу рассказать своими словами решение некоторых задач, которые появлялись при создании ассета.
Читать дальше →

Скелетная анимация в играх. Обзор техник и ресурсов

Время на прочтение9 мин
Количество просмотров98K
Anima — это душа, отличающая живое от мертвого. Аристотелевская душа — это принцип движения, проявляющегося в четырёх видах: перемещение, превращение, убывание и возрастание. Спустя почти две с половиной тысячи лет мы используем те же категории в компьютерной графике. Скелетная анимация определяет перемещение, морфинг служит для превращений, а убывание и возрастание это обычное масштабирование. Анимированная графика оживляет образ, вдыхает в картинку душу, и это, на мой взгляд, даже важнее, чем достоверная игра света и тени.

image


Создание качественных скелетных 3D анимаций сегодня, пожалуй, самая труднодоступная для инди разработчиков задача. Вероятно поэтому так мало инди игр в 3D, и так много проектов в стилях пиксель арта или примитивизма, а также бродилок без персонажей в кадре. Но теперь это соотношение может измениться…
Читать дальше →

NavMesh на костылях — маленькие хитрости

Время на прочтение1 мин
Количество просмотров11K
Продолжаю играться в Unity3d.
В этой заметке постараюсь рассказать как при помощи грязного костыля можно обойти статичность компонента NavMesh.
Читать дальше →

Особенности кэширования компонентов в Unity3D

Время на прочтение11 мин
Количество просмотров37K
Большинство unity-разработчиков знают, что не стоит злоупотреблять дорогими для производительности операциями, такими как, например, получение компонентов. Для этого стоит использовать кэширование. Но и для такой простой оптимизации можно найти несколько различных подходов.
В этой статье будут рассмотрены разные варианты кэширования, их неочевидные особенности и производительность.


Читать дальше →

Unity3D Ускорить отрисовку 2D анимации в разы? Легко

Время на прочтение6 мин
Количество просмотров17K
В этой статья мне хотелось бы рассказать о том, как была ускорена отрисовка монстров при создании игры Alien Massacre. Данное решение подойдет для любых проектов, которые испольуют спрайтовую анимацию.

В результате разработки мобильной игры оказалось, что достаточно узким местом стало проигрывание большого количества анимированных объектов на сцене. В результате сформировались следующие требования:

  • 1 Необходимо обеспечить отрисовку большого числа анимированных объектов на сцене. Ведь мы хотим, чтобы игрок отстреливался от полчищ монстров.
  • 2 Прогресс анимации должен быть различен для каждого из объектов. Ведь мы не хотим, чтобы мобы ходили строем.

Решение «из коробки»


Безусловно, первое решение было простым: все сделать с помощью уже встроенного в UnityEngine компонента Animator. Посмотрим, что из этого получается.
Читать дальше →

Система событий и откликов или задатки Visual Scripting для Unity3D

Время на прочтение10 мин
Количество просмотров12K

Введение


В прошлой моей статье были приведены способы обеспечения “мягкой” связи между компонентами игровой логики, основанные на уведомлениях и подписки на них. В общем смысле подобные уведомления можно посылать на любое, какое нам захочется, действие или событие, возникающее в работе компонента: от изменения переменной, до более сложных вещей. Однако зачастую определенные события требуют от нас выполнить ряд действий, которые нецелесообразно делегировать. Самым простым примером является звуковое оформление — в компоненте возникло событие, которое требует звукового сопровождения. В простейшем варианте мы вызовем функцию AudioSource.Play(), в чуть более сложном, функцию обертки над звуковой системой. В принципе ничего страшного в этом нет, если проект небольшой и в команде мало людей, которые совмещают в себе множество ролей, но если это проект крупный, где есть несколько программистов и саунд-дизайнер, то, в частности, настройка звуков превратится для программиста в кошмар. Не секрет же, что мы стараемся абстрагироваться от контента и поменьше с ним работать в плане настройки, ибо правильнее, если этим будут заниматься ответственные специалисты, а не мы.
Читать дальше →

Дайджест игровой индустрии: апрель

Время на прочтение3 мин
Количество просмотров6.2K
Сводка новостей индустрии, даты релизов, анонсы конференций, полезные статьи для разработчиков мобильных приложений и другие интересные материалы вы найдете в нашем дайджесте.


Читать дальше →

Оптимизация игры на Unity и dev story Tap Tap Builder

Время на прочтение9 мин
Количество просмотров22K
В копилке каждого инди-разработчика должен быть свой сити-билдер, может быть поэтому я решился «сконструировать» свой велосипед. Конечно же, с квадратными колесами и креслом-качалкой вместо седушки. Работаю я один, поэтому никаких дизайнеров, художников, и тем более моделлеров, в проекте нет. Кроме того, в общем-то, это моя первая игра с трехмерной графикой. Дабы не утруждать себя изучением продвинутых инструментов для создания трехмерных моделей, я решил все сделать своими руками и средствами игровой среды Unity. Там есть только примитивы, вроде кубов да цилиндров, а также возможность их раскрасить. Что ж, следовало запастись терпением и начать «творить», погрузившись в роль архитектора. Полезной информацией для начинающих инди-разработчиков может оказаться мой опыт работы с издателем, а также способы оптимизации игры.

image
Читать дальше →

Пример создания простой 2D игры для Android с использованием игрового движка Unity

Время на прочтение6 мин
Количество просмотров165K

Введение




Прежде всего, хочу сразу отметить, что я не являюсь профессиональным разработчиком. В этой статье я постараюсь изложить свой опыт создания игры «Feel Speed Racing». Данный материал, скорее всего не будет интересен тем, кто уже имеет большой опыт в разработке игр, но начинающим разработчикам, которые хоть немного работали с Unity думаю, будет интересно.
Читать дальше →

Ближайшие события

Дайджест новостей из мира разработки на Unity

Время на прочтение3 мин
Количество просмотров17K
Наверное, дайджест, посвященный Unity, вы ждали с нетерпением, но, даже если не ждали, в нем всё равно много интересных материалов и новостей.


Читать все

Птички и Unity3D, попытка оптимизации

Время на прочтение3 мин
Количество просмотров8.5K
Прочитав пост про создание птичек на Unity3D, я решил предложить свой вариант оптимизации.

В Unity плохо размещать скрипт на каждом объекте, особенно если их очень много, появляются сильные лаги. Чтобы не вешать скрипт Boid.cs можно сделать по другому.

Создадим класс Boid:
Читать дальше →

Алгоритм жевания для тачскрина

Время на прочтение4 мин
Количество просмотров13K
Не так давно вышла моя первая личная игра для мобильных. Суть заключается в том, что врагов надо пережевывать пальцами. Алгоритм не уникальный, но встречается редко. На первый взгляд, нужно только прослушать зум-движение двух пальцев, вроде ничего сложного, однако в процессе разработки игры выявляются различные подводные камни.
Читать дальше →

Создавая игру Good Cat Gone Bad

Время на прочтение4 мин
Количество просмотров15K
Целевая аудитория: начинающие инди-разработчики игр.

Введение




В основном это список приемов и бесплатных инструментов, которые я использовал при создании мобильного endless runner’а Good Cat Gone Bad, который выйдет в Google Play 4 мая 2016 г.

Игра разрабатывалась как проект-хобби, используя Unity 5, и заняло все это дело около 4 месяцев на постоянной основе (полный рабочий день).
Читать дальше →

Взрывная волна в Unity3D (displacement shader)

Время на прочтение3 мин
Количество просмотров30K
Мой телеграм канал: https://t.me/winc0de.
Всем привет, пишу небольшую 2D игру и параллельно хотел бы рассказывать о реализации некоторых вещей в Unity3D.
Программирование графики само по себе очень интересное занятие с безграничным количеством вариаций результата. В этой статье опишу реализацию искажения пространства от взрывной волны.

Читать дальше →

Система сообщений или “мягкая связь” между компонентами для Unity3D

Время на прочтение13 мин
Количество просмотров36K

Введение


В данной статье будут затронуты темы, связанные с реализацией возможности “мягкой связи” компонентов игровой логики на основе системы сообщений при разработке игр на Unity3D.

Ни для кого не секрет, что в подавляющем большинстве случаев средств, которые предоставляет движок в базовом виде, недостаточно для полноценной реализации систем обмена данными между компонентами игры. В самом примитивном варианте, с которого все начинают, мы получаем информацию через экземпляр объекта. Получить этот экземпляр можно разными способами от ссылки на объект сцены, до функций Find. Это не удобно, делает код не гибким и заставляет программиста предусматривать множество нестандартных поведений логики: от “объект исчез из сцены”, до “объект не активен”. Помимо прочего может страдать и скорость работы написанного кода.
Читать дальше →

Дайджест игровой индустрии: март

Время на прочтение3 мин
Количество просмотров11K
Не знаете, во что поиграть? Анонсы самых интересных релизов в нашем дайджесте. Отстали от жизни игровой индустрии? Новости и события в нашем дайджесте. Не знали, что Джон Кармак получит премию BAFTA? Подробности в нашем дайджесте.


Читать дальше →