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

разработка

SslStream не работает в Unity с .NET 4.x

Случайно обнаружил баг с SSL: на Android и iOS (на других не проверял) некорректно срабатывает конструктор SslStream. Появляется ошибка:

Unable to find libc

Актуально для всех последних версий Unity, где есть .NET 4.x. Если переключиться на .NET 3.5 (который deprecated) — всё работает, как должно.

Надеюсь скоро починят :(


В тему про SSL: этот генератор SSL самоподписных сертификатов, я уже упоминал в заметке про SSL в Unity, недавно автор по моей просьбе немного обновил его — теперь можно генерить сертификаты с дополнительными параметрами, например, subjectAltName и добавлять туда IP адреса :)

17 января   android   ios   unity   разработка   с#

Прогнозирование физики в Unity

На Хабре недавно был перевод статьи, про прогнозирование физики с использованием Physics.Simulate(). Интересное решение, которое вполне можно попробовать применить на каком-нибудь несложном проекте.

В примере показаны разные варианты обработки, с задержками и сглаживаниями. Вот например, как выглядит «сбой детерминированности»:

А вот конечный результат работы алгоритма:

На Github есть все исходники, с примером эмуляции сервера. Также, в комментариях к оригиналу статьи, на сайте автора, развернулась интересная дискуссия.


А ещё, в новой версии 2018.3 теперь можно симулировать не все физические объекты, а только объекты в нужных сценах. При загрузке или создании сцен, можно указать параметр (LocalPhysicsMode), который позволяет создать отдельный физический мир, независимо от основного. Это открывает большие возможности. Вот пример, как это сделать.

19 декабря   unity   разработка   ссылки   физика

Обновление UnityMobileInput

Теперь высота клавиатуры считается правильно везде и экран не сдвигается вверх при появлении клавиатуры. Это на Android такая история была.

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

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

Было
Стало

Вроде работает :)
UnityMobileInput

16 ноября   android   git   ios   plugin   проекты   разработка   с#

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

2018   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   разработка
Ранее Ctrl + ↓