Блог


ReflectionProbe в Godot

ReflectionProbe — это компонент в Godot Engine, предназначенный для создания динамических или статических отражений в 3D-сценах. Он захватывает окружающую среду в заданной области и использует эти данные для реалистичного отображения отражений на металлических, зеркальных или других отражающих поверхностях. Это ключевой инструмент для улучшения визуального качества материалов, таких как металл, стекло или вода.


Основные возможности

  1. Захват окружения:
    ReflectionProbe создает кубическую текстуру (кубемап), фиксируя окружающие объекты и освещение в своей зоне влияния.

  2. Режимы работы:

    • Static (статический): Отражения запекаются один раз и не обновляются.
    • Dynamic (динамический): Отражения обновляются в реальном времени (ресурсоемко).
  3. Настройка зоны:
    Определите область влияния через параметры Extents (размер) и Origin Offset (смещение).

  4. Интенсивность и маски:

    • Intensity регулирует яркость отражений.
    • Cull Mask задает, какие объекты участвуют в формировании отражений

LightmapProbe и LightmapGI в Godot

LightmapProbe в Godot — это компонент, связанный с системой запекания освещения (Lightmap GI). Он используется для улучшения качества глобального освещения в статичных 3D-сценах, позволяя более точно захватывать и распространять непрямой свет. Однако в Godot 4.0+ этот компонент был заменен на более современные решения, такие как LightmapGI и SDFGI. Разберемся, как это работает.


LightmapProbe в Godot 3.x

В Godot 3.x пробы (Probes) добавлялись через узел BakedLightmap для уточнения освещения в сложных областях:

  1. Функция:
    Пробы размещались вручную или автоматически для захвата информации о непрямом освещении.
  2. Использование:
    • Добавляли BakedLightmap в сцену.
    • Настраивали зону запекания и плотность проб.
    • Запускали процесс Bake для расчета световых карт.

LightmapGI в Godot 4.0+

В Godot 4 система запекания освещения была переработана:

  1. LightmapGI:

    • Полностью заменяет BakedLightmap из Godot 3.x.
    • Использует пробы автоматически, без ручной настройки.
    • Поддерживает динамические объекты через LightmapProbe (но в документации явно не упоминается отдельный узел).
  2. Как использовать:

    • Добавьте узел LightmapGI в сцену.
    • Настройте параметры запекания (разрешение, качество).
    • Запустите Bake через интерфейс редактора.

VoxelGI в Godot

VoxelGI (Voxel-based Global Illumination) — это компонент в Godot Engine, предназначенный для расчета глобального освещения (непрямого света) и отражений в 3D-сценах. Он использует воксельную (объемную) сетку для моделирования распространения света, создавая более реалистичное освещение, чем стандартные методы. Однако в Godot 4.0 и новее VoxelGI считается устаревшим и заменен на более современные технологии, такие как SDFGI (Signed Distance Field Global Illumination).


Основные особенности VoxelGI

  1. Непрямое освещение:
    Рассчитывает, как свет отражается от поверхностей и освещает другие объекты (например, красная стена отбрасывает красный оттенок на соседние предметы).

  2. Отражения:
    Создает приближенные отражения для металлических и гладких поверхностей.

  3. Воксельная сетка:
    Делит сцену на трехмерные кубы (вокселы) для расчета освещения. Чем выше разрешение сетки, тем точнее результат, но тем больше нагрузка на производительность.

  4. Требует запекания (Baking):
    Освещение рассчитывается заранее (offline) и сохраняется в файлы данных. Это не подходит для полностью динамических сцен.

RootMotionView в Godot

RootMotionView — это компонент в Godot Engine, предназначенный для визуализации и отладки root motion (перемещения корневой кости) в анимациях персонажей. Он помогает разработчикам точно контролировать, как анимации влияют на движение объекта в пространстве, особенно когда используется техника root motion (когда перемещение персонажа управляется данными анимации, а не кодом).


Для чего нужен RootMotionView?

  1. Визуализация root motion:
    Отображает вектор перемещения корневой кости (например, движение ног при ходьбе/беге), чтобы убедиться, что анимация корректно влияет на позицию персонажа.

  2. Интеграция с AnimationTree:
    Работает совместно с нодой AnimationTree, где root motion извлекается из анимации и применяется к трансформациям персонажа.

  3. Отладка анимаций:
    Позволяет увидеть, как анимация перемещает объект в пространстве, даже если сам персонаж управляется физикой или скриптами.

BoneAttachment3D в Godot

BoneAttachment3D — это компонент в Godot Engine, который позволяет привязывать дочерние объекты к определенным костям скелета (Skeleton3D). Это ключевой инструмент для создания динамических элементов, которые должны двигаться вместе с анимированным персонажем или объектом, например, оружия в руке, шляпы на голове или частиц вокруг магического посоха.


Основные возможности

  1. Привязка к костям:
    Объект автоматически наследует трансформации (позицию, вращение, масштаб) выбранной кости.

    var bone_attachment = BoneAttachment3D.new()
    bone_attachment.bone_name = "hand_right" # Имя кости в Skeleton3D
    add_child(bone_attachment)
  2. Динамическое обновление:
    При изменении позы кости (например, во время анимации) все дочерние объекты BoneAttachment3D будут двигаться вместе с ней.

  3. Смещение позиции:
    Можно задать локальное смещение относительно кости через свойства position, rotation и scale узла.

  4. Работа с несколькими скелетами:
    Если в сцене есть несколько Skeleton3D, можно выбрать конкретный скелет через свойство skeleton.

Skeleton3D в Godot

Skeleton3D — это ключевой компонент в Godot Engine, предназначенный для управления 3D-скелетами и создания анимаций. Он позволяет работать с иерархией костей, управлять их трансформациями, а также интегрировать физику (например, ragdoll) и модификаторы для сложных анимаций. Вот основные аспекты этого компонента:


Основные функции

  1. Управление костями:

    • Создание иерархии костей с родительскими и дочерними связями.
    • Настройка позы (текущее положение, вращение, масштаб) и расслабленной позы (исходное состояние костей).
    • Возможность программного изменения позы через методы, такие как set_bone_pose() или set_bone_global_pose().
  2. Анимации и модификаторы:

    • Интеграция с системой анимаций Godot (класс Animation).
    • Использование модификаторов (например, SkeletonModifier3D) для постобработки поз, включая инверсную кинематику (IK) или физические эффекты .
  3. Физика (ragdoll):

    • Поддержка симуляции физики для костей через PhysicalBone3D, что позволяет создавать реалистичные взаимодействия с окружением (например, падение персонажа) .
  4. Работа с кожей (Skin):

    • Привязка мешей к костям с помощью Skin, что обеспечивает деформацию модели в реальном времени (например, движение мышц или одежды) .

Generic6DOFJoint3D в Godot

Generic6DOFJoint3D — это компонент в Godot Engine, который создает универсальное соединение между двумя физическими телами, предоставляя полный контроль над шестью степенями свободы (6DOF). Это означает, что вы можете настраивать ограничения для линейного перемещения (по осям X, Y, Z) и вращения (вокруг этих осей) между объектами. Это самый гибкий тип соединения в Godot, позволяющий создавать сложные механизмы с точным управлением движением.


Основные особенности Generic6DOFJoint3D:

  1. 6 степеней свободы:

    • Линейные оси (перемещение): Ограничение движения вдоль осей X, Y, Z.
    • Угловые оси (вращение): Ограничение вращения вокруг осей X, Y, Z.
  2. Настраиваемые параметры для каждой оси:

    • Пределы движения: Минимальные и максимальные значения для перемещения и вращения.
    • Жесткость (Stiffness): Управляет "жесткостью" ограничений (например, эффект пружины).
    • Демпфирование (Damping): Контролирует сопротивление движению (амортизацию).
    • Моторы (Motor): Настройка двигателей для автоматического перемещения или вращения по оси.
  3. Два тела:
    Соединяет два физических тела (PhysicsBody3D), такие как RigidBody3D, StaticBody3D или CharacterBody3D.

  4. Силы и импульсы:
    Может передавать силы между объектами, имитируя пружины, амортизаторы или моторы.

PinJoint3D в Godot

PinJoint3D — это компонент в Godot Engine, который создает точечное соединение между двумя физическими телами в 3D-пространстве. Это соединение фиксирует две точки тел вместе, позволяя им свободно вращаться вокруг этой общей точки, но не перемещаться относительно друг друга. PinJoint3D полезен для создания механизмов, где требуется гибкое вращение, таких как качели, цепи, маятники или подвесные объекты.


Основные особенности PinJoint3D:

  1. Точечное соединение:
    Фиксирует две точки тел вместе, но позволяет им свободно вращаться вокруг этой точки (как болт, соединяющий два объекта).

  2. Два тела:
    Соединяет два физических тела (PhysicsBody3D), такие как RigidBody3D, StaticBody3D или CharacterBody3D.

  3. Параметры соединения:

    • Жесткость (Stiffness): Настраивает, насколько жестко соединение удерживает точки вместе.
    • Демпфирование (Damping): Контролирует амортизацию движения (сопротивление вращению).
    • Разрывное усилие (Break Force): Максимальная сила, при которой соединение разрывается.
  4. Вращение:
    Объекты могут свободно вращаться вокруг точки соединения, но не могут смещаться относительно друг друга.

SliderJoint3D в Godot

SliderJoint3D — это компонент в Godot Engine, который создает линейное соединение между двумя физическими телами в 3D-пространстве. Это соединение позволяет объектам двигаться вдоль одной заданной оси, как поршень, слайдер или направляющая. SliderJoint3D полезен для создания механизмов, где требуется ограниченное линейное перемещение.


Основные особенности SliderJoint3D:

  1. Линейное движение:
    Объекты могут двигаться только вдоль одной оси (например, вправо-влево, вперед-назад или вверх-вниз).

  2. Пределы движения:
    Вы можете задать минимальное и максимальное расстояние, на которое объекты могут перемещаться вдоль оси.

  3. Жесткость и демпфирование:
    Настройте жесткость (жесткость пружины) и демпфирование (амортизацию) соединения.

  4. Два тела:
    Соединение связывает два физических тела (PhysicsBody3D), такие как RigidBody3D, StaticBody3D или CharacterBody3D.

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

ConeTwistJoint3D в Godot

ConeTwistJoint3D — это компонент в Godot Engine, который представляет собой соединение между двумя физическими телами, позволяющее ограниченное вращение и наклон. Это соединение полезно для создания механизмов, где требуется гибкость в движении, таких как шаровые шарниры, подвески транспортных средств или соединения, имитирующие человеческие суставы.


Основные особенности ConeTwistJoint3D:

  1. Ограниченное вращение и наклон:
    ConeTwistJoint3D позволяет объектам вращаться и наклоняться в пределах заданных углов. Это делает его более гибким, чем HingeJoint3D, который ограничен одной осью вращения.

  2. Параметры соединения:

    • Угол поворота (Swing): Ограничивает вращение вокруг двух осей (например, влево-вправо и вперед-назад).
    • Угол скручивания (Twist): Ограничивает вращение вокруг одной оси (например, вращение вокруг собственной оси).
    • Жесткость и демпфирование: Настройка жесткости и демпфирования соединения.
  3. Два тела:
    Соединение связывает два физических тела (PhysicsBody3D), такие как RigidBody3D, StaticBody3D или CharacterBody3D.

  4. Силы и импульсы:
    Соединение может передавать силы и импульсы между объектами, что полезно для создания механизмов, таких как подвески или шаровые шарниры.

HingeJoint3D в Godot

HingeJoint3D — это компонент в Godot Engine, который представляет собой шарнирное соединение между двумя физическими телами в 3D-пространстве. Это соединение позволяет объектам вращаться вокруг одной оси, как дверь на петлях или рычаг. HingeJoint3D является подклассом Joint3D и используется для создания механизмов, где требуется ограниченное вращение.


Основные особенности HingeJoint3D:

  1. Ось вращения:
    HingeJoint3D позволяет объектам вращаться вокруг одной оси. Ось вращения задается через параметры соединения.

  2. Пределы вращения:
    Вы можете установить минимальный и максимальный углы вращения, чтобы ограничить движение.

  3. Два тела:
    Соединение связывает два физических тела (PhysicsBody3D), такие как RigidBody3D, StaticBody3D или CharacterBody3D.

  4. Силы и импульсы:
    Соединение может передавать силы и импульсы между объектами, что полезно для создания механизмов, таких как двери или рычаги.

  5. Параметры соединения:
    Вы можете настроить жесткость, демпфирование и другие параметры соединения.

Joint3D в Godot

Joint3D — это базовый класс в Godot Engine, который используется для создания соединений (joints) между двумя физическими телами в 3D-пространстве. Соединения позволяют ограничивать движение объектов относительно друг друга, создавая различные типы связей, такие как шарниры, пружины, шестерни и другие механизмы. Joint3D является родительским классом для всех типов соединений в Godot.


Основные особенности Joint3D:

  1. Соединение тел:
    Joint3D связывает два физических тела (PhysicsBody3D), такие как RigidBody3D, StaticBody3D или CharacterBody3D.

  2. Типы соединений:
    Godot предоставляет несколько типов соединений, которые наследуются от Joint3D:

    • HingeJoint3D: Шарнирное соединение (вращение вокруг одной оси).
    • SliderJoint3D: Линейное соединение (движение вдоль одной оси).
    • ConeTwistJoint3D: Соединение с ограниченным вращением и углом наклона.
    • Generic6DOFJoint3D: Универсальное соединение с шестью степенями свободы.
    • PinJoint3D: Точечное соединение (фиксирует две точки вместе).
  3. Ограничения:
    Соединения могут ограничивать движение объектов, например, вращение вокруг определенной оси или движение вдоль прямой.

  4. Силы и импульсы:
    Соединения могут передавать силы и импульсы между объектами, что полезно для создания механизмов, таких как пружины или маятники.

  5. Настройка параметров:
    Каждый тип соединения имеет свои параметры, такие как углы вращения, пределы движения, жесткость и демпфирование.

VehicleWheel3D в Godot

VehicleWheel3D — это компонент в Godot Engine, который используется для создания и управления колесами транспортного средства в 3D-играх. Этот компонент является частью системы VehicleBody3D, которая позволяет создавать реалистичные транспортные средства, такие как автомобили, грузовики или мотоциклы. VehicleWheel3D отвечает за симуляцию физики колеса, включая вращение, трение, подвеску и взаимодействие с поверхностью.


Основные особенности VehicleWheel3D:

  1. Физика колеса:

    • Вращение: Колесо может вращаться в зависимости от скорости и направления движения.
    • Трение: Настройка трения между колесом и поверхностью.
    • Подвеска: Симуляция подвески, которая позволяет колесу реагировать на неровности поверхности.
  2. Параметры колеса:

    • Радиус: Размер колеса.
    • Ширина: Ширина колеса.
    • Масса: Масса колеса, которая влияет на инерцию и физику транспортного средства.
    • Жесткость подвески: Настройка жесткости подвески.
    • Демпфирование подвески: Настройка демпфирования (амортизации) подвески.
  3. Управление колесом:

    • Рулевое управление: Колесо может поворачиваться влево или вправо.
    • Привод: Колесо может быть ведущим (передавать движение от двигателя) или свободным.
  4. Взаимодействие с поверхностью:
    Колесо может взаимодействовать с различными поверхностями, такими как асфальт, грязь или лед, что влияет на трение и управляемость.

  5. Сигналы:
    VehicleWheel3D предоставляет сигналы, такие как body_entered, которые позволяют обрабатывать взаимодействия с другими объектами.

Camera3D в Godot

Camera3D — это компонент в Godot Engine, который представляет собой виртуальную камеру в трехмерном пространстве. Камера определяет, какую часть сцены видит игрок, и используется для отображения игрового мира на экране. Camera3D позволяет управлять перспективой, углом обзора, положением и другими параметрами, что делает его ключевым элементом для создания игрового опыта.


Основные особенности Camera3D:

  1. Перспектива и проекция:

    • Перспективная проекция: Реалистичное отображение сцены с учетом глубины (по умолчанию).
    • Ортографическая проекция: Отображение сцены без перспективы (полезно для 2D-эффектов или изометрических игр).
  2. Положение и вращение:
    Вы можете управлять положением и вращением камеры, чтобы изменять точку обзора.

  3. Угол обзора (FOV):
    Настройте угол обзора камеры, чтобы контролировать, сколько сцены видит игрок.

  4. Ближняя и дальняя плоскости отсечения:
    Укажите, на каком расстоянии от камеры объекты начинают и перестают отображаться (near и far).

  5. Эффекты:
    Вы можете добавить эффекты, такие как тряска камеры, сглаживание (smoothing) или пост-обработка (например, bloom, glow).

  6. Управление камерой:
    Камеру можно управлять с помощью скриптов, анимаций или вручную (например, следовать за персонажем).

  7. Несколько камер:
    Вы можете использовать несколько камер в сцене и переключаться между ними.

Area3D в Godot

Area3D — это компонент в Godot Engine, который представляет собой область в трехмерном пространстве, способную обнаруживать другие объекты, но не участвующую в физической симуляции (например, не сталкивающуюся с другими объектами). Area3D используется для создания зон, которые могут запускать события при входе или выходе других объектов, а также для применения эффектов, таких как гравитация, звук или повреждения.


Основные особенности Area3D:

  1. Обнаружение объектов:
    Area3D может обнаруживать другие объекты, такие как PhysicsBody3D (например, RigidBody3D, CharacterBody3D) или другие Area3D.

  2. Сигналы:
    Area3D предоставляет сигналы, такие как body_entered, body_exited, area_entered, area_exited, которые позволяют обрабатывать взаимодействия с другими объектами.

  3. Формы коллизий:
    Для обнаружения объектов Area3D должен иметь одну или несколько форм коллизий (CollisionShape3D или CollisionPolygon3D).

  4. Слои и маски:
    Вы можете настроить, с какими объектами может взаимодействовать Area3D, используя слои коллизий (collision_layer) и маски коллизий (collision_mask).

  5. Эффекты:
    Area3D может применять эффекты, такие как гравитация, звук, повреждения или другие пользовательские эффекты.

  6. Мониторинг:
    Вы можете включить или отключить мониторинг объектов с помощью свойства monitoring.

CharacterBody3D в Godot

CharacterBody3D — это компонент в Godot Engine, который предназначен для создания управляемых персонажей или других объектов, которые должны двигаться и сталкиваться с окружением, но не подвергаться автоматической физической симуляции (например, гравитации или толчкам). Этот компонент идеально подходит для создания персонажей, управляемых игроком или ИИ, таких как главный герой, враги, NPC (неигровые персонажи) и другие объекты, которые требуют точного контроля над движением.


Основные особенности CharacterBody3D:

  1. Управляемое движение:
    CharacterBody3D позволяет управлять движением объекта с помощью скриптов. Вы можете задавать скорость, направление и другие параметры движения вручную.

  2. Коллизии:
    CharacterBody3D может сталкиваться с другими объектами, такими как StaticBody3D, RigidBody3D или Area3D.

  3. Формы коллизий:
    Для обработки столкновений CharacterBody3D должен иметь одну или несколько форм коллизий (CollisionShape3D или CollisionPolygon3D).

  4. Слои и маски:
    Вы можете настроить, с какими объектами может взаимодействовать CharacterBody3D, используя слои коллизий (collision_layer) и маски коллизий (collision_mask).

  5. Режимы движения:
    CharacterBody3D поддерживает два режима движения:

    • Kinematic: Объект управляется вручную, но может сталкиваться с другими объектами.
    • Character: Оптимизированный режим для персонажей, который лучше обрабатывает движение по поверхностям (например, ходьба по полу или склонам).
  6. Сигналы:
    CharacterBody3D предоставляет сигналы, такие как body_entered, body_exited, которые позволяют обрабатывать взаимодействия с другими объектами.

RigidBody3D в Godot

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


Основные особенности RigidBody3D:

  1. Динамическая физика:
    RigidBody3D полностью подчиняется физической симуляции. Оно может двигаться, вращаться и сталкиваться с другими объектами.

  2. Внешние силы:
    На RigidBody3D могут действовать внешние силы, такие как гравитация, толчки или импульсы.

  3. Масса и инерция:
    Вы можете настроить массу объекта, что влияет на его инерцию и реакцию на силы.

  4. Коллизии:
    RigidBody3D может сталкиваться с другими объектами, такими как StaticBody3D, RigidBody3D или CharacterBody3D.

  5. Формы коллизий:
    Для обработки столкновений RigidBody3D должен иметь одну или несколько форм коллизий (CollisionShape3D или CollisionPolygon3D).

  6. Слои и маски:
    Вы можете настроить, с какими объектами может взаимодействовать RigidBody3D, используя слои коллизий (collision_layer) и маски коллизий (collision_mask).

  7. Режимы тела:
    RigidBody3D поддерживает несколько режимов:

    • Rigid: Полная физическая симуляция (по умолчанию).
    • Static: Объект становится статическим (не двигается).
    • Character: Объект ведет себя как персонаж (управляется скриптами).
    • Kinematic: Объект управляется вручную, но может сталкиваться с другими объектами.
  8. Сигналы:
    RigidBody3D предоставляет сигналы, такие как body_entered, body_exited, которые позволяют обрабатывать взаимодействия с другими объектами.

AnimatableBody3D в Godot

AnimatableBody3D — это компонент в Godot Engine, который представляет собой физическое тело, способное двигаться и изменять свое положение в сцене, но при этом оставаться статическим с точки зрения физической симуляции. Это означает, что AnimatableBody3D может перемещаться (например, с помощью анимаций или скриптов), но не будет реагировать на физические силы, такие как гравитация или толчки. Этот компонент полезен для создания движущихся платформ, дверей, лифтов и других объектов, которые должны двигаться, но не должны подвергаться физической симуляции.


Основные особенности AnimatableBody3D:

  1. Движение:
    AnimatableBody3D может двигаться с помощью анимаций, скриптов или вручную (изменяя его положение или вращение).

  2. Статическая физика:
    Несмотря на движение, AnimatableBody3D остается статическим с точки зрения физической симуляции. Это означает, что он не будет реагировать на гравитацию, толчки или другие физические силы.

  3. Коллизии:
    AnimatableBody3D может сталкиваться с другими объектами, такими как RigidBody3D (динамические тела) или CharacterBody3D (управляемые тела).

  4. Формы коллизий:
    Для обработки столкновений AnimatableBody3D должен иметь одну или несколько форм коллизий (CollisionShape3D или CollisionPolygon3D).

  5. Слои и маски:
    Вы можете настроить, с какими объектами может взаимодействовать AnimatableBody3D, используя слои коллизий (collision_layer) и маски коллизий (collision_mask).

  6. Эффективность:
    Поскольку AnimatableBody3D не участвует в динамической физической симуляции, он более эффективен, чем RigidBody3D.

StaticBody3D в Godot

StaticBody3D — это компонент в Godot Engine, который представляет собой статическое физическое тело. Оно используется для объектов, которые не двигаются и не изменяют своего положения в сцене, но могут участвовать в физических столкновениях. StaticBody3D идеально подходит для создания неподвижных объектов, таких как стены, пол, платформы, здания и другие элементы окружения.


Основные особенности StaticBody3D:

  1. Неподвижность:
    StaticBody3D не двигается под воздействием физических сил (например, гравитации или толчков). Это делает его идеальным для статических объектов.

  2. Коллизии:
    StaticBody3D может сталкиваться с другими объектами, такими как RigidBody3D (динамические тела) или CharacterBody3D (управляемые тела).

  3. Формы коллизий:
    Для обработки столкновений StaticBody3D должен иметь одну или несколько форм коллизий (CollisionShape3D или CollisionPolygon3D).

  4. Слои и маски:
    Вы можете настроить, с какими объектами может взаимодействовать StaticBody3D, используя слои коллизий (collision_layer) и маски коллизий (collision_mask).

  5. Эффективность:
    Поскольку StaticBody3D не двигается, он очень эффективен с точки зрения производительности.

  6. Сигналы:
    StaticBody3D может отправлять сигналы, такие как input_event, для обработки взаимодействий (например, кликов мыши или касаний).

CollisionShape3D в Godot

CollisionShape3D — это компонент в Godot Engine, который позволяет задать форму коллизии (столкновения) для объектов, участвующих в физической симуляции. Он используется вместе с физическими телами, такими как RigidBody3D, StaticBody3D, CharacterBody3D, или областями (Area3D), чтобы определить, как объект будет взаимодействовать с другими объектами в сцене (например, сталкиваться с ними).


Основные особенности CollisionShape3D:

  1. Форма коллизии:
    CollisionShape3D использует predefined (предопределенные) формы, такие как сфера, коробка, капсула и другие. Эти формы определяют, как объект будет сталкиваться с другими объектами.

  2. Типы форм:

    • BoxShape3D: Прямоугольный параллелепипед (кубоид).
    • SphereShape3D: Сфера.
    • CapsuleShape3D: Капсула (цилиндр с полусферами на концах).
    • CylinderShape3D: Цилиндр.
    • ConvexPolygonShape3D: Выпуклый многоугольник.
    • ConcavePolygonShape3D: Вогнутый многоугольник (для сложных форм).
  3. Использование:
    CollisionShape3D добавляется к объектам, которые участвуют в физической симуляции, таким как:

    • RigidBody3D: Динамические объекты (например, падающие ящики).
    • StaticBody3D: Неподвижные объекты (например, стены или пол).
    • CharacterBody3D: Управляемые объекты (например, персонажи).
    • Area3D: Области, которые обнаруживают другие объекты.
  4. Производительность:
    Простые формы (например, сфера или коробка) более производительны, чем сложные (например, вогнутые многоугольники).


Материалы 161 - 180 из 451
Начало | Пред. | 7 8 9 10 11 | След. | Конец