Избранное Все заметки GitHub icon Мой Github Обо мне
68 заметок с тегом

unity

GitHub для Unity

Юнитеки озадачились и выпустили из беты Github for Unity. Как понятно из названия, это расширение для работы с Github. Теперь все операции можно делать прямо из редактора. Кроме того, есть ряд приятных мелочей:

  • большие файлы загружаются в отдельное хранилище LFS (Large Files Storage)
  • отображение различий в файлах с использованием различных предустановок
  • строка с быстрыми действиями в Git
  • уведомления с обновлениями

Исходный код расширения доступен на Github (где же ещё :).

8 мая   ecs   unity   разработка   ссылки

Что нас ждёт в Unity 2018. Roadmap.

Самые главные нововведения:

Взято из канала https://t.me/korovany

  • ProBuilder, ProGrids и PolyBrush
  • Обновление системы террейна
  • Sprite Shape — умные спрайтов
  • Новая система костной анимации для спрайтов
  • Импорт SVG-файлов
  • Text Mesh Pro полностью интегрирован
  • Улучшили Cinemachine
  • Shader Graph
  • Post Processing v2
  • Update системы частиц
  • Новый VFX-редактор, node-based
  • Nested Prefabs
  • Prefab Mode
  • Scene Fragments

Интересного много, продукт развивается, но это не отменяет того факта, что релизы выходят с серьёзными багами, которые долго не исправляются :(

24 апреля   unity   видео   инструменты

Unity Mobile Input

Выложил на Github плагин нативного ввода для мобильных устройств. Это небольшая надстройка над стандартным Unity InputField UI. Работает на iOS и Android.

Зачем он нужен:

  1. Нативное поле ввода и клавиатура
  2. Отсутствует раздражающее дополнительное поле над клавиатурой в Android
  3. Для iOS можно добавить кнопку «Готово»
  4. Настройка кнопки Return для клавиатуры: стандартная, далее, готово, поиск
  5. Для работы нужно просто повестить скрипт MobileInput на родной InputField UI

До этого, было временное решение, которое не обладало необходимыми опциями, да и ошибки были. Собственно, на то оно и временное :) Но в Unity до сих пор нет таких возможностей для ввода, поэтому пришлось сделать такой плагин.

В моей версии исправлены ошибки и отрефакторен почти весь код от старого и неподдерживаемого плагина UnityNativeEdit.

Исходники на Github

10 апреля   android   git   ios   plugin   unity   интерфейс   проекты

Симуляция физики в Unity

Уже на подходе Unity 2018, а ещё в текущей 2017 версии добавили возможность симуляции физики.

Т. е. можно, буквально, посмотреть как и где будут объекты через определенное количество шагов, симулировал все перемещения, столкновения и т. п.

Лучше один раз увидеть, как говориться:

Вообще, это открывает много интересных возможностей. Жаль, что вызов Physics.Simulate можно делать только в основном потоке :(

29 марта   unity   видео   физика

Интерполяция по нескольким точкам

Обычная линейная интерполяция, но вместо двух точек на входе массив из Vector3. Таким образом можно плавно двигать объект по множеству точек.

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

Если же нужно, чтобы объект пробегал по всем точкам за заданное время, то функцию надо немного поменять и сначала посчитать расстояние между всеми точками.

public IEnumerator Move (Vector3[] positions, float time) {
	for (int i = 0; i < positions.Length; i++) {
		Vector3 startPosition = transform.position;
		float t = 0f;
		while (t < 1) {
			t += Time.deltaTime / time;
			transform.position = Vector3.Lerp (startPosition, positions[i], t);
			yield return new WaitForEndOfFrame();
		}
		transform.position = positions[i];
		startPosition = positions[i];
	}
}
...
Vector3[] positionsArray = { new Vector3 (10f, 10f, 0f), new Vector3 (20f, 20f, 0f), ... };
StartCoroutine (positionsArray, 1f);

Это если не хочется из-за одной функции тянуть левую библиотеку в проект :) А так, DOTween решает наверно все задачи связанные с анимацией объекта.

2018   unity   разработка

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

Сначала TextMeshPro и Anima2D. И вот ProBuilder теперь часть Unity. Доступен бесплатно во всех редакциях. Polybrush и ProGrids тоже!

Unity скупает ассеты которые себя зарекомендовали и делает их часть движка. Это круто.

ProBuilder

Не работав раньше с такими инструментами, но скачав и потестировав, хочу сказать — это отличный инструмент для прототипирования! Быстрый и удобный.

ProGrids

Немного подробнее с гифками, в блоге Unity: https://blogs.unity3d.com/ru/2018/02/15/probuilder-joins-unity-offering-integrated-in-editor-advanced-level-design/

Подборка статей по мультиплееру

Почти все последние игры-хиты — многопользовательские. Ведь играть с живыми игроками всегда интереснее — это факт. Но сделать многопользовательскую игру намного сложнее, это тоже очевидно. Мало того, что меняется вся архитектура самого клиента-игры, ещё потребуется сервер, если это онлайн игра. Про некоторые движки онлайн игр, я уже писал.

Также при создании онлайн игры надо будет решить кучу важных моментов: протокол, регистрация и синхронизация игроков, защита от читеров и ботов, лаги, пинг, предсказание, и т. д. И это всё надо учесть как на сервере, так и на клиенте. Да, уже есть готовые фреймворки и онлайн сервисы, где всё это реализовано с примерами клиентов на разных языках и платформах. И в некоторых статьях про это тоже есть.

Ниже небольшая подборка статей и видео, которые ввели меня в курс дела и теперь почти на все эти вопросы, я нашёл ответы.

Генерация документации C# проекта

Как вы комментируете свой код?
Или так: вы комментируете свой код? :)

В своих Unity проектах я использую XML документацию. Это позволяет редактору кода или IDE использовать IntelliSense — всплывающие подсказки, автодополнение кода и т. п.

Для Visual Studio Code есть плагин в маркете C# XML Documentation Comments. Достаточно написать /// (три слеша) и плагин сгенерирует комментарий в нужном формате. Это удобно, это правильно, так надо делать :) В смысле, комментировать код.

Потом, с помощью таких XML комментариев можно сгенерировать документацию всего проекта. Например, с помощью Doxygen. Скармливаем Doxygen папку со скриптами и на выходе получаем что-то такое:

HTML документация

Unity blur effect и 2 камеры

В этом примере, я собрал сразу два интересных момента:

  1. как сделать размытый фон
  2. как использовать сразу 2 камеры

Для чего это может понадобиться? Например, чтобы одна камера была для игры, с настроенными пост эффектами, другая для интерфейса. Или чтобы сделать вот такой эффект размытия. В общем-то, можно и 3 камеры использовать. Зависит от потребностей и фантазии...

Фокус в том, чтобы настроить камеру на рендер только нужного слоя.
Как было сделано в этом примере:

  • Объекты или контейнер которые должны быть размыты, находятся в слое Blur
  • Blur camera рендерит только слой Blur (Culling Mask)
  • Для Main camera этот слой отключён, стоит флаг Depth only и глубина больше, чем у Blur camera
  • Ну и на Blur camera висит собственно скрипт размытия

По такому же принципу можно одновременно и 3 камеры сделать. Если потребуется.

Исходник на Github

2018   camera   git   unity   графика   разработка
Ранее Ctrl + ↓