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

разработка

Обновил Infinite Scroll

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

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

Ссылка на Github

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

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

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

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

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

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

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

7 августа   unity   интерфейс   разработка   с#

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

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

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

10 июля   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 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   разработка

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

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

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

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

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   графика   разработка

Unity & ECS

Тут Leopotam новый ECS для Unity запилил

Предлагаю тестить и пробовать что-нибудь сделать https://github.com/Leopotam/ecs
Обсуждение на Reddit
Чатик на gitter.im

Что такое ECS и зачем он нужен?

Подробно на примере другого фреймворка https://habrahabr.ru/post/197920/

Unity тоже делают свой ECS

Когда-нибудь в 2018 доделают :) Там же и про штатный DI https://www.youtube.com/watch?v=tGmnZdY5Y-E

2017   ecs   unity   разработка   с#
Ранее Ctrl + ↓