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

разработка

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

Unity — Mulligan Renamer

Прокачанная тулза для переименовывания объектов в редакторе. Одновременная работа с множеством объектов, перечисление, добавление суффиксов, префиксов и т. д.

https://github.com/redbluegames/unity-mulligan-renamer

Unity-2D-Destruction

Ассет позволяет настраивать разрушение спрайтов в 2D, с применением физики. Выглядит интересно. Как в плане производительности — надо проверять.

https://github.com/mjholtzem/Unity-2D-Destruction

[Graphy] — Ultimate FPS Counter — Stats Monitor & Debugger

Отличный ассет для дебага. Показывает информацию об устройстве, статистику FPS, сколько памяти выделено, осталось и т. п. Рекомендую.

https://assetstore.unity.com/packages/tools/gui/graphy-ultimate-fps-counter-stats-monitor-debugger-105778

Editor Console Pro

Замена стандартной консоли в Unity. Поиск по логам, подсветка кода, настраиваемый интерфейс, экспорт в CSV, удаленный доступ. Вещь. Но платная.

https://assetstore.unity.com/packages/tools/utilities/editor-console-pro-11889

Unity-Script-Collection

Большая (обновляемая) коллекция ссылок на бесплатные скрипты и ассеты для Unity. Очень большой список, разбитый на категории. Есть что утянуть интересное. В закладки.

https://github.com/michidk/Unity-Script-Collection

26 октября   unity   ассеты   инструменты   разработка

Обновил Infinite Scroll

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

Теперь все ячейки могут быть любой высоты! Работает также быстро и с помощью одного скрипта.

Ссылка на Github

7 сентября   android   ios   unity   интерфейс   проекты   разработка   с#

Двойной слайдер на Unity

Понадобилось тут сделать двойной слайдер... И я не придумал ничего проще, чем использовать уже имеющиеся слайдеры, просто объединив два в один :)

Получилось как-то так:

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

Скрипт
Структура префаба

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

2018   unity   интерфейс   разработка   с#

Клон Stack на Unity за час

Видео с канала Unity3d College, как сделать клона популярной игры Stack, за 1 час!

Вообще канал интересный, не всё конечно, но автор регулярно снимает видео на различные темы и попадаются вполне себе.

2018   unity   видео   игры   разработка

Armory3D

Это игровой движок для Blender. Все модели, материалы, свет и прочее, идут из 3D редактора — полная интеграция.

Достаточно интересный инструмент. Он ещё в разработке, но уже много что сделано:

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

В основе всего этого, кроссплатфоменные Haxe и Kha

Естественно, в 2018 году, можно (и нужно) билдить под все основные платформы:

  • Android, iOS
  • Windows, Linux, Mac
  • PS4, Xbox One, Switch
  • HTML5
  • Ещё куча

Больше видео на канале в Youtube.
Начиная с последней версии, движок стал бесплатным! Все исходники лежат на Github.

2018   git   игры   инструменты   разработка   ссылки
2018   ecs   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 null;
		}
		transform.position = positions[i];
	}
}
...
Vector3[] positionsArray = { new Vector3 (10f, 10f, 0f), new Vector3 (20f, 20f, 0f), ... };
StartCoroutine (positionsArray, 1f);

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

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

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

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

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

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

2018   unity   игры   разработка   ссылки   уроки

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

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

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

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

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

HTML документация
2018   unity   инструменты   разработка   с#

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 + ↓