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

Unity *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Оптимизация 2d-приложений для мобильных устройств в Unity3d

Время на прочтение13 мин
Количество просмотров107K
Недавно наша студия завершила разработку большого обновления — Captain Antarctica: Endless Run — для устройств на iOs. Кропотливая работа над обновлением затронула производительность, которая оказалась очень низкой на слабых устройствах. Я боролся с этим целую неделю и добился как минимум 30 FPS, а также значительного сокращения размера приложения. Хочу рассказать, как я это сделал, ну и как делать не стоит.
Статья пригодится любым разработчикам на Unity (причем не только менеджерам проектов и техническим специалистам, но и просто программистам, художникам и дизайнерам), потому что она затрагивает как оптимизацию на Unity в целом, так и конкретно оптимизацию 2d-приложений для мобильных устройств.

Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии87

Unity3d, в помощь начинающим

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

Эта статья предназначена для тех пользователей unity3d, что уже хорошо знакомы с самим движком, но ещё не обладают достаточной собственной базой знаний для того, чтобы писать без дополнительного сёрфинга по интернету, с целью поиска возникающих иногда фундаментальных вопросов. Чтобы сократить некоторым время на ресёч, расскажу несколько важных фишек, которые необходимо знать каждому unity программисту. Если у Вас возникают вопросы: как сделать чтобы у Вас не тормозило на чём-то послабее iPad 3, или Вы не знаете как удобно работать со спрайтами, как заставить музыку не прерываться при загрузке, или как обойти максимальный допустимый размер под android (50 мегабайт) и так далее, возможно Вы найдёте ответ в этой статье.

Статья затрагивает лишь проблемы мобильной разработки (IOS, Android). Все примеры только на C#.

Автор статьи не претендует на абсолютную категоричность и правильность предложенных решений.

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии19

Делаем простую игру с кнопками, ящиками и дверями на Unity

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


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

Для самых нетерпеливых по ссылкам ниже находится готовый прототип.
Онлайн версия
Скомпилированная версия для Windows [Зеркало] ~7.5 МБ

Что мы собираемся делать? Двумерную головоломку с колобком в роли главного героя, который может двигать ящики, которые могут нажимать кнопки, которые могут открывать двери, за которыми скрывается выход из уровня, который построил я. Или вы, у нас же здесь туториал как-никак.

Подразумевается, что вы уже успели скачать Unity и поигрались немного в редакторе. Нет? Сейчас самое время, я подожду.
Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии32

Практический опыт переноса ресурсов из Flash в Unity 3D

Время на прочтение4 мин
Количество просмотров20K
Буквально недавно мы с товарищами запустили наш первый проект под iOS — игрушку про змейку Shadow Snake. Хотелось опробовать разработку под iPad, поэтому решили перенести уже готовый проект, сделанный на Flash, тем более, что механика позволила очень гармонично использовать возможности сенсорного управления.

Конечно, первой идеей было попробовать AIR SDK — проект запустился, но из динамичной аркады он превратился в аркаду “походовую”. FPS был ужасно низким отчасти из-за того, что практически вся графика во флешке была векторной, а мобильный AIR с ней не очень дружит. Я уже не помню точно, какой AIR на тот момент был доступен (2.x или первые версии 3.x), но мы проводили эксперименты как с векторной графикой, так и с другим проектом, сделанным в растре на Flixel. Результаты не очень нас обрадовали. Сейчас, я смотрю, прогресс сдвинулся, Adobe даже выпустила какой-то новый компилятор. В любом случае, в то время было решено использовать Unity 3D.

Unity 3D на тот момент уже хорошо зарекомендовала себя в мобильных играх и имела хорошую визуальную среду для создания игровых сцен. Благодаря этому можно было разделить непосредственно программирование, подготовку ресурсов и дизайн игровых уровней и распределить эти задачи по разным членам команды. Кроме того, по роду основной деятельности я давно уже работаю с C#, поэтому с Unity я чувствовал себя комфортно.

Встала задача, как перенести графику и анимации (в том числе составные) в новый проект.
Читать дальше →
Всего голосов 37: ↑28 и ↓9+19
Комментарии33

Истории

Создание небольшого гейм-проекта для Asset Store

Время на прочтение3 мин
Количество просмотров17K
Эпилог

У нашей студии появилось свободное время, поскольку работа над основным проектом 3d MMORPG для мобильных платформ, в плане контента, была закончена.

Пока программисты продолжают писать код для основного проекта, мы с остальной командой решили сделать мини-игру в стиле 3D FPS Tower Defense, с множеством ре-юзабильных объектов, и самого кода, то есть фактически Third-Person Shooter KIT. Штуку для разработчиков которую можно использовать, как Starter темплейт с кодом, или же просто использовать отдельные объекты для своего проекта или игры. Для разработки, как многие возможно поняли из названия, мы использовали Unity3d.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии13

Имитируем адаптацию глаза к темноте в 3D, или HDR для чайников

Время на прочтение4 мин
Количество просмотров42K
Всем знаком эффект временной слепоты, когда вы входите в темное помещение из светлого.  Согласно распространенному заблуждению, чувствительность зрения регулируется размером зрачка. На самом деле, изменение площади зрачка регулирует количество поступающего света всего лишь в 25 раз, а основную роль в адаптации играют сами клетки сетчатки.

title

Для имитации этого эффекта в играх используется механизм, называемый tonemapping.

tonemapping — процесс проекции всего бесконечного интервала яркостей (HDR, high dynamic range, от 0 и до бесконечности) на конечный интервал восприятия глаза/камеры/монитора (LDR, low dynamic range, ограничен с обоих сторон).

Для того, чтобы работать с HDR, нам понадобится соответствующий экранный буфер, поддерживающий значения больше единицы. Наша же задача будет состоять в правильной конвертации этих значений в диапазон [0..1].

Читать дальше →
Всего голосов 113: ↑111 и ↓2+109
Комментарии31

Имитируем ночное зрение человека в 3D-игре

Время на прочтение4 мин
Количество просмотров58K
Сегодня мы будем заниматься постпроцессингом изображения в DirectX.

Как известно, в темноте зрение человека обеспечивается клетками-палочками сетчатки, высокая световая чувствительность которых достигается за счет потери цветочувствительности и остроты зрения (хотя палочек в сетчатке и больше, они распределены по гораздо большей площади, так что суммарное «разрешение» выходит меньше).

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

В результате мы получим что-то вроде следующего (смотреть на весь экран!):

До: унылый польский шутер


После: финалист IGF и лауреат всех наград E3

Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии57

Сохранение игры в Unity3D

Время на прочтение19 мин
Количество просмотров167K
Иногда сохранения просто не подразумевает жанр... Если вы пишете не казуалку под веб и не беспощадный суровый рогалик, без сохранения данных на диск не обойтись.
Как это делается в Unity? Вариантов тут достаточно — есть класс PlayerPrefs в библиотеке, можно сериализовать объекты в XML или бинарники, сохранить в *SQL*, можно, в конце-концов, разработать собственный парсер и формат сохранения.
Рассмотрим поподробнее с первые два варианта, и заодно попробуем сделать меню загрузки-сохранения со скриншотами.

Будем считать, что читающий дальше базовыми навыками обращения с этим движком владеет. Но при этом можно не подозревать о сущестовании в его библиотеке PlayerPrefs, GUI, и ещё в принципе не знать о сериализации. С этим всем и разберёмся.
А чтобы эта заметка не стала слишком уж увлекательной и полезной, ориентирована она самый неактуальный в мобильно/планшетно/онлайновый век вариант — сборку под винду (хотя, конечно, более общих моментов достаточно).

  • Кстати, пару недель назад на Хабре была статья, где автор упомянул, что Unity3D проходят в курсе компьютерной графики на кафедре информатики питерского матмеха. Занятный факт, немало говорящий о популярности движка.
    Хотя насколько это в целом хорошая идея — на мой взгляд, тема для дискуссии. Может быть, обсудить это было бы даже интереснее вопросов сериализации =)

Пройти на следующую локацию
Всего голосов 31: ↑27 и ↓4+23
Комментарии18

О подключении самописного Objective-C плагина к игровому движку Unity 3D

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


Доброго всем дня.

Начнем собственно с того что такое Unity 3d В кратце это трехмерный игровой движок. На официальном сайте доступна бесплатная версия, pro версия и версия с возможностью заливать приложения на мобильные платформы уже стоят денег.
Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии15

Unity3d. Начало работы, практические советы. Рецензия

Время на прочтение9 мин
Количество просмотров258K
Доброго времени суток. Данная статья посвящена мультиплатформенному инструменту Unity3d. В статье рассмотрены оптимальные, по моему мнению, способы работы с движком, даны практические советы по эксплуатации и дополнительные (общие) сведения; рассмотрены перспективы развития Unity3d.

Содержание:

  • Раздел 1. Введение
    • Что такое Unity ?
    • Возможности Unity3d
    • Проблема дополнительных знаний

  • Раздел 2. Начало работы
    • Вспомогательная литература
    • На это стоит обратить внимание
      • NB!
      • Сцены
      • Отладка

    • Структурирование

  • Раздел 3. Практические советы
    • Написание скриптов
    • Видеоуроки
    • Устранение ошибок

  • Раздел 4. Завершение работы
    • Выводы
    • Публикация игры
    • *Оптимизация

  • Раздел 5. Дополнительная информация
    • Теория графики
    • Полезные ссылки
    • Мнение
      • Что хочется увидеть в будущем?


  • Источники информации


Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии37

Разбираемся с шейдерами в Unity3D на конкретном примере

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


Немного теории


Для понимания работы шейдеров, нужно хорошо ориентироваться в том, как видеокарта строит изображение. Общая структура визуализации 3D объекта на экране изображена на рисунке ниже:

Читать дальше →
Всего голосов 50: ↑43 и ↓7+36
Комментарии11

Battle City на unity за 1 день?

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

Возможно ли сделать простенькую игру за один день на unity, не имея опыта в этом?
Вопрос был риторическим, пока мы не попробовали.
Есть такой проект — 2niversity. Появился этот проект недавно, но их цель мне очень понравилась — собирать молодежь и абсолютно бесплатно организовывать для нее однодневный интенсив с целью повышения навыков в какой-либо технологии

Когда мне позвонил менеджер этого проекта и предложил попробовать провести подобное мероприятие на unity, я задумался.
С одной стороны лично мне все казалось просто — 5-7 часов на простенькую игру и все готово, с другой стороны люди, которые участвуют в роли учеников, должны будут впервые использовать этот движок. Возможно им вообще впервые придется попробовать себя в роли создателя игр. Если интересно, чем закончился данный эксперимент, прошу под кат
Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии27

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Разработка Unity3d-плагина для работы с Facebook

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

В качестве вступления


Итак, я не буду рассказывать про то, что такое социальные сети и как они используются в игровых (да и неигровых) приложениях. Скажу просто, что однажды поставили передо мной задачу научить нашу игру публиковать всякие разные вещи в Facebook и Twiter.
Игра у нас создается с использованием движка Unity3d. Никаких встроенных возможностей по работе с социальными сетями в нем не предусмотрено. Зато есть возможность писать плагины на c/c++/objective c/… Т.е. на нативном языке платформы. Этим и предстояло мне заняться. Приложение мы разрабатываем под ipad, соответственно платформа iOS и язык Objective-C.
Ниже я расскажу, что и как у меня получилось, поделюсь кодом и задам пару вопросов уважаемому хабрасообществу.
Сразу уточню, что плагин еще не отлажен до конца! Но чем поделиться все равно найдется.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии6

Конкурс от Viope для геймдевов по всему миру

Время на прочтение1 мин
Количество просмотров4.7K
Собственно, вот.

Конкурс организован Viope Solutions Oy и длится с 09.10.12 по 20.01.13. Принять участие может любой желающий, в одиночку или в группе до четырех человек. Так же, насколько я понял, участникам конкурса будет свободно доступен онлайн-курс по геймдеву на Unity, от Viope Solutions Ltd.
Всего голосов 8: ↑4 и ↓40
Комментарии3

Про Unity 3D из первых рук. Интервью

Время на прочтение9 мин
Количество просмотров44K
На днях мы пообщались с Олегом Придюком (Oleg Pridiuk), техническим евангелистом из Unity Technologies. Он рассказал о том, кому стоит работать с Unity 3D, в чем преимущества этого движка по сравнению с другими и как им удается не портить свою карму.

Это не перевод и не перепечатка.


Читать дальше →
Всего голосов 61: ↑56 и ↓5+51
Комментарии21

Как я подружил Unity3D и F#

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

В последнее время я стал все больше и больше интересоваться функциональным программированием, и при выборе языка предо мною пал выбор среди двух очень понравившихся мне языков — Haskell и F#.
В F# меня соблазнило то, что его можно компилировать в MSIL сборки, что обеспечивает возможность использования библиотек классов F# в других языках Microsoft .Net, а также то, что он и сам может их использовать. Ко всему прочему, я ещё и начинающий разработчик Unity3D, и мне в голову пришла мысль: если компилируется в MSIL, то может можно использовать F# скрипты в Unity? Гугление дало ответ: по-человечески нельзя. Можно создать библиотеку классов, поставить в проекте ссылки на библиотеку UnityEngine.dll, компилировать и импортировать как ассет, после чего добавлять компоненты Mono-behaviour напрямую из библиотеки, но это не слишком удобно, согласитесь. Однако, пройдя гугл, Reflection и справку по Unity, мне все таки удалось приблизить(но не повторить в точности) работу с F# скриптами внутри редактора к тому виду, в котором производится работа со скриптами на встроенных языках. Подробности — под хабракатом.


Показать подробно
Всего голосов 55: ↑45 и ↓10+35
Комментарии6

Экспорт MoCap данных в Unity3d

Время на прочтение3 мин
Количество просмотров17K
В этой статье я расскажу как анимировать персонажа с помощью MoCap данных, полученных с использованием ipi mocap studio и 2х сенсоров Kinect.
Для этого понадобятся:
1-2 сенсора Kinect
iPi Studio, iPi Recorder
Autodesk Motionbuilder 2013 лучше, но я использую 2012, т.к. 2013 у меня не работает

Часть 1. Получение MoCap данных


Калибрация

Устанавливаем iPi Studio и iPi Recorder, подключаем Kinect. Более подробно об этом можно прочитать на wiki ipisoft инструкция для старой версии программы, в последней версии настройка происходит немного иначе.

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

Сенсоры могут быть расположены в 2х конфигурациях:
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии12

Unity Unite: Никто не обнимет необъятного!

Время на прочтение5 мин
Количество просмотров15K
Скажем прямо без всяких предисловий: мы ошиблись. Unity Unite вживую — это мероприятие настолько широкое, что рассказывать о нём в подробностях, выкладывать резюме каждого доклада — практически невозможно, да и ненужно. Каждый из них можно будет посмотреть в записи (скорее всего, заработает такая ссылка).

Передать атмосферу праздника и кайф от нетворкинга (зачем и нужны, собственно, отраслевые конференции) тоже достаточно сложно.
Поверьте, этого хватало!

На фотограмме наши бойцы вместе с Давидом Хельгасоном, бокалом шампанского и Йоакимом Анте на вечеринке во второй день конференции. Крайний слева — явно дух Unity Unite.

Поэтому мы решили поделиться выводами и общими итогами конференции, которые были целиком и полностью предвосхищены открывающим выступлением отцов-основателей Unity (под катом — полный таймлайн видеозаписи).



И ещё, для тех, кто не знает, что такое Unity, и кому лень читать всё. Вот это «мультик» на новой версии Unity, который демонстрируется в реальном времени: каждую сцену можно покрутить и посмотреть с разных ракурсов. Также можно взять и поменять одним кликом цвет волос персонажа сразу на весь ролик.



Подробности для тех, у кого нет 1:50 лишнего времени
Всего голосов 31: ↑27 и ↓4+23
Комментарии17

Unity Unite: Амстердам в 3D

Время на прочтение4 мин
Количество просмотров11K
Далеко не все знают, что 22 августа — это День Государственного флага РФ, 23 августа — международный день памяти жертв работорговли, а 24 августа — День незалежності України. Другой малоизвестный факт заключается в том, что в Амстердаме в эти дни пройдёт ежегодная конференция для Unity3d-разработчиков «Unity Unite», не приуроченная ни к одной из перечисленных дат.



Интерактивное агентство «Кельник» отряжает на конференцию космодесант из четырёх подготовленных unity-бойцов, и каждый день конференции мы будем делиться новостями и информацией оттуда «из первых рук».

О том, чем интересна эта конференция,
можно узнать под катом
Всего голосов 15: ↑10 и ↓5+5
Комментарии6