Обновить
13.92

Unity *

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

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

Карты морщин в ролике The Blacksmith

Время на прочтение2 мин
Количество просмотров15K
На этапе планирования ролика The Blacksmith мы никогда не рассматривали всерьез создание специального шейдера для кожи. Нам требовалось простое решение, которое позволило бы сделать мимику антагониста более реалистичной. Недолго думая, мы попробовали добавить в проект карты морщин на основе блендшейпов.

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


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

Решение типичных проблем при сборке XCode проекта, сгенерированного Unity3D

Время на прочтение6 мин
Количество просмотров15K
В данной статье описаны некоторое типичные проблемы, возникающие при сборке/запуске на устройстве/выкладке в App Store проекта XCode для iOS, сгенерированного через Unity3D, а также их причины и решения. По личному опыту данные проблемы возникают довольно часто и не только у меня. В большей части статья может помочь тем, кто не очень знаком с нативной разработкой на iOS.

На момент написания статьи использовались Unity3d версии 5.1.2f и XCode 7.0.1. При использовании Unity3D версий 5.2 и выше, проблемы, перечисленные далее в статье также будут повторяться. Некоторые из проблем связаны с нововведениями в iOS 9.0. Внимание под катом много графики.
Подробности

Виртуальный квадрокоптер на Unity + OpenCV (Часть 2)

Время на прочтение11 мин
Количество просмотров21K
КПДВ

Доброго времени суток, дорогие хабравчане!

Этой статьей я хотел бы продолжить серию о том, как подружить Unity, C++ и OpenCV. А также, как получить виртуальную среду для тестирования алгоритмов компьютерного зрения и навигации дронов на основе Unity. В предыдущей статье я рассказывал о том, как сделать виртуальный квадрокоптер в Unity. В этой статье речь пойдет о том, как подключить C++ плагин, передать туда изображение с виртуальной камеры и обработать его посредством OpenCV.
Читать дальше →

Многопоточность в Unity средствами реактивных расширений

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


В данной статье будут рассмотрены основные проблемы, возникающие при разработке многопоточных мобильных игр средствами Unity, а также способы их решения с помощью UniRx (реактивные расширения для Unity).

Статья состоит из двух частей. Первая посвящена многопоточности для «самых маленьких», в ней доступным языком рассказывается о потоках и способах их создания, о синхронизации потоков. Вторая часть посвящена реактивным расширениям, их устройству, принципу работы и способам применения.
Читать дальше →

Visual Studio Code — эволюция кроссплатформенного редактора кода на примере версии для OS X

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


Visual Studio Code — редактор кода, с поддержкой более 30 языков программирования и форматов файлов, а так же обладающий рядом дополнительных, полезных возможностей.  
 
Инструмент вышел весной этого года, и ранее мы уже успели рассказать о базовых возможностях этого кроссплатформенного редактора. Напомню, что использовать VS Code можно на компьютерах под управлением Windows, OS X и Linux.
 
Однако, за полгода существования инструмент регулярно обновлялся и продолжает обновляться раз в месяц, расширяя свой функционал, список поддерживаемых языков, постоянно улучшая существующие возможности, основываясь на отзывах и пожеланиях пользователей.
 
Сегодня мы поделимся обзором следующих возможностей Visual Studio Code на примере использования в OS X: интеграция с Unity3D, Visual Studio Online, GitHub, а так же подробными видео-материалами по установке, настройке и комфортной работе с VS Code на Mac.
Читать дальше →

Bomberlands — история разработки, отчёт за год и советы начинающим

Время на прочтение18 мин
Количество просмотров8.5K
image
Если ты доделал свою первую игру, значит с тобой что-то не так.

Именно эта фраза, прочитанная в одном из постов, впечаталась в мою память 2 или 3 года назад. И автор был прав. Начав делать свой первый прототип, большинство разработчиков бросают его на пол пути и берутся за следующий по разным причинам.
Осторожно, трафик!

Unity — Концептуальные идеи и подсказки для новичков игродева. Мощная оптимизация 2D проекта

Время на прочтение5 мин
Количество просмотров38K
Ссылка на первую статью из этой серии.

Быстрое вступление

Я долго думал какую тему выбрать на этот раз, и решил, что расскажу про некоторые фишки, которые помогут оптимизировать вашу игру. Особенно это будет актуально для новичков, потому что чаще всего первая игра оказывается игрой для смартфонов и планшетов. А на мобилках, сколько бы там ядер не оказывалось — 6 или 8, игры все ещё очень несбалансированные в плане потребления ресурсов. Код и его идея, которые будут приводится в этой статье являются немного более сложными для понимания чем те две строчки кода, которые я приводил в своей предыдущей публикации. Хотя, я не правильно выразился — код легко понять — но порог вхождения в это понимание будет чуть выше чем легко (для новичков конечно), придется посидеть минут 5.

Введение в идею

Как вы создаете объекты в Unity из префабов? Только Instantiate и никак иначе — другой функции там просто не существует.

Для тех кто не помнит или еще не знает, что такое Instantiate (), маленькая справка — *аргументы инстанции*. Вот вы их создаете (объекты), и создаете, иногда удаляете, потом опять создаете, и так в течении всего уровня. Это бьёт по оптимизации и существенно — почему? Потому что так написано на всех форумах Unity, а иногда проглядывается и в документации, а документацию надо слушаться. Как Instantiate бьет по про производительности?
Читать дальше →

Виртуальный квадрокоптер на Unity + OpenCV (Часть 1)

Время на прочтение7 мин
Количество просмотров36K
КПДВ. Виртуальный квадрокоптер в окружении параллелепипеда и цилиндра

Доброго времени суток, дорогие хабравчане!

Что нам стоит дом построить? Нарисуем — будем жить. В этой серии статей я хотел бы поделится опытом строительства (и рассказать как) виртуального квадрокоптера в Unity. А также получить ценные советы от коллективного разума хабра :) Виртуального дрона я задумал с целью тестирования существующих алгоритмов компьютерного зрения, а также их приложения в навигации коптеров. С 5й версии в Unity есть возможность писать C++ плагины, то есть имеется возможность применить всю коровью суперсилу все возможности сторонних C/C++ библиотек, таких как OpenCV, чем я, собственно, и собираюсь заняться. Да, реальный мир намного сложнее Unity. Но мне хочется верить, что использование такого симулятора может послужить хорошим начальным приближением для разработки искусственного интеллекта дрона. Если вам интересно, то добро пожаловать под кат.
Читать дальше →

Как без мата создать игру на Unity3D

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

Пролог


В начале 2015 года я решил написать свою первую игру. В качестве движка я, не долго думая, выбрал Unity3D, так как у меня был опыт в C# и JavaScript, и знакомые, которые могли помочь. Я вспомнил одну мини-игру, в которую я играл в детстве, и решил сделать нечто похожее. Установил себе Unity и поставил себе цель сделать рабочий прототип за пару недель, параллельно изучая движок.

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

Экспорт Terrain'а из WorldMachin в Unity3D

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


Эта статья является адаптированным под современны редактор переводом на русский язык оригинальной инструкции: «Terrain export from world machine to unity».


World Machine может служить отличным генератором местности для Unity. Unity же имеет нативную поддержку текстур и splatmaps. Вы можете создать и использовать несколько слоёв текстур местности одновременно. Здесь представлен простой рабочий код для импорта в Unity местности из World Machine. Пожалуйста, обратите внимание, что, хотя этот метод работает для основных местностей в unity, многие продвинутые пользователи могут создать собственные шейдеры местности, которые могут потребовать другую технику исполнения.
Читать дальше →

Разработка и публикация ассета в Unity Asset Store

Время на прочтение3 мин
Количество просмотров24K
image

Многие игры имеют схожие в себе компоненты (базовые игровые механики, интеграция с социальными сетями, алгоритмы поиска путей, GUI и т.д.), которые куда проще и дешевле адаптировать под свой проект, чем разрабатывать с нуля.

Тут нам на помощь приходит Unity Asset Store, который позволяет покупать\продавать практически все, что поможет при разработке, будь то отдельные скрипты, паки с моделями или же целые игровые проекты и стартер киты, которые могут сэкономить огромный объем труда, позволив не писать базовые вещи, которые есть почти во всех играх.

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

Unity — Концептуальные идеи и подсказки для новичков игродева. Простая процедурная генерация моделей для 2D игры

Время на прочтение5 мин
Количество просмотров41K
Введение в проблему

Здравствуйте, дорогие читатели!

Мысли о создании серии простых уроков «концептуальные идеи для новичков игродева» появились у меня спонтанно, где-то в 2:00 по Московскому времени во время создания своего нынешнего проекта. Ну нет, это так мне кажется, что спонтанно, но, наверное, это мое подсознание так среагировало. Среагировало потому, что все больше юных (коим я и сам являюсь) и очень юных программистов решают заняться созданием игр. Как мне кажется, общая тенденция молодежи-программистов (и людей, интересующихся сферой программирования) плавно перешла от создания сайтов и модных блогов к созданию развлекательных продуктов. Я начинаю замечать это и среди своих знакомых, которые одно время говорили, что, мол игры — это не серьезное программирование, но теперь уже проявляют настоящий интерес к этой среде.

Я объясняю это для себя следующим, очевидным образом. Любые информационные направления приобретает массовые тенденции к изучению при выполнении двух условий: наличие простого и адекватного инструмента осуществления конкретных задач в выбранной информационной сфере и легкость получения прибыли при продаже ваших выполненных задач. В пример же опять можно привести сферу веб-технологий (когда-то сайты было создавать ультра-хардкорно, а сейчас, наверное, даже моя мама сможет поставить блог на WordPress или его аналогах. Опять же почему? Потому что WordPress открыл возможность создавать свои блоги всем мамам вокруг света, и потому что веб-сайты открыли доступ к быстрой популярности, славе, деньгам и рому).

Но пришла эра развлечений – я не буду упоминать с каким трудом делались первые игры, но прошли десятилетия, стали появляться платные игровые движки, через какое-то время они стали практически бесплатные (Unity, Unreal Engine4), причем не движки от Васи с соседнего подъезда в которых можно только сделать “грабеж корованов ”, а движки мастодонты который представляют из себя комплексные среды разработки, способные реализовать ваши проекты мечты. Однако есть и обратная сторона этих популярных технологий. А именно большое количество некачественных продуктов. Обленились придумывать что-то свое… “Лучше сделаю флеппи берд!” – подумал Вася.
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров23K
Последние 2 месяца выдались особенно урожайными на события, связанные с движком Unity. В дайджесте вы найдете отчет By The Numbers, обучающие материалы, новости и полезные статьи. Keep calm and use Unity!


Читать все

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

Сколько стоит сделать мобильную игру?

Время на прочтение5 мин
Количество просмотров6.8K
Меня зовут Евгений, я разрабатываю компьютерные игры. Я успел поработать в больших компаниях и маленьких студиях программистом, а также у меня есть хобби: делать небольшие мобильные игры целиком: придумывать, рисовать, программировать.
Сейчас я заканчиваю игру Out of Brakes и хочу на ее примере посчитать, сколько же стоит разработать игру своими силами для App Store?
Читать дальше →

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

Время на прочтение6 мин
Количество просмотров15K
Наш дайджест принесет вам немного магии, тепла и солнечного настроения. В ожидании бабьего лета читайте актуальные новости геймдева и полезные советы по разработке игр.


Читать далее

Создание нативного iOS плагина для Unity3d. Недокументированные возможности

Время на прочтение6 мин
Количество просмотров8.7K
В Unity3d существует возможность подключения нативных плагинов к приложению. На официальном сайте Unity3d есть документация по взаимодействию с нативным кодом на iOS. Данная документация ограничивается описанием того, как вызвать ту или иную функцию из плагина, который вы собрали сами и как сделать обратный вызов. В документации описано каким правилам должна соответствовать описываемая функция и немного о том, как передать в нее параметры. В конце статьи с документацией есть ссылка, по которой можно скачать пример под названием Bonjour.

К сожалению в документации не описано, что делать в случае если вашему плагину необходимо перехватить событие о том, что пользователь подписался на Push Notification или приложение перешло в бэкграунд (AppDidEnterBackgound), тогда как доступ к этим событием бывает необходим для некоторых плагинов, которые вы возможно захотите написать.
Читать дальше →

Работа с освещением в Unity — теория и практика

Время на прочтение13 мин
Количество просмотров190K
В видеоиграх красивое освещение в реальном времени сильно бьёт по производительности, что особенно заметно на мобильных устройствах. Таким образом, разработчики вынуждены искать методы обхода этой проблемы. Lightmapping — технология, сохраняющая информацию об освещении в текстуру, что позволяет высвободить вычислительные ресурсы под другие нужды.
В этой статье я познакомлю читателя с теорией освещения в играх, опишу процесс создания “лайтмапа” в Unity 5 и поделюсь рядом советов.
image
Читать дальше →

Практическое руководство по взлому (и защите) игр на Unity

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


Когда речь идёт о программном обеспечении, термин «взлом» зачастую ассоциируют с пиратством и нарушением авторских прав. Данная статья не об этом; напротив, я решительно не одобряю любые действия, которые прямо или косвенно могут навредить другим разработчикам. Тем не менее, эта статья всё же является практическим руководством по взлому. Используя инструменты и методы о которых далее пойдёт речь, вы сможете проверить защиту собственной Unity игры и узнаете, как обезопасить её от взлома и кражи ресурсов.
Читать дальше →

Использование Global Illumination в собственных шейдерах в Unity 5

Время на прочтение9 мин
Количество просмотров16K
image
Привет, Хабр! Unity 5 предоставляет нам из коробки систему глобального освещения (Global Illumination, GI), которая позволяет в реальном времени получать действительно очень приятную картинку, что разработчики продемонстрировали в своем нашумевшем ролике The Blacksmith. Наряду с системой глобального освещения универсальный материал Standard перевел в разряд устаревших все прежние материалы. Несмотря на крутость стандартного материала (а он, ни много ни мало, основан на физической модели), я задался вопросом, а можно ли подключить систему глобального освещения к собственному поверхностному шейдеру. Что из этого получилось, а также с чем мне пришлось столкнуться в процессе, читайте под катом.
Читать дальше →

Реальные причины роста популярности PhoneGap и других кроссплатформенных инструментов разработки

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


Кроссплатформенные инструменты разработки вроде PhoneGap и Xamarin сейчас популярнее, чем когда-либо. Это хорошо. Правда, причины такой популярности кроются отнюдь не в желании девелопера создать качественное приложение, которое понравилось бы пользователю. На самом деле причины несколько иные.

Согласно новому исследованию компании Visionmobile, базирующемуся на результатах опроса 8000 разработчиков, 30 % всех девелоперов, которые занимаются созданием мобильных приложений, используют кросс-платформенные инструменты. Но это вызвано желанием разработчика сэкономить свое время и деньги, а не улучшением взаимодействия с пользователями.
Читать дальше →