reckfellENGINE

Path3D

Entity3D-контейнер общего ресурса Curve3D в локальных координатах.

На этой странице
class Path3DReckfellSharpНаследует Entity3D

Назначьте Curve3D; Path3D задаёт систему координат и уведомляет об изменениях, но сам по себе не анимирует объект и не строит дорогу/коллизии. Для world-точки closest-запрос выполняется как ToLocal → Curve.GetClosestPoint → ToGlobal. Не передавайте world-координату прямо в локальную кривую.

Curve — общая ссылка. Изменение одного ресурса видят все владельцы; для независимых путей подготовьте отдельные ресурсы. CurveChanged испускается только внутри дерева, в том числе при повторном присваивании той же Curve. DebugCustomColor относится к отладочному отображению, а не финальному материалу.

Проверены shared reference, сигналы и локальное/world-преобразование в Windows headless. Автоматическое движение PathFollow3D, debug-gizmo и финальная графика в этой проверке не выполнялись.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

Path3DКонструктор
# Path3D
C#
public Path3D();

Создаёт Entity3D-контейнер пути без Curve. Назначьте ресурс Curve3D; сам Path3D не движется по кривой и не создаёт mesh/collision. Для собственных Entity соблюдайте жизненный цикл дерева; вне дерева освобождайте через Free.

Свойства2

CurveСвойство
# Curve
C#
public Curve3D Curve { get; set; }

Общая Curve3D в локальных координатах Path3D, не копия. Изменения ресурса видны всем владельцам. Setter переподключает Changed и обновляет путь даже при той же ссылке. CurveChanged приходит только внутри EntityTree. null очищает ссылку; не Dispose заимствованный getter-wrapper.

DebugCustomColorСвойство
# DebugCustomColor
C#
public Color DebugCustomColor { get; set; }

Цвет отладочного отображения пути. Чёрный Color(0,0,0,1) означает цвет из ProjectSettings, а не принудительно чёрный путь. Не задаёт материал финального mesh. Обновление debug material испускает DebugColorChanged; одинаковое присваивание тоже может уведомить.

Методы4

GetCurveCurve3D
# GetCurve
C#
public Curve3D GetCurve();

Возвращает общую Curve3D либо null; локальные результаты её Sample/Closest не включают transform Path3D. Используйте ToLocal/ToGlobal явно.

Возвращает Curve3D

Общая Curve3D либо null; wrapper заимствованный.

GetDebugCustomColorColor
# GetDebugCustomColor
C#
public Color GetDebugCustomColor();

Читает сохранённый debug-цвет, который может быть чёрным sentinel для ProjectSettings. Не является проверкой видимости debug paths.

Возвращает Color

Сохранённый debug-цвет, включая возможный чёрный sentinel.

SetCurvevoid
# SetCurve
C#
public void SetCurve(Curve3D curve);

Назначает общую ссылку Curve3D и подписывается на Changed. Не клонирует данные. Вне дерева CurveChanged не приходит; внутри setter уведомляет и при той же ссылке.

Параметры
ИмяТипПо умолчанию
curveCurve3D—
curve

Общая Curve3D или null для очистки; независимую копию готовьте отдельно.

SetDebugCustomColorvoid
# SetDebugCustomColor
C#
public void SetDebugCustomColor(Color debugCustomColor);

Меняет debug-цвет и обновляет отладочный материал. Не включает отображение debug paths само по себе и не изменяет Curve3D.

Параметры
ИмяТипПо умолчанию
debugCustomColorColor—
debugCustomColor

Debug-цвет; непрозрачный чёрный выбирает ProjectSettings default.

Сигналы и события2

CurveChangedСобытие
# CurveChanged
C#
public event Action CurveChanged;

Событие без аргументов после обновления пути от Curve/setter, только когда Path3D внутри дерева. Это не событие достижения конца и не шаг движения персонажа. Общий ресурс может уведомить несколько Path3D.

DebugColorChangedСобытие
# DebugColorChanged
C#
public event Action DebugColorChanged;

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

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

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

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

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