Как стать автором
Обновить
2
Карма
0
Рейтинг

Пользователь

Реализация поиска путей для ИИ-агентов с помощью NavMesh

Разработка игр *Unity *
Перевод
image

Следование по пути и управление движением


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

Чтобы казаться умными, ИИ-агенты должны уметь определять, что они делают, и если не могут достичь нужной точки, то они должны уметь прокладывать наиболее эффективный маршрут и изменять свой путь, когда на пути появляются препятствия.

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

Технические требования


Необходима версия Unity 2017, установленная в системе с Windows 7 SP1+, 8, 10 или с Mac OS X 10.9+. Код из данной статьи не будет работать на Windows XP и Vista, а серверные версии Windows и OS X не тестировались.

Файлы кода для этого поста можно найти на GitHub.

Чтобы изучить код в действии, посмотрите это видео.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 33K
Комментарии 3

Unity3D: архитектура игры, ScriptableObjects, синглтоны

Разработка игр *Unity *
Из песочницы
Сегодня речь пойдет о том, как хранить, получать и передавать данные внутри игры. О замечательной вещи под названием ScriptableObject, и почему она замечательна. Немного затронем пользу от синглтонов при организации сцен и переходов между ними.

Данная статья описывает частичку долгого и мучительного пути разработки игры, различные примененные в процессе подходы. Скорее всего, здесь будет много полезной информации для новичков и ничего нового для «ветеранов».
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 25K
Комментарии 15

Системы событий в Unity3D

.NET *Unity *
Tutorial
Доброго времени суток!

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

Разбирать все это дело мы будем на примере системы управления звуком. Данная система будет позволять нам включать/отключать музыку и звуки в настройках игры.
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 27K
Комментарии 6

Unity3D ECS и Job System

Программирование *Разработка игр *Unity *
Tutorial
В Unity3D с выходом версии 2018 появилась возможность использовать нативную (для Unity) ECS систему, сдобренную многопоточностью в виде Job System. Материалов в интернете не особо много (пара проектов от самих Unity Technologies да пара обучающих видео на ютубе). Я попробовал осознать масштаб и удобность ECS, сделав небольшой проект не из кубов и кнопок. До этого у меня не было опыта проектирования ECS, так что два дня ушло на изучение материалов и перестроение мышления с ООП, день ушел на восхищение подходом, и еще один-два дня — на разработку проекта, борьбу с Unity, выдергивание волос и курение семплов. В статье содержится немного теории и небольшой пример проекта.

Читать дальше →
Всего голосов 37: ↑37 и ↓0 +37
Просмотры 31K
Комментарии 12

Книга «Глубокое обучение на Python»

Блог компании Издательский дом «Питер» Python *Профессиональная литература *
imageГлубокое обучение — Deep learning — это набор алгоритмов машинного обучения, которые моделируют высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных преобразований. Согласитесь, эта фраза звучит угрожающе. Но всё не так страшно, если о глубоком обучении рассказывает Франсуа Шолле, который создал Keras — самую мощную библиотеку для работы с нейронными сетями. Познакомьтесь с глубоким обучением на практических примерах из самых разнообразных областей. Книга делится на две части: в первой даны теоретические основы, вторая посвящена решению конкретных задач. Это позволит вам не только разобраться в основах DL, но и научиться использовать новые возможности на практике.

Обучение — это путешествие длиной в жизнь, особенно в области искусственного интеллекта, где неизвестностей гораздо больше, чем определенности. Внутри приведен отрывок «Исследование и мониторинг моделей глубокого обучения с использованием обратных вызовов Keras и TensorBoard».
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 30K
Комментарии 8

Перевод вики проекта Svelto.ECS. ECS фреймворк для Unity3D

Разработка игр *C# *Unity *
Recovery mode
Из песочницы

Привет, Хабр! Представляю вашему вниманию перевод вики проекта Svelto.ECS, написанного Себастьяно Мандала (Sebastiano Mandalà).

Svelto.ECS — результат многолетних исследований и применения принципов SOLID в разработке игр на Unity. Это одна из многих реализаций паттерна ECS, доступная для C# с различными уникальными функциями, введенными для устранения недостатков самого паттерна.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 7.3K
Комментарии 0

Трассировка пути на GPU в Unity — часть 2

Работа с 3D-графикой *Разработка игр *Алгоритмы *Unity *
Перевод
image

«Нет ничего хуже чёткого образа размытой концепции». – фотограф Энсел Адамс

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

Основываясь на уже имеющемся у нас коде, мы итеративно решим уравнение рендеринга, сформулированное Джеймсом Каджия в 1986 году и преобразуем наш рендерер в трассировщик пути, способный передавать вышеупомянутые эффекты. Мы снова будем использовать C# для скриптов и HLSL для шейдеров. Код выложен на Bitbucket.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 6.3K
Комментарии 0

Нейросетевой синтез речи своими руками

Блог компании Центр речевых технологий (ЦРТ) Машинное обучение *
Из песочницы
Синтез речи на сегодняшний день применяется в самых разных областях. Это и голосовые ассистенты, и IVR-системы, и умные дома, и еще много чего. Сама по себе задача, на мой вкус, очень наглядная и понятная: написанный текст должен произноситься так, как это бы сделал человек.

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



Я решил попробовать сделать полностью нейросетевой синтез своими руками, а заодно и поделиться с сообществом своим опытом. Что из этого получилось, можно узнать, заглянув под кат.
Всего голосов 62: ↑61 и ↓1 +60
Просмотры 65K
Комментарии 22

Создание разрушаемых мешей

Работа с 3D-графикой *Разработка игр *Алгоритмы *
Перевод
image

Часть 1. Знакомство с Marching cubes


Как создать меш из любого хаоса
В Minecraft мы можем копать в любом направлении, убирая за раз по одному блоку с чётко заданными краями. Но в других играх разработчикам удаётся разрушать рельеф плавно, без кубичности Minecraft.

Вот пример из No Man’s Sky: видео.

Аналогичная техника применяется для отображения изображений с МРТ, metaball-ов и для вокселизации рельефа.

В этой части я расскажу о технике создания разрушаемого рельефа Marching Cubes, а в более общем применении — для создания плавного граничного меша твёрдого объекта. В этой статье мы начнём с рассмотрения двухмерной техники, затем трёхмерной, а в третьей части рассмотрим Dual Contouring. Dual Contouring — это более совершенная техника, создающая тот же эффект.
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 21K
Комментарии 3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность