В переводе представлен новый подход к модульному тестированию огромной базы унаследованного кода на C++, плохо реагирующей на тесты.
Рубрика «unity3d» - 42
Моки, фейки и заглушки на C++
2016-01-19 в 16:22, admin, рубрики: c++, game development, unity, Unity 3D, unity3d, Блог компании Plarium, код, модульное тестирование, оптимизация, разработка, С++, тестированиеПростой пул объектов в Unity3D
2016-01-14 в 8:53, admin, рубрики: C#, destroy., game development, instantiate, pool, unity3d, оптимизация, разработка, физикаВ процессе разработки я столкнулся с необходимостью создания пула объектов. Прочитав эту и другие статьи, решил написать для своих нужд пул попроще с доступом к объекту по строке (названию префаба).
Итак, начнем. Пул состоит из четырех скриптов. Состояние вкл/выкл на объекте в пуле определяется его свойством Unity activeInHierarchy, чтобы не городить дополнительных переменных.
Читать полностью »
Альтернативный Sound Manager для мелких и средних проектов на Unity3D
2016-01-13 в 9:38, admin, рубрики: C#, game development, unity3d, рефакторинг На написание данной статьи меня мотивировала другая статья о пригодном для использования в маленьких проектах менеджере звуков. В данном посте я опишу некоторые недостатки, которые автор не перечислил, и предложу свой вариант реализации, на мой взгляд, исправляющий их.
Данная статья будет полезна как начинающим разработчикам для приобретения опыта и получение готовой наработки, так и заядлым архитекторам, в офисах которых не утихают споры о значимости отделения вида от модели и удаления статики из кода. Я уверен в том, что решение, предложенное мною, не является полностью универсальным, и имеет свои недостатки, однако важным и приятным элементом для меня стало бы то, что каждый заинтересованный читатель почерпнул бы полезное для себя и улучшил собственные модули, используя мои советы.
Читать полностью »
Кастомные корутины в Unity 5.3
2016-01-09 в 14:09, admin, рубрики: coroutines, custom coroutines, game development, Gamedev, unity, unity3d, ПрограммированиеВсем привет. Это перевод статьи из официального блога движка Unity. В ней пойдет речь о способе создания своих корутин, появившемся в версии 5.3.
Среди новых блестящих возможностей Unity 5.3 я обнаружил одну небольшую вещь, которая оказалась мне полезной, и, думаю, может пригодиться и вам. Это кастомные корутины, представленные классом CustomYieldInstruction. Благодаря ему, вы сможете очень просто создать свои собственные корутинные yield-операторы. Давайте рассмотрим это на живом примере.
Читать полностью »
Создание игровых уровней: советы и хитрости (часть 2)
2016-01-07 в 3:22, admin, рубрики: game development, Gamedev, level design, unity, unity3d, дизайн уровней, инди, левел дизайн, разработка игр, разработка мобильных приложенийЭто вторая часть моей статьи с левел-дизайнерскими Tips and Tricks, которые разработчик может использовать, чтобы повысить общее качество своей игры. Это ни в коем случае не пошаговое руководство, а только сборник идей и полезных советов, основанных на моём личном опыте. Первая часть статьи была больше ориентирована на визуальную составляющую дизайна уровней, в этот же раз мы поговорим о ещё более фундаментальных вещах, начиная с прототипирования и заканчивая плэйтестингом с аналитикой.
Sound Manager для небольших игр и прототипов на Unity
2016-01-05 в 11:14, admin, рубрики: game development, unity3dВоспроизвести звук в Unity просто. Нужно создать компонент AudioSource прикрепить к нему звуковой файл в виде AudioClip и вызвать audioSource.Play() из скрипта. Или даже поставить автовоспроизведение на при создании объекта(Play on Awake).
Сложности начинаются когда звуков в игре становится много. Их все нужно расставить, прописать приоритеты. Звуки отдельно, музыку отдельно. При регулировке громкости звуков и музыки раздельно тоже сложности. Можно, конечно, регулировать громкость разных каналов в AudioMixer, но он не работает в WebGL. А Webplayer сейчас считается устаревшим.
А если какой то звук повторяется несколько раз подряд(например игрок быстро нажимает на кнопку и играет звук клика), то хорошо бы чтобы тот не обрывался на середине, а начинался новый, не мешая предыдущим. Да еще и при включении паузы звуки игры нужно ставить на паузу, а звуки меню нет. Из коробки такая возможность в Unity есть, но почему то доступна только из скрипта и не все о ней знают.
В общем хочется простой и удобный SoundManager, создание которого я и опишу. Для крупных проектов он не подойдет, а вот для прототипов и небольших игр вполне.
Создаем 2D-порталы с помощью шейдеров
2016-01-04 в 11:52, admin, рубрики: development, game development, shaders, unity, unity3d, Блог компании Plarium, геймдев, игры, Работа с анимацией и 3D-графикой, разработка, шейдерыВ этой статье я расскажу о том, как достичь вот такого эффекта:
По сути, шейдер, о котором пойдет речь, работает как пост-эффект для камеры или встроенные фильтры blur и vignette в Unity. Он принимает входное изображение (точнее, RenderTexture) и выводит его с наложенными эффектами.
Читать полностью »
Создание игровых уровней: советы и хитрости
2016-01-04 в 1:40, admin, рубрики: bloom, game development, Gamedev, level design, lighting, unity, unity3d, дизайн уровней, инди, левел дизайн, нарратив, освещение, постэффекты, разработка игр, разработка мобильных приложенийНа Хабрахабре достаточно много инди-разработчиков, некоторым из них приходится в той или иной степени заниматься левел-дизайном. В течение последних нескольких месяцев я безвылазно работал над примерно полусотней различных игровых уровней, и хотел бы поделиться своим опытом. В планах написать две статьи с эффективными Tips and Tricks, которые вы можете использовать, чтобы повысить качество вашей игры. Это ни в коем случае не пошаговое руководство, а только сборник идей и полезных советов.
Поддержка Unity в Consulo за 2015 год в одном посте
2016-01-03 в 12:25, admin, рубрики: .net, consulo, IDE, java, unity3d
Хотя поддержка Unity в Consulo и появилась в конце 2014 года (первый коммит) — большинство возможностей появилось именно в 2015 году. Ниже описаны значимые фичи, которые были реализованы:
Архитектура игрового клиента многопользовательской Tower Defence. Новогодняя история
2015-12-30 в 23:16, admin, рубрики: game development, Gamedev, Go, unity, unity3d, WebSocket, догоним и перегоним, котик, ненормальное программированиеПривет!
Некоторые, возможно, помнят что полгода назад я писал о том как мы за полгода запилили прототип многопользовательской игры.
По итогам голосования тогда аудитория решила, что стоит написать продолжение об архитектуре игры. Под катом вторая серия в незаслуженно забытом ныне жанре производственной драмы, много картинок, видео актуального на данный момент геймплея и новогодний котик.
Краткое содержание предыдущих серий
Как-то в конце декабря 2014 года команда из четверых человек решила создать клон одного из самых популярных модов к WarCraft 3 — Legion TD. Читать полностью »