Пишем Third Person Controller на MonoGame. Часть I
rds1983 43 минуты назад Пишем Third Person Controller на MonoGame. Часть I Средний 9 мин 1.3K .NET * C# * Разработка игр * 3D-графика * Туториал ВведениеВ этой серии туториалов мы реализуем простой Third Person...
Вот важная новость с фронта ИИ: rds1983 43 минуты назад Пишем Third Person Controller на MonoGame. Часть I Средний 9 мин 1. NET * C# * Разработка игр * 3D-графика * Туториал ВведениеВ этой серии туториалов мы реализуем простой Third Person Controller на базе MonoGame.
Серия рассчитана на читателей, уже знакомых с основами MonoGame и 3D-графики. Для комфортного понимания материала желательно разбираться в следующих темах:C#MonoGameОсновы 3D-геометрии — матрицы, вектора, преобразованияПонимание работы камеры в 3D-сцене и того, что такое world, view и projection матрицыБазовый 3D-рендеринг в MonoGame (BasicEffect, SkinnedEffect)Скелетная анимация (для первой части необязательно)Если с чем-то из этого списка вы пока не знакомы — в Интернете достаточно хороших материалов. В частности, рекомендую знаменитые Reimers Tutorials: протяжении всей серии мы будем использовать мою библиотеку: попытка сделать более удобное API для работы с 3D-моделями в MonoGame.
Технические детали
Библиотека позволяет:Создавать 3D-примитивы (кубы, сферы, капсулы и т. ) прямо в кодеЗагружать модели в форматах gltf/glbРаботать со скелетной анимациейNo Content PipelineТакже важно отметить, что в этой серии мы не будем использовать Content Pipeline. Почему я предпочитаю не использовать Content Pipeline, я подробно описал здесь: него мы будем использовать другую мою библиотеку: позволяет загружать ассеты напрямую в «сыром» виде без промежуточной компиляции.
Часть IВ первой части герой будет представлен в виде капсулы. Мы реализуем рендеринг, движение и прыжки. Итоговый результат будет выглядеть так:В следующих частях мы заменим капсулу на полноценную модель персонажа и добавим анимации.
ТуториалСоздание проектаСоздайте новый MonoGame-проект под любую платформу (например DesktopGL). После этого добавьте NuGet-пакет: автоматически подтянет и XNAssets. Скачайте этот архив: распакуйте его (он состоит всего из одного файла checker.
dds) в папку проекта и добавьте в . csproj следующий код: PreserveNewest Таким образом ассеты нашего проекта будут всегда копироваться в Output Directory. Инициализация и загрузка контентаДля простоты весь код мы будем писать прямо внутри нашего Game-класса.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





