reckfellENGINE

3D: первые объекты и запуск

Координаты, иерархия, видимость, камера и диагностика первого запуска.

На этой странице

Минимальный состав 3D-уровня

Entity3D хранит пространственное преобразование. Чтобы получить изображение и физическое взаимодействие, нужны отдельные объекты.

ЧастьНазначение
MeshInstance3D с MeshВидимая геометрия
MaterialВид поверхности
Camera3DИгровая точка зрения для своего Viewport
DirectionalLight3D, OmniLight3D или SpotLight3DОсвещение поверхностей, которые используют свет
WorldEnvironment с EnvironmentФон и параметры окружения
Физическое тело с CollisionShape3DФизическое взаимодействие

MeshInstance3D сам по себе не является препятствием для персонажа. Разделяйте визуальную часть и физическое тело: поворот декоративной модели не должен случайно менять форму столкновения. Рабочая последовательность есть в первой 3D-игре.

Оси, масштаб и преобразования

Используется правая система координат: +X вправо, +Y вверх, +Z назад. Для камеры направление вперёд — локальная -Z; Vector3.Forward равен (0, 0, -1). У импортированной модели собственная ориентация может отличаться.

Для обычного игрового масштаба ориентируйтесь на 1 единицу как на 1 метр. Проверяйте размер модели, физической формы и скорость движения вместе. Изменение масштаба картинки не исправляет неверные размеры коллайдера автоматически.

Position, Rotation и Scale описывают локальное преобразование. GlobalPosition относится к пространству мира. Дочерний Entity3D наследует преобразование непосредственного родителя Entity3D; обычная Entity между ними разрывает цепочку. TopLevel отключает наследование преобразования. Подробнее — 3D-преобразования.

Вид редактора и игровая камера

В рабочей области 3D выберите объект в дереве, найдите его действием фокусировки выделения и измените преобразование в инспекторе или манипулятором. Проверяйте назначенные сочетания в настройках редактора, если привычная клавиша не срабатывает.

Свободное перемещение по области 3D меняет вид редактора. Оно не перемещает Camera3D в игре. Для нужного игрового вида настройте Camera3D и сделайте её текущей через Current или MakeCurrent(). Камера должна смотреть на геометрию, а объект находиться между её Near и Far и входить в CullMask.

В одном Viewport используется одна текущая камера. Дополнительному SubViewport нужна своя камера для его 3D-вида. Сначала подтвердите правильный кадр запуском уровня, затем настраивайте освещение.

Свет при запуске

Предпросмотр солнца и окружения редактора не заменяет объекты уровня. Если модель видна в редакторе, но темнеет при запуске, проверьте реальные источники света, WorldEnvironment и материал. Материал без освещения — отдельный режим, поэтому наличие света требуется не для каждой поверхности.

Для начала достаточно одного понятного источника и контролируемого окружения. Не включайте сразу все эффекты: сначала проверьте экспозицию, тени и читаемость поверхности. Продолжение — свет и тени и окружение.

Проверить первый результат

  1. Убедитесь, что у MeshInstance3D назначен Mesh и его масштаб не равен нулю.
  2. Настройте Camera3D на объект и запустите нужный документ.
  3. Сравните кадр с освещением реального уровня, а не только с предпросмотром редактора.
  4. Если объект должен сталкиваться, проверьте физическую форму и реальный контакт отдельно от картинки.
ПроблемаПроверка
Пустой кадрТекущая камера, направление -Z, Near/Far, CullMask, Mesh и видимость
Модель тёмнаяРеальный свет, Environment и свойства материала
Персонаж проваливаетсяCollisionShape3D у тела, слои, маски и положение пола
Масштаб или движение неожиданныЛокальное и глобальное пространство, преобразование родителя
Импорт отличается от исходной моделиРазмеры, ориентация, материалы и параметры импорта

Для внешних моделей см. импорт 3D; для первых конструкций — CSG.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.