Для любителей языка программирования Fsharp и игрового движка Unity3D выкладываю ассет для интеграции FSharp в Unity3D.
Unity3D: Модификация делегата iOS приложения
Тех, кто выбирает последний путь (хотя, думаю, они и сами знают), ожидает множество проблем на этом нелегком и тернистом пути:
- iOS — абсолютно незнакомая и обособленная экосистема, развивающаяся своим путем. Как минимум придется потратить довольно много времени, чтобы понять как можно подобраться к приложению, и где в недрах автоматически сгенерированного XCode проекта находится код взаимодействия Unity3D движка c нативной составляющей приложения.
- Objective-C — довольно обособленный и мало на что похожий язык программирования. А когда речь заходит о взаимодействии с C++ кодом Unity3D приложения, то на сцену выходит «диалект» этого языка, под названием Objective-C++. Информации о нем совсем немного, большая ее часть древняя и архивная.
- Сам протокол взаимодействия Unity3D с iOS приложением довольно скудно описан. Расчитывать стоит исключительно на туториалы энтузиастов в сети, которые пишут как разработать простейший нативный плагин. Мало кто при этом затрагивает более глубокие вопросы и проблемы, возникающие при потребности сделать что-то сложное.
Тех, кто хочет узнать о механизмах взаимодействия Unity3D с iOS приложением, прошу под кат.
Визуальный редактор логики для Unity3d. Часть 3
Приветствую Вас, уважаемые читатели. В сегодняшней статье, которая является заключительной в серии о визуальном редакторе логики, как это ни странно, речь пойдет именно о редакторе. Данный аспект всей системы в целом является наиболее сложным и обширным, в том числе и по реализации. Я постараюсь раскрыть все основные моменты архитектуры, а также те решения, которые я использовал для создания таких вещей, как рисование связей, компонентов, инспектора и т. п.
Unity3d. Начало работы, практические советы. Рецензия
Содержание:
- Раздел 1. Введение
- Что такое Unity ?
- Возможности Unity3d
- Проблема дополнительных знаний
- Раздел 2. Начало работы
- Вспомогательная литература
- На это стоит обратить внимание
- NB!
- Сцены
- Отладка
- Структурирование
- Раздел 3. Практические советы
- Написание скриптов
- Видеоуроки
- Устранение ошибок
- Раздел 4. Завершение работы
- Выводы
- Публикация игры
- *Оптимизация
- Раздел 5. Дополнительная информация
- Теория графики
- Полезные ссылки
- Мнение
- Что хочется увидеть в будущем?
- Источники информации
Как я подружил Unity3D и F#
В последнее время я стал все больше и больше интересоваться функциональным программированием, и при выборе языка предо мною пал выбор среди двух очень понравившихся мне языков — Haskell и F#.
В F# меня соблазнило то, что его можно компилировать в MSIL сборки, что обеспечивает возможность использования библиотек классов F# в других языках Microsoft .Net, а также то, что он и сам может их использовать. Ко всему прочему, я ещё и начинающий разработчик Unity3D, и мне в голову пришла мысль: если компилируется в MSIL, то может можно использовать F# скрипты в Unity? Гугление дало ответ: по-человечески нельзя. Можно создать библиотеку классов, поставить в проекте ссылки на библиотеку UnityEngine.dll, компилировать и импортировать как ассет, после чего добавлять компоненты Mono-behaviour напрямую из библиотеки, но это не слишком удобно, согласитесь. Однако, пройдя гугл, Reflection и справку по Unity, мне все таки удалось приблизить(но не повторить в точности) работу с F# скриптами внутри редактора к тому виду, в котором производится работа со скриптами на встроенных языках. Подробности — под хабракатом.
Тестирование игр в Unity3D и на эмуляторах
Всем привет. Сегодня публикуем вторую часть текстовой расшифровки интенсива, который был проведен в преддверии старта курса "Game QA Engineer. С первой частью можно ознакомиться по ссылке.
Интенсив провела Надежда Чертовских — руководитель отдела QA в компании BeresnevGames и преподаватель OTUS.
• План вебинара:
• Познакомиться с инструментами для тестирования мобильных игровых проектов.
• Попробовать запустить игру в эмуляторе Вluestacks.
• Попрактиковаться в сборе логов с мобильной игры.
• Создать свое тестовое устройство в эмуляторе android studio.
• Попытаться пройтись по чек-листу, который составили на первом интенсиве.
Unity3d. Уроки от Unity 3D Student (B00-B03)
Введение.
Данная статья представляет из себя первый набор базовых (из раздела Beginner) уроков. Уроки в основном нацелены на изучение скриптинга и использование компонентов.
Поэтому предполагается, что с основами работы в GUI Unity вы слегка знакомы. Если нет, изучите вводный раздел на этом же сайте.
Уроки достаточно ясные и короткие, так что трудностей в процессе их изучения должно возникать минимум.
PS: А хорошо это или плохо — вопрос достаточно сложный.
В некоторых местах уроков есть минимальные косметические изменения, не затрагивающие основную суть.
Unity3d. Уроки от Unity 3D Student (B04-B08)
Предыдущие уроки вы можете найти в соответствующем топике.
Теперь в каждом посте в скобках (в конце) будут указываться номера уроков. Буква в начале номера обозначает раздел (B-Beginner, I — Intermediate).
PS: Если вы не проходили предыдущие уроки, очень рекомендую их пройти, т.к. последующие изредка на них ссылаются.
Учим и учимся Unity3D в Калининграде
Около трех лет назад где-то на просторах интернета я нажал на баннер, говорящий о том, что вот он, тот инструмент, который вам нужен для создания игр. Открылся сайт, который почему-то сразу понравился и заставил задержаться, а надпись «бесплатно» завладела моим вниманием окончательно. Это был сайт компании Unity Technologies, я пробежался по ссылкам и без оглядки нажал на закачку. Программа закачалась, установка прошла успешно, запуск прошел тоже без проблем и – ура! Передо мной то ли Photoshop, то ли 3D Max, да еще и программировать можно, да еще и игры… Помню, как мне говорили: «Зачем ты это делаешь, что за «пукалки», почему, для чего». Но оторваться было невозможно: элегантно, быстро, красиво, стройно можно делать игры, причем полет фантазии не ограничен, возможностей много, концепции логичны, пространство трехмерное, магазин есть. Да, и документация прекрасная, хочу отметить это достоинство компании Unity Technologies, которое, на мой взгляд, дало ей немало очков форы по сравнению с другими разработками: на сайте компании можно найти и уроки, и готовые проекты, и ответы на вопросы, руководства пользователей, справочник функций, сообщество, вопрос — ответ и т.д. Все с примерами, внятно, доступно.
Я сделал парочку игр в стол: стреляющий звездолет в стиле galaxy и простой arkanoid. Так как всю свою жизнь меня интересовала сфера образования (кстати, сферой образования я интересуюсь не только теоретически, постоянно преподаю в различных учебных заведениях длительные и краткосрочные курсы), я вдруг понял, что именно этого и не хватает в нашей области: у нас в Калининграде никак и никто сегодня не учит делать игры. Я имею в виду в школах и ВУЗ’ах. Да и в коммерческих учебных центрах тоже. Школам простительно, но вот почему в институтах и университетах до сих пор не введут такой курс?
В этой публикации я хочу поделиться с вами опытом обучения основам создания компьютерных игр с использованием Unity3D, рассказать о сложностях такого процесса, почему это надо делать, как это лучше делать и чем мы тут, в Калининграде, занимаемся в этом направлении. Далее – немного видео, фотографий, мыслей, ссылок, опыта, планов, вопросов, советов, просьб, рекомендаций. Нам очень нужно ваше мнение!
Unity3d. Уроки от Unity 3D Student (B13-B16)
Уроки B01-B03
Уроки B04-B08
Уроки B09-B12
PS: Так же исправленны некоторые ошибки в предыдущих уроках, большое спасибо хабравчанинам ufomesh и MikhailS.
Некоторый опыт разработки игры на Unity3D
Скриношты для привлечения внимания:
Моральная сторона вопроса
Стоит ли заниматься подобным, не имея серьезных знаний в разработке игр, моделировании, программировании? Ответа на вопрос от меня не последует, он у каждого будет свой. С уверенностью могу сказать точно — я не пожалел. Я попытаюсь кратко и четко выделить и описать узкие места с которыми я столкнулся, проложить карту по граблям.
Unity3d
Unity3d с недавних пор разрешено использовать бесплатно и на всю мощь. Я долго метался между несколькими движками, но c# оказался для меня решающим преимуществом. Кроме того, в Unity3d очень удобный способ построения пользовательского интерфейса. Для тех кто не боится Lua, также могу посоветовать Project Anarchy, или Unreal Engine 4 если не брезгуете визуальным программированием. У меня сложилось впечатление, что Unity3D прекрасно подходит для мобильной разработки. К сожалению у Unity3D слабое русскоязычное комьюнити и нередко приходится лезть на официальный qa.
Использование OpenFeint в Unity3d
Итак, наша задача на текущий момент — встроить OpenFeint в наш проект игры на Unity3d. Итак, все по порядку.
UnityCar — автомобили с физикой для Unity3D
Игровой движок Unity3D не нуждается в особом представлении. Для тех, кто не знает, что это такое, могут посмотреть сайт unity3d.com/unity/ или поискать другие топики на хабре про этот замечательный кросс платформенный движок. Для него уже написано множество дополнений, моделей и других пакетов. Об одном из них и пойдет речь.
UnityCar — полноценный физико-реалистичный пакет симуляции автомобилей для Unity3D, который прост в использовании и реализует множество физических моделей, включая модели повреждений и разрушений.
Небольшое видео, демонстрирующее возможности пакета:
Визуальный редактор логики для Unity3d. Часть 1
Введение
Здравствуйте уважаемые читатели, в сегодняшней статье я хотел бы остановиться на таком феномене в разработке приложений на Unity3d, как визуальная разработка или если бы точнее, разработка с применением визуального представления кода и логики. И, прежде чем продолжить хочу сразу уточнить, речь не идет о визуальном программировании, от слова “совсем”, никаких Blueprint вариаций в мире Unity и никаких генераций C# кода. Так что же тогда подразумевается под визуальным редактором логики? Если вам интересен ответ на данный вопрос добро пожаловать под кат.
Статьи в серии:
→ Визуальный редактор логики для Unity3d. Часть 2
→ Визуальный редактор логики для Unity3d. Часть 3
Неигровое применение Unity3D и Oculus Rift
По нашим прикидкам, материала набирается на добрый десяток статей, поэтому мы немного расскажем о самом проекте, а вы выбирайте, какую тему раскрыть подробнее.
Disclaimer: все изображения в статье — либо скриншоты из браузера, либо автоматически сгенерированы на сервере, и не имеют никакой пре- или пост-обработки.
Агрегатор событий для Unity3d (Event Aggregator)
Необходимый функционал:
- Любой класс может подписаться на любое событие (часто агрегаторы в юнити делают подписчиками конкретные Gameobject)
- Должна быть исключена возможность двойной подписки конкретного экземпляра, на конкретное событие (в стандартных средствах за этим нужно следить самому)
- Должен быть функционал как ручной отписки, так и автоматической, в случае удаления экземпляра/отключения монобеха (хочется подписаться и не париться что подписчик вдруг откинет копытца)
- события должны уметь перекидывать данные/ссылки любой сложности (хочется в одну строку подписаться и получить весь комплект данных без заморочек)
Unity3D 3.х Введение в Surface Shaders
В Surface Shader вы можете управлять освещением, тенями, путями отрисовки (rendering path) используя все тот же Cg / HLSL код.
Порядок событий в Unity3D
Не так давно заинтересовался этим движком. Благо, русских материалов на эту тему достаточно много, в том числе и на хабре.
Однако, я нигде не видел описание (на русском языке) порядка возникновения различных событий в создаваемых играх, а это один из факторов оптимального размещения скриптов в тех или иных функциях.
Поэтому решил перевести раздел Execution Order of Event Functions из англоязычной справки Unity3D.
Надеюсь, из этого выйдет что-нибудь путнее. Кто заинтересовался — добро пожаловать под кат =)