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

Unity — выбираем, какой массив использовать

Время на прочтение3 мин
Количество просмотров72K
Для тех, кто сталкивался с Unity, — не секрет, что эта платформа предоставляет большое количество разнообразных массивов — аж 5 штук (для JS и того больше — 6!). Так что же выбрать и как не запутаться в этом многообразии?

Начну — с конца. Сразу же приведу данные собранные в табличку.
Нетипизированный Типизированный
Доступ по индексу,
фиксированная длина
- встроенный массив
(built-in array)
Доступ по индексу,
динамический размер
ArrayList
или Javascript Array
List
Доступ по ключу Hashtable Dictionary
А теперь — давайте поговорим о каждом в отдельности…
Читать дальше →
Всего голосов 19: ↑8 и ↓11-3
Комментарии22

Unity3d. Уроки от Unity 3D Student (B04-B08)

Время на прочтение7 мин
Количество просмотров136K
Добрый день.

Предыдущие уроки вы можете найти в соответствующем топике.

Теперь в каждом посте в скобках (в конце) будут указываться номера уроков. Буква в начале номера обозначает раздел (B-Beginner, I — Intermediate).

PS: Если вы не проходили предыдущие уроки, очень рекомендую их пройти, т.к. последующие изредка на них ссылаются.

Перейти к урокам
Всего голосов 28: ↑24 и ↓4+20
Комментарии19

Хочешь сделать хорошо — сделай это сам: редактор UnityScript на базе FlashDevelop 4

Время на прочтение2 мин
Количество просмотров6.1K
Коротко: я подбил автора FlashDevelop внедрить в его редактор поддержку UnityScript и оказал посильную помощь в адаптации. Рабочий билд можно скачать здесь.

А теперь подробно: кто-то, возможно, читал мой предыдущий пост где я изучал доступные редакторы для UnityScript и пришел к выводу, что все как-то кривовато и хочется большего.

Опуская текст предыдущей статьи, могу сказать, что наилучшие результаты показал некий UnityDevelop — билд FlashDevelop старинной версии 2.0, который был адаптирован под Unity-версию javascript'а. Оно и не удивительно, ведь по своей сути UnityScript — это просто-таки близнец ActionScript'a. В целом — IDE выглядела неплохо, но хотелось, конечно же, — большего.

И тогда я пошел к разработчикам FlashDevelop на форум… Один из разработчиков (Philippe) откликнулся и заинтересовался. И работа пошла. Буквально за неделю мы с ним собрали работающий билд с поддержкой UnityScript. Конечно что касается кода — по большей степени сделал все он (за что ему огромное спасибо). Я больше направлял :)
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии10

Unity3D 3.х Terrain Bump Specular Shader

Время на прочтение4 мин
Количество просмотров16K
На данный момент Unity3D не поддерживает наложение на встроенный ландшафт карты нормалей и отражения(specular). Гугление по этому поводу принесло не очень впечатляющие результаты в виде вот этого шейдера и некоторых его модификаций. Воодушевившись картинкой и скачав архив меня постигло разочарование. Во-первых для работы шейдера на ландшафт необходимо вешать скрипт которым управляется шейдер (что очень неудобно), а во-вторых в данной реализации больше 4х карт нормалей нельзя назначить.
В этой статье я опишу процесс создания собственного шейдера для ландшафта, параллельно рассказав как работает стандартный шейдер.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии24

Unity3D 3.х Введение в Surface Shaders

Время на прочтение4 мин
Количество просмотров32K
Рано или поздно возможностей стандартных шейдеров вам станет не хватать, и тогда вам на помощь придут Surface Shaders. По сути это надстройка над обычными шейдерами, которая позволяет вам писать более понятный и компактный код.
В Surface Shader вы можете управлять освещением, тенями, путями отрисовки (rendering path) используя все тот же Cg / HLSL код.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии3

Unity Character Animation GDC 2012 Feature Preview

Время на прочтение2 мин
Количество просмотров3.5K
Пока идет процесс подготовки переводов следующей партии уроков от unity3dstudent, хочу поделиться новостью.
На прошедшем CDG для Unity3d была анонсирована новая система работы с анимацией и системой ввода.
Ознакомиться c ней можно посмотрев видео.
Подробнее
Всего голосов 7: ↑6 и ↓1+5
Комментарии5

Практические задания с сайта unity3dstudent.com

Время на прочтение4 мин
Количество просмотров18K
Из постов DisaDisa — переводов уроков с сайта unity3dstudent — я узнал об этом интересном сайте. Помимо уроков (вполне вменяемых, хотя и не совсем логичных — местами повествование переходит на очевидные моменты языков программирования (javascript, в случае этих уроков), такие как циклы или булевые выражения) там оказались ещё и так называемые “Challenges” — практические задания на применение материала из уроков. Задания сопровождаются видео-примером результата решения.

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

/* Для понимания статьи желательно иметь хотя бы небольшой опыт работы с Unity (особенно с пользовательским интерфейсом) — можно посмотреть пару постов от DisaDisa или первые уроки на unity3dstudent.com */

В этой статье – только про первое из заданий. Остальные — в самое ближайшее время.

UPD: Вторая задача
UPD 2: Третья


Да, замечу ещё, что под формулировкой задания (видео + небольшой текст) на сайте даны ссылки на уроки, необходимые для выполнения задания.

Challenge accepted?
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии3

Второе практическое задание с сайта unity3dstudent.com

Время на прочтение7 мин
Количество просмотров7K
Продолжая разбор задачек с unity3dstudent.com, рассмотрим вторую из них. Вот разбор первой задачи.
image
Ссылка на оригинальное задание: www.unity3dstudent.com/2010/07/challenge-c02-beginner

Суть: нужно создать сцену, в которой по нажатию пробела в поле зрения игрока начнёт падать ящик, в итоге запуская другой ящик в сторону мишени. После попадания мишень должна исчезнуть с каким-нибудь звуком. Запуск ящика – на основе рычага: один ящик уже лежит с одной стороны, ещё один падает на другую сторону рычага.

UPD: третья задача

Приступим!
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Unity3d. Уроки от Unity 3D Student (B09-B12)

Время на прочтение6 мин
Количество просмотров101K
Добрый день.

Предыдущие уроки вы можете найти по следующим ссылкам:
Уроки B01-B03
Уроки B04-B08

Перейти к урокам
Всего голосов 24: ↑20 и ↓4+16
Комментарии6

Как я стал indie gamedev-разработчиком или особенности национальной разработки на коленке

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

Для меня всегда интересным был gamedev (game development — разработка игр). Думаю, у каждого ребенка (подростка, гика, подставить свое) была такая пусть далекая и практически недостижимая, но мечта. Большинство вырастают и благополучно забывают о ней под грузом текущих проблем, а некоторые сохраняют ее даже до того момента, когда их дети вырастают и сами начинают мастерить что-то подобное. Мне повезло (или не повезло) относиться ко второй группе.
Читать дальше →
Всего голосов 66: ↑56 и ↓10+46
Комментарии53

В четвертой версии Unity3D появится поддержка GNU\Linux

Время на прочтение3 мин
Количество просмотров10K
Прочитав эту статью, был приятно удивлен новостью о том, что в четвертой версии Unity3D заявлена поддержка GNU\Linux!

  • Система анимации «Mecanim» (Mecanim animation system)
  • Поддержка DirectX 11 (DirectX 11 support)
  • Сборка приложений под Linux (Linux deployment)

Подробнее
Всего голосов 55: ↑50 и ↓5+45
Комментарии20

Третье практическое задание с сайта unity3dstudent.com

Время на прочтение9 мин
Количество просмотров10K
Продолжим разбирать практические задания с unity3dstudent.com. На очереди последняя на данный момент задачка. Статья слегка задержалась, но, надеюсь, будет кому-то полезна.

Вот ссылка на оригинальное задание: www.unity3dstudent.com/2010/07/challenge-c03-beginner

Суть: игрок должен уметь перемещаться вправо/влево и стрелять по трём мишеням. Мишени при попадании должны падать, а игроку за каждую сбитую мишень начисляется очко. По достижении трёх очков показывается экран окончания игры.

Первая задача.
Вторая задача.


Поехали!
Всего голосов 21: ↑20 и ↓1+19
Комментарии15

Экспорт 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

Прототипирование игровых проектов на Unity3d

Время на прочтение6 мин
Количество просмотров19K
Так сложилось, что вот уже год как я проживаю в холодной Финляндии. Изначально приехал сюда учиться, но последние несколько месяцев активно подыскиваю себе работу: занимался массовой рассылкой своего резюме, посетил многие ивенты/конференции, побывал в нескольких офисах разных финских геймдев-контор. Коих, к слову, тут довольно много: благо, местная International Game Developers Association (в отличии от родной, украинской) живет, здравствует и собирает народ на халявное пиво раз в месяц. Так вот, я заметил, очень многие компании (вместительностью 10-20 человек) или переходят, или уже перешли на Unity3D.

Изначально статья планировалась как философское размышление на тему баланса что_прогер_пишет/что_игрок_видит, с примесями полезных сниппетов/хинтов по работе с Unity. На самом деле, во время выполнения тестового задания в одну из компаний, ко мне внезапно нагрянула муза написать подобную статью, посему я пока не знаю, что из этого выйдет.

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

Порядок событий в Unity3D

Время на прочтение5 мин
Количество просмотров151K
Доброго времени суток.
Не так давно заинтересовался этим движком. Благо, русских материалов на эту тему достаточно много, в том числе и на хабре.
Однако, я нигде не видел описание (на русском языке) порядка возникновения различных событий в создаваемых играх, а это один из факторов оптимального размещения скриптов в тех или иных функциях.
Поэтому решил перевести раздел Execution Order of Event Functions из англоязычной справки Unity3D.
Надеюсь, из этого выйдет что-нибудь путнее. Кто заинтересовался — добро пожаловать под кат =)
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии11

Unity 3D. Создаём 3D меню

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

Введение


Хабра уже имеет за плечами пару туториалов на тему кроссплатформенного 3D движка «Unity 3D», но до сих пор не имеет уроков на тему 3D меню.
На эту статью меня натолкнул пост Unity3d script basics и Unity3D для начинающих — Туториал 1.
Так же пару людей поругалось на автора на тему «Уже не в том веке живём», поэтому вот вам щепоточка знаний.
Делая этот туториал, я предполагал, что вы уже знакомы с основами JS'a и интерфейса Unity 3D.
Работать я буду с Виндусовской версией Unity 3D. Обладатели других ОС думаю разберутся.
Читать дальше →
Всего голосов 8: ↑4 и ↓40
Комментарии4

Как я подружил 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

Использование сообществ для тестирования. Лекция-дискуссия в рамках Ciklum Speakers' Corner от QA менеджера Unity 3D

Время на прочтение1 мин
Количество просмотров1.7K
12 Июля, Одесса. Speakers' Corner: «Using User Community for Product Testing»

Встреча для тех, кто связан с продукт тестированием или геймдевом и часто задается вопросом «как создать реально крутую инфраструктуру для продукт тестирования?»
В четверг 12 Июля в рамках полюбившегося всем формата Speakers’ Corner в офисе Сиклум в Одессе представитель Unity 3D, QA менеджер из Дании Thomas Petersen поделится интересными наработками и опытом. Тема доклада-дисуссии: «Using User Community for Product Testing».
В рамках темы будут рассмотрены идеи и методики, как использовать и управлять сообществом пользователей для тестирования Вашего продукта. У Unity Technologies уже успешно получилось создать вокруг своего 3D движка большое сообщество — и они активно пользуются этим в компании. Но всегда есть направления для развития новых возможностей. Томас поделится идеями и наработками в этой области.
Читать дальше →
Всего голосов 4: ↑2 и ↓20
Комментарии0

Unity3d, Агенты и Танчики

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

Всем доброго времени суток!

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

Давно хотел этим заняться, но все времени не было. Сейчас наконец-то дошли руки сделать среду для агентов, хотя и не в таком масштабе. Так что если кому-нибудь интересно, присоединяйтесь! Репозитарий открытый, ссылка внизу.
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии19

Принципы минимализма при разработке игр для мобильных платформ

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

Преамбула


В конце лета прошлого года мы решили сделать продолжение нашей игры Папа Пингвин как полноценную новую игру. Вначале мы хотели лишь слегка изменить имеющуюся идею и выпустить на основе нее более серьезный проект, использующий наши наработки, однако мы недостаточно основательно подошли к вопросам препродакшена и не определили достаточно четко фокус и базовый геймплей проекта с самого начала. В результате игра получилась не такой лаконичной и цельной, как могла бы, а разработка игры затянулась. Причем не все запланированные фичи были реализованы, а в процессе разработки приходилось несколько раз останавливаться, пересматривать полученные результаты и упрощать как саму идею, так и дизайн уровней, интерфейс и т.д. Последние упрощения были сделаны после проведенных тестов и отзывов. В итоге получился именно Капитан Антарктика, а не Папа Пингвин 2. Результатом, откровенно говоря, я не совсем доволен. Хотя игра получилась очень интересной, многое в ней можно упростить и улучшить (что мы и постараемся сделать в ближайших обновлениях).

Встал вопрос о создании новой небольшой игры. И дабы не повторить опыт предыдущей, я сел и написал список требований, которые нужно держать в голове при запуске в производство небольшого проекта для iOS. Конечно, он учитывает, что у разработчиков уже должен быть некий опыт и свои наработки. Без них некоторые пункты не имеют смысла. К тому же, список ориентирован не на все жанры, и во многом определен нашими играми. Но что-то для себя из него, думаю, может почерпнуть каждый.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии21