uk
Feedback
Unity Новости

Unity Новости

Відкрити в Telegram

Новости Unity, GameDev Groups: @unity3d_ru (@unity_flood) Tags: #releases #fix Contact: @dm0mb

Показати більше
5 646
Підписники
+224 години
+37 днів
+1130 день
Архів дописів
Использование SVG в UI Toolkit В этом кратком совете вы узнаете, как использовать масштабируемую векторную графику (SVG) в UI Toolkit, чтобы ваши интерфейсы оставались невероятно четкими при любом разрешении.

​​Диэдральные подгруппы объяснены с помощью Factorio Диэдральная группа — это математический формализм, лежащий в основе всех вращений и отражений правильного многоугольника. Для n- стороннего многоугольника всегда существует n возможных вращений и n отражений для 2n возможных симметрий. Сочетание любых двух симметрий дает еще одну симметрию из той же группы, именно это и делает ее группой в математическом смысле. Теоретически это полезно знать для разработки игр. Я вспомнил об этом, когда увидел этот дневник разработчиков Factorio , где у разработчика возникли проблемы, потому что он изначально забыл учесть все возможные варианты развития событий.

Почему никто не использует Test-Driven Development в геймдев? https://habr.com/ru/articles/1045748/?utm_campaign=1045748&utm_source=habrahabr&utm_medium=rss

​​Behaviour Tree ориентированное на данные, для Unity — чистая среда выполнения C# и полноценный рабочий процесс для продакшена. Я разрабатываю бесплатный инструмент для построения деревьев поведения в Unity, доступный в исходном коде, для своих собственных проектов, и решил поделиться им здесь на случай, если он окажется кому-нибудь полезным. GitHub: github.com/vadimburym/DODBT Основная идея проста: дерево поведения только принимает решения, а всё остальное (движение, анимация, что угодно) просто их выполняет. Я также старался учитывать реалистичный производственный процесс, где разработчик создаёт дерево, дизайнер его корректирует, отдел контроля качества отлаживает его, и затем выпускается оптимизированная сборка. Немного о том, что это на самом деле делает: В режиме выполнения отсутствует MonoBehaviour и выделение памяти во время обработки запросов. Одно скомпилированное дерево может использоваться несколькими агентами, при этом каждый агент сохраняет свой собственный контекст и состояние. В комплект входит визуальный редактор графов и режим отладки во время выполнения, а граф компилируется в форму, доступную во время выполнения, поэтому данные редактора никогда не попадают в вашу сборку. Также отсутствует принудительная поддержка Blackboard, поэтому листья могут получать зависимости через DI, ServiceLocator или просто через прямой контекст. Он также хорошо взаимодействует с ECS, если вы хотите использовать его только в качестве слоя принятия решений. Несколько важных оговорок: В настоящее время редактор и инструменты отладки требуют Odin Inspector, хотя среда выполнения/сборка от него не зависит. Декораторов пока нет. Это ранняя версия, но уже пригодная для использования. И она, вероятно, будет более интересна программистам, разрабатывающим геймплей и ИИ, чем тем, кто ищет полноценное решение для ИИ с функцией перетаскивания. В планах у меня уже есть отдельная версия, совместимая с DOTS, которая в основном работает. Совместимость с Burst, BlobAsset и Jobs, а также некоторые улучшения, повышающие удобство использования, уже реализованы. В списке задач еще: генерация кода, режим отладки для версии DOTS, декораторы, больше примеров, улучшенная документация, общая доработка и, надеюсь, возможность работы редактора без Odin.

​​Полностью разрушаемые здания в Unity. Система разрушения воксельных объектов, которую я разрабатываю в Unity. Здания разрушаются и рушатся сами по себе, как только исчезает достаточное количество опор. Такие масштабные сцены пока не работают в режиме реального времени, оптимизация ещё продолжается.

Стоит ли Unity 7 сохранить UGUI? Похоже, Unity планирует отказаться от UGUI, вероятно, в Unity 7. discussions.unity.com/t/future-for-ugui/1556669/3 «Всё это к тому, что да, UGUI будет поддерживаться до тех пор, пока мы не будем готовы отказаться от него, о чём будет объявлено заранее». Хотя я и предполагаю, что целевая версия Unity 7 будет устаревать, это очевидный кандидат на крупномасштабное изменение, которое может привести к существенным изменениям. Это также соответствует плану унификации Unity: унификация конвейеров рендеринга, унификация ввода и унификация пользовательского интерфейса. Вы считаете, что Unity следует сохранить UGUI в Unity 7, пойдя на компромисс со своим планом по унификации всего, или же удалить UGUI, что нарушит работу проектов всех разработчиков? Мой ответ очевиден: да; UGUI следует оставить в Unity 7. Но, похоже, руководство Unity придерживается другого мнения, поэтому я хочу узнать общую точку зрения сообщества по этому вопросу, поскольку гарантирую, что Unity это увидит и учтет отзывы всех, прежде чем принимать это важное решение.

​​Миниатюрные изображения частиц и прямое воспроизведение в настраиваемом окне предварительного просмотра. В состав инструмента входят: - Миниатюры для префабов частиц (поддержка графов визуальных эффектов пока отсутствует) - Окно предварительного просмотра, позволяющее воспроизводить выбранный префаб частиц непосредственно в инспекторе, без необходимости размещать его в сцене или открывать в режиме префаба. - Улучшено окно предварительного просмотра для 3D и 2D префабов, включающее улучшенное освещение и несколько удобных режимов просмотра, таких как нормаль, UV, matcap и overdraw. Как и было обещано, он совершенно бесплатный и доступен на моём GitHub, а также я опубликовал его в Asset Store за 10 долларов для всех, кто сочтёт его полезным и захочет поддержать проект. Обе версии идентичны и включают в себя 100% одних и тех же функций. Версия для Asset Store предназначена исключительно для тех, кто предпочитает устанавливать инструменты через Unity или хочет поддержать текущую разработку. Изначально я создал это, потому что устал постоянно открывать префабы частиц, чтобы вспомнить, как они выглядят, и со временем это превратилось в нечто действительно полезное в моей повседневной работе.

Создание сервера для онлайн ММО игр на PHP ч. 17 — внедряю ИИ: механики из одного описания https://habr.com/ru/articles/1044640/?utm_campaign=1044640&utm_source=habrahabr&utm_medium=rss

​​Как создать простую физику автомобиля в Unity В этой истории я покажу вам, как смоделировать физику автомобиля, используя простые методы, а не сложные математические вычисления. Я использую базовый физический движок Unity и простую реализацию силового моделирования для имитации макроповедения автомобиля. Под «макроповедением» я подразумеваю попытку получить конечные результаты непосредственно, а не, скажем, имитировать мелкие физические аспекты, которые приводят к этому поведению. К ним относятся занос, недостаточная поворачиваемость, спотыкание, уровень сцепления и т.д. Преимущества заключаются в том, что вы получаете высокоуровневые параметры с четкими эффектами, и можете полностью настроить физическое поведение автомобиля, изменяя некоторые переменные. Именно поэтому мы также не используем готовые библиотеки, такие как Wheel Collider. Однако имейте в виду, что используемые здесь настройки будут скорее «аркадными», чем реалистичными, поскольку я хочу сделать акцент на эффектах. Кроме того, лично я считаю это более увлекательным, так как в таких условиях есть много возможностей для экспериментов с физикой (вспомните новый мировой феномен — Fall Guys).

​​Введение в DOD (проектирование, ориентированное на данные) DOD решает множество архитектурных проблем, и одним из его главных преимуществ является снижение количества промахов кэша для повышения производительности . Группируя данные последовательно, ЦП может обрабатывать большие объемы информации, не обращаясь постоянно к основной памяти (что приводит к промахам кэша). С другой стороны, ООП может вызывать частые промахи кэша, поскольку группирует данные на основе взаимосвязей между объектами. Это заставляет ЦП постоянно ждать при извлечении данных из основной памяти, что приводит к нерациональному использованию пространства кэша.

Управление задачами в Unity Одно из ограничений системы заданий Unity заключается в том, что эти структуры заданий должны быть полностью неуправляемыми, то есть в них нельзя размещать управляемые данные (например, поля типа класса). Это досадно, поскольку иногда действительно необходим доступ к управляемым данным в задании. Есть веские причины не обращаться к управляемым данным в заданиях: отладчик заданий Unity не может предсказать, к каким данным вы можете получить доступ при работе с управляемым объектом. Поэтому вы сами должны убедиться в отсутствии состояний гонки данных. Существует обходной путь для передачи управляемых данных в задание: GCHandle. A GCHandle - это неуправляемая структура, содержащая ссылку на произвольные управляемые данные (таким образом, чтобы сборщик мусора был о ней осведомлен).

​​Я смоделировал реалистичные биомы и растительность на своих случайных планетах. Все генерируется процедурно. Биомы каждой отдельной ячейки диаграммы Вороного определяются с помощью карты температуры и осадков по всей планете. Для большей согласованности биомов я использую алгоритм сглаживания на карте Вороного, своего рода клеточный автомат. Наконец, я использую деформацию домена и сглаживание краев диаграммы Вороного, чтобы сделать переходы более естественными. Что касается растительности, каждый биом имеет свои параметры лесного покрова и видовой состав, которые используются для определения того, какой тип деревьев/травы появляется в каждой потенциальной точке. Если вы хотите узнать больше о том, как я все это реализовал, я снял об этом видео на своем канале: www.youtube.com/watch?v=MJkDCoz98wM Генератор планет можно бесплатно скачать на моей странице в itch.iodevotegames.itch.io/geographically-accurate-planet-simulator

​​Более 10 лет опыта в разработке гоночных игр на Unity. Помимо разработки игр, я также участвую в реальных автогонках. Цель этого проекта всегда заключалась в создании максимально динамичного гоночного опыта, ориентированного на физику, управление и интенсивность, а не на упрощение аркадных схем. Автомобили созданы с использованием Unity WheelColliders, но физика движения транспортных средств была значительно переработана для достижения реалистичного поведения и стабильности на экстремальных скоростях. Соперники под управлением ИИ подчиняются тем же физическим законам, что и игрок. Они не обходят законы физики — им приходится учитывать реальные ограничения сцепления с дорогой, тормозной путь, инерцию и риск столкновения при гонках в плотном потоке машин. Большое внимание было уделено также системе камер, чтобы сохранить ощущение скорости и интенсивности, одновременно обеспечив читаемость в хаотичных гоночных ситуациях. Мир бесконечно генерируется. В результате получилась гоночная система, основанная на физике, созданная для быстрого, сложного и увлекательного игрового процесса.

​​Проверка работоспособности Steam Deck: как мы вдвое снизили нагрузку на графический процессор и вдвое увеличили время автономной работы (Native Linux / Unity 6.3) Чтобы внести ясность, с самого начала мы уделяли большое внимание производительности. Мы используем Addressables для ручной загрузки/выгрузки данных в память, потоковую передачу мипмапов для текстур и проводим тщательный аудит кода. Вместо ресурсоемких циклов наш код реактивный, использует R3 и VContainer для внедрения зависимостей, а также библиотеки с нулевым выделением памяти, такие как UniTask, чтобы минимизировать занимаемое пространство.

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

Привязка данных UI Toolkit во время выполнения: Динамические данные В UI Toolkit привязка данных во время выполнения синхронизирует пользовательские интерфейсы с динамическими данными приложения во время его работы. В этом видео показано, как назначать источники данных во время выполнения из C#, создавать привязки в коде и комбинировать рабочие процессы UI Builder с динамическими данными во время выполнения. Вы увидите, как UI Toolkit автоматически отражает изменение состояния игры без необходимости использования скриптов для обновления элементов пользовательского интерфейса вручную. Узнайте больше о привязке данных во время выполнения: on.unity.com/RuntimeDataBinding

Мои синглтоны в Unity наконец-то стали тестируемыми. Узнайте, как тестировать синглтоны в Unity, используя мокированные интерфейсы и фабрики, генерируемые из исходного кода. Это продолжение видео о децентрализованных синглтонах, где я показываю, как написать тест PlayMode для GameManager, мокировать SoundManager и DataStoreManager для обеспечения детерминированности тестов и наблюдать за сбоем теста при возникновении ошибок в поведении. Я также рассматриваю реальные недостатки такого способа тестирования синглтонов и случаи, когда следует использовать более совершенный фреймворк для внедрения зависимостей.

Mesh2Motion — невероятно простое БЕСПЛАТНОЕ приложение для создания анимации! Mesh2Motion — это потрясающий бесплатный инструмент для анимации с открытым исходным кодом… по сути, это версия Adobe Mixamo с открытым исходным кодом. Более того, Mesh2Motion постоянно пополняется новыми функциями, включая возможность анимации четвероногих животных, птиц, драконов, змей и даже кайдзю! И самое главное, он невероятно прост в использовании, как вы можете убедиться из этого видеоурока.