reckfellENGINE

PathFollow2D

Положение и ориентация по Curve родительского Path2D.

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

Поместите PathFollow2D ребёнком Path2D с непустой Curve. Progress задаёт локальное расстояние по запечённому пути, ProgressRatio — долю длины. Изменяйте Progress на speed × delta, если скорость задана в локальных единицах в секунду.

Rotates ориентирует локальную ось +X вдоль пути. Loop повторяет расстояние, но не замыкает открытую геометрию. Масштаб Path2D влияет на мировую скорость. Это следование маршруту, а не движение физического тела с коллизиями.

Практическое руководство.

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

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

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

Создаёт Entity2D-последователь. Поместите его прямым ребёнком Path2D с Curve2D и ненулевой длиной, а движущийся визуальный объект — ребёнком последователя. Время/скорость нужно задавать кодом. Не выполняет физическое разрешение коллизий.

Свойства7

CubicInterpСвойство
# CubicInterp
C#
public bool CubicInterp { get; set; }

Кубическая интерполяция baked-кеша, default true. Это не точная Bezier-выборка и не настройка физики; на редком кеше позиция может отличаться от линейного расстояния. Setter меняет флаг без немедленного пересчёта transform. Настройте его до изменения Progress; в 3D повтор того же Progress также не обновляет transform.

HOffsetСвойство
# HOffset
C#
public float HOffset { get; set; }

При Rotates=true смещает вдоль касательной (+X кадра пути), а не обязательно вправо экрана. При false добавляется к локальной X-координате Path2D. Применяется при обновлении позиции; родительский масштаб влияет на world-смещение.

LoopСвойство
# Loop
C#
public bool Loop { get; set; }

Повторяет расстояние на границе пути. Не соединяет позиции/касательные открытой Curve автоматически.

ProgressСвойство
# Progress
C#
public float Progress { get; set; }

Расстояние по запечённой Curve родительского Path2D в локальных единицах. Для скорости добавляйте speed × delta; масштаб пути меняет мировую скорость.

ProgressRatioСвойство
# ProgressRatio
C#
public float ProgressRatio { get; set; }

Доля текущей baked-длины: setter передаёт ratio×length в Progress. Требуется прямой родитель Path внутри дерева, Curve и ненулевая длина. Значения вне 0..1 подчиняются Loop/clamp, а не отдельно ограничиваются. Getter без пригодного пути возвращает 0, что не доказывает достижение начала. При изменении длины сохраняется расстояние, не прежняя доля.

RotatesСвойство
# Rotates
C#
public bool Rotates { get; set; }

Ориентирует локальную ось +X вдоль касательной. При false обновляется позиция, но сохраняется ваш ручной угол. Включение меняет transform сразу; также переключается система HOffset/VOffset. Не задаёт угловую скорость или сглаживание.

VOffsetСвойство
# VOffset
C#
public float VOffset { get; set; }

При Rotates=true смещает вдоль боковой оси кадра пути (+Y), при false — вдоль локальной Y Path2D. Это не Z-глубина и не world-вертикаль.

Методы14

GetCubicInterpolationbool
# GetCubicInterpolation
C#
public bool GetCubicInterpolation();

Читает CubicInterp. Кубическая интерполяция baked-кеша, default true. Это не точная Bezier-выборка и не настройка физики; на редком кеше позиция может отличаться от линейного расстояния. Setter меняет флаг без немедленного пересчёта transform. Настройте его до изменения Progress; в 3D повтор того же Progress также не обновляет transform.

Возвращает bool

Сохранённая настройка указанного метода; не сигнал движения/готовности.

GetHOffsetfloat
# GetHOffset
C#
public float GetHOffset();

Читает HOffset. При Rotates=true смещает вдоль касательной (+X кадра пути), а не обязательно вправо экрана. При false добавляется к локальной X-координате Path2D. Применяется при обновлении позиции; родительский масштаб влияет на world-смещение.

Возвращает float

Сохранённая настройка указанного метода; не сигнал движения/готовности.

GetProgressfloat
# GetProgress
C#
public float GetProgress();

Читает Progress. Расстояние по baked-кривой родительского Path в локальных единицах, не секунды. Для скорости обновляйте Progress на speed×delta сами; автоматического движения нет. При активном пути setter применяет Loop/clamp. Значение, заданное до входа в дерево, может остаться вне диапазона: инициализируйте после подключения Path/Curve. Масштаб родителя меняет мировую скорость.

Возвращает float

Сохранённое локальное расстояние, не секунды/процент.

GetProgressRatiofloat
# GetProgressRatio
C#
public float GetProgressRatio();

Читает ProgressRatio. Доля текущей baked-длины: setter передаёт ratio×length в Progress. Требуется прямой родитель Path внутри дерева, Curve и ненулевая длина. Значения вне 0..1 подчиняются Loop/clamp, а не отдельно ограничиваются. Getter без пригодного пути возвращает 0, что не доказывает достижение начала. При изменении длины сохраняется расстояние, не прежняя доля.

Возвращает float

Progress / текущая длина, либо 0 без пригодного пути; не событие достижения.

GetVOffsetfloat
# GetVOffset
C#
public float GetVOffset();

Читает VOffset. При Rotates=true смещает вдоль боковой оси кадра пути (+Y), при false — вдоль локальной Y Path2D. Это не Z-глубина и не world-вертикаль.

Возвращает float

Сохранённая настройка указанного метода; не сигнал движения/готовности.

HasLoopbool
# HasLoop
C#
public bool HasLoop();

Читает Loop. При назначении Progress повторяет расстояние по длине; false ограничивает 0..length. Ненулевое кратное длины сохраняется на конце, не обязательно на нуле. Не соединяет концы или касательные открытой геометрии и не включает движение. Само переключение флага не нормализует ранее сохранённое расстояние.

Возвращает bool

Сохранённая настройка указанного метода; не сигнал движения/готовности.

IsRotatingbool
# IsRotating
C#
public bool IsRotating();

Читает Rotates. Ориентирует локальную ось +X вдоль касательной. При false обновляется позиция, но сохраняется ваш ручной угол. Включение меняет transform сразу; также переключается система HOffset/VOffset. Не задаёт угловую скорость или сглаживание.

Возвращает bool

Сохранённая настройка указанного метода; не сигнал движения/готовности.

SetCubicInterpolationvoid
# SetCubicInterpolation
C#
public void SetCubicInterpolation(bool enabled);

Устанавливает CubicInterp. Кубическая интерполяция baked-кеша, default true. Это не точная Bezier-выборка и не настройка физики; на редком кеше позиция может отличаться от линейного расстояния. Setter меняет флаг без немедленного пересчёта transform. Настройте его до изменения Progress; в 3D повтор того же Progress также не обновляет transform.

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

Новое значение флага; его область действия и момент обновления указаны в описании метода.

SetHOffsetvoid
# SetHOffset
C#
public void SetHOffset(float hOffset);

Устанавливает HOffset. При Rotates=true смещает вдоль касательной (+X кадра пути), а не обязательно вправо экрана. При false добавляется к локальной X-координате Path2D. Применяется при обновлении позиции; родительский масштаб влияет на world-смещение.

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

Конечное смещение в локальном кадре, который зависит от режима ориентации.

SetLoopvoid
# SetLoop
C#
public void SetLoop(bool loop);

Устанавливает Loop. При назначении Progress повторяет расстояние по длине; false ограничивает 0..length. Ненулевое кратное длины сохраняется на конце, не обязательно на нуле. Не соединяет концы или касательные открытой геометрии и не включает движение. Само переключение флага не нормализует ранее сохранённое расстояние.

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

Включает wrapping при последующих назначениях Progress; не замыкает геометрию.

SetProgressvoid
# SetProgress
C#
public void SetProgress(float progress);

Устанавливает Progress. Расстояние по baked-кривой родительского Path в локальных единицах, не секунды. Для скорости обновляйте Progress на speed×delta сами; автоматического движения нет. При активном пути setter применяет Loop/clamp. Значение, заданное до входа в дерево, может остаться вне диапазона: инициализируйте после подключения Path/Curve. Масштаб родителя меняет мировую скорость.

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

Конечное локальное расстояние, не время; Loop/clamp применяются только при пригодном родительском пути.

SetProgressRatiovoid
# SetProgressRatio
C#
public void SetProgressRatio(float ratio);

Устанавливает ProgressRatio. Доля текущей baked-длины: setter передаёт ratio×length в Progress. Требуется прямой родитель Path внутри дерева, Curve и ненулевая длина. Значения вне 0..1 подчиняются Loop/clamp, а не отдельно ограничиваются. Getter без пригодного пути возвращает 0, что не доказывает достижение начала. При изменении длины сохраняется расстояние, не прежняя доля.

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

Конечная доля baked-длины; значения вне 0..1 подчиняются правилу Loop.

SetRotatesvoid
# SetRotates
C#
public void SetRotates(bool enabled);

Устанавливает Rotates. Ориентирует локальную ось +X вдоль касательной. При false обновляется позиция, но сохраняется ваш ручной угол. Включение меняет transform сразу; также переключается система HOffset/VOffset. Не задаёт угловую скорость или сглаживание.

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

Новое значение флага; его область действия и момент обновления указаны в описании метода.

SetVOffsetvoid
# SetVOffset
C#
public void SetVOffset(float vOffset);

Устанавливает VOffset. При Rotates=true смещает вдоль боковой оси кадра пути (+Y), при false — вдоль локальной Y Path2D. Это не Z-глубина и не world-вертикаль.

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

Конечное смещение в локальном кадре, который зависит от режима ориентации.

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

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

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

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