об играх, разработке и личном опыте

Избранное Все заметки GitHub icon Мой Github Обо мне
Позднее Ctrl + ↑

Видео по вторникам #3

Да, ещё одно видео про ARKit.

Игра AMON — 3D пазл в дополненной реальности.

Каждый уровень — новая скульптура разбитая на несколько частей и расположенная в пространстве. Нужно найти такую точку обзора, чтобы все части соединились воедино, тогда появится кнопка подтверждения и уровень считается пройденным. Звучит вроде просто...

Игра платная, но сделана качественно. Любителям головоломок понравится.

Стивен Возняк про Apple, игры и изобретения

Отличное интервью у Познера.
Оказывается игру Breakout придумал Возняк и Джобс отдал её Atari! На видео видно, как Стиву нравится про то что он рассказывает, как он всё придумывал и что в итоге получилось.

5 полезных ассетов и библиотек для Unity #2

1. Unity Loop Component [Ссылка]

Небольшая библиотека которая позволяет повесить хук на события Update, LateUpdate, FixedUpdate, OnRenderObject и другие.

2. UIEffect [Ссылка]

Коллекция эффектов для uGUI. Позволяет быстро добавить около десятка различных эффектов для интерфейса своей игры или приложения: размытие, пикселизация, сепия и т. д.

3. Расширение для MemoryProfiler [Ссылка]

Такое расширение для расширения, про которое я уже писал как-то :) Позволяет искать, фильтровать и выводить информацию в более удобном виде.

4. NaughtyAttributes [Ссылка]

Хорошее расширение для инспектора Unity. Позволяет добавить много удобных контролов: слайдеры, кнопки, выпадающие списки, валидаторы и ещё много чего. Рекомендую.

5. The Stack [Ссылка]

В завершении не ассет, а демка популярной игры Stack. Полезно для новичков, можно подглядеть как делаются такие простые, но в тоже время залипательные игры :)

Автоподстановка полей в UI

Нашёл интересное решение, которое сохранит дорогое время разработки, взяв на себя рутинные операции по присвоению объектов со сцены полям класса. Как-то так.

Например: вы сделали новый объект интерфейса, создали для него класс, добавили соответствующие поля и потом ручками в инспекторе Unity присвоили текстовое поле к Text и кнопку к Button.

А если таких полей 10-15? И окошек столько же... Я думаю мысль понятна.

Вот как раз для таких дел этот скрипт и есть. Только делает он всё сам. Работает это так:

using UnityEngine;
using UnityEngine.UI;

public class DialogWindow : AutoReferencer<DialogWindow> {
   public Text DialogLabel;
   public Button ConfirmButton;
}
Главное, чтобы названия полей и имена объектов совпадали. И типы соответственно.

Ну и сам скрипт. Конечно, вряд ли есть возможность использовать его везде — всё-таки архитектура приложения у всех отличается, однако, полезность какая-то в нём есть.

using System.Linq;
using UnityEngine;

public class AutoReferencer<T> : MonoBehaviour where T : AutoReferencer<T> {

   #if UNITY_EDITOR
   // Этот метод вызывается один раз, когда мы добавляем компонент на объект
   protected new virtual void Reset()
   {
       // Магия рефлексии
       // Для каждого поля в классе/компоненте, мы ищем только пустые или null
       foreach (var field in typeof(T).GetFields().Where(field => field.GetValue(this) == null))
       {
           // Теперь ищем объект с таким же именем
           Transform obj;
           if (transform.name == field.Name)
           {
               obj = transform;
           }
           else
           {
               obj = transform.Find(field.Name); // Или нужно сделать рекурсию, чтобы пойти глубже по иерархии
           }

           // Если находим объект с таким же именем как и поле - пытаемся присвоить его к этому полю
           if (obj!=null)
           {
               field.SetValue(this, obj.GetComponent(field.FieldType));
           }
       }
   }
   #endif
}

Подглядел на The Knights of Unity ;)

Видео по вторникам #2

Если вы ещё не видели — вторая часть видео полностью сделанного на Unity. Это реалтайм рендеринг!

2017   unity   видео

ARKit и Unity

ARKit от Apple сделал то, что не смог Google в своё время. Хотя все эти технологии уже несколько лет как известны и работают, Apple смогли всё это упаковать, выдать за инновацию (их!) и красиво продать — как обычно.

И я думаю, что будущее как раз за дополненной реальностью (AR), а не за виртуальной (VR). Потому что AR позволяет взаимодействовать с реальным миром: обучаться рисованию/медицине, управлять каким-нибудь девайсом, делать путешествия и экскурсии более интерактивными, и т. д.


Чтобы проверить ARKit на Unity, потестить демки и сделать что-то своё, вам потребуется:

  • iPhone 6S+ с iOS 11
  • Unity 5.6+
  • плагин ARKit
  • скорее всего обновить XCode, потому что старый не даст запустить приложение на iOS 11

Плагин кстати опенсорсный, можно посмотреть внутренности и поразбираться как всё устроено. В ветке на форуме можно спросить совета или узнать про последний апдейты.

Ну и несколько видео, что можно сделать с помощью ARKit.

2017   ar   ios   unity   ссылки

SublimeText vs VSCode for Unity

Судя по статистике, ко мне часто заходят по запросам связанным с настройкой SublimeText для Unity. Хочется вам сказать:

— Друзья! Переходите на VSCode — он удобнее. Для него также есть куча плагинов и расширений, подсветка, форматирование, автодополнение, дебаг... Всё работает очень быстро и ничего настраивать не надо. И он бесплатный.

https://code.visualstudio.com

Курс по игровой аналитике

Бесплатный онлайн-курс по игровой аналитике от devtodev. Для тех, кто всегда хотел разобраться как правильно анализировать показатели своей игры или приложения, но не знал как.
Сама система devtodev тоже очень неплоха, ещё и бесплатная, до определенного количество пользователей. Впрочем и цены адекватные. Тем кто пройдет полностью курс — ещё и скидки. Рекомендую.

https://edu.devtodev.com

Machine Learning теперь и в Unity

На волне популярности дополненной реальности, машинного обучения и нейронных сетей — Unity выпустила в открытый бета-тест свой SDK для машинного обучения.

На Github есть вики с описанием, как начать работать с SDK.
А вот так выглядит демо обучения агента:

Это круто!

Группы по Unity и GameDev

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

Unity

GameDev

Ранее Ctrl + ↓