PathFollow2D
Положение и ориентация по Curve родительского Path2D.
Поместите PathFollow2D ребёнком Path2D с непустой Curve. Progress задаёт локальное расстояние по запечённому пути, ProgressRatio — долю длины. Изменяйте Progress на speed × delta, если скорость задана в локальных единицах в секунду.
Rotates ориентирует локальную ось +X вдоль пути. Loop повторяет расстояние, но не замыкает открытую геометрию. Масштаб Path2D влияет на мировую скорость. Это следование маршруту, а не движение физического тела с коллизиями.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
PathFollow2DКонструктор
public PathFollow2D();Создаёт Entity2D-последователь. Поместите его прямым ребёнком Path2D с Curve2D и ненулевой длиной, а движущийся визуальный объект — ребёнком последователя. Время/скорость нужно задавать кодом. Не выполняет физическое разрешение коллизий.
Свойства7
CubicInterpСвойство
public bool CubicInterp { get; set; }Кубическая интерполяция baked-кеша, default true. Это не точная Bezier-выборка и не настройка физики; на редком кеше позиция может отличаться от линейного расстояния. Setter меняет флаг без немедленного пересчёта transform. Настройте его до изменения Progress; в 3D повтор того же Progress также не обновляет transform.
HOffsetСвойство
public float HOffset { get; set; }При Rotates=true смещает вдоль касательной (+X кадра пути), а не обязательно вправо экрана. При false добавляется к локальной X-координате Path2D. Применяется при обновлении позиции; родительский масштаб влияет на world-смещение.
LoopСвойство
public bool Loop { get; set; }Повторяет расстояние на границе пути. Не соединяет позиции/касательные открытой Curve автоматически.
ProgressСвойство
public float Progress { get; set; }Расстояние по запечённой Curve родительского Path2D в локальных единицах. Для скорости добавляйте speed × delta; масштаб пути меняет мировую скорость.
ProgressRatioСвойство
public float ProgressRatio { get; set; }Доля текущей baked-длины: setter передаёт ratio×length в Progress. Требуется прямой родитель Path внутри дерева, Curve и ненулевая длина. Значения вне 0..1 подчиняются Loop/clamp, а не отдельно ограничиваются. Getter без пригодного пути возвращает 0, что не доказывает достижение начала. При изменении длины сохраняется расстояние, не прежняя доля.
RotatesСвойство
public bool Rotates { get; set; }Ориентирует локальную ось +X вдоль касательной. При false обновляется позиция, но сохраняется ваш ручной угол. Включение меняет transform сразу; также переключается система HOffset/VOffset. Не задаёт угловую скорость или сглаживание.
VOffsetСвойство
public float VOffset { get; set; }При Rotates=true смещает вдоль боковой оси кадра пути (+Y), при false — вдоль локальной Y Path2D. Это не Z-глубина и не world-вертикаль.
Методы14
GetCubicInterpolationbool
public bool GetCubicInterpolation();Читает CubicInterp. Кубическая интерполяция baked-кеша, default true. Это не точная Bezier-выборка и не настройка физики; на редком кеше позиция может отличаться от линейного расстояния. Setter меняет флаг без немедленного пересчёта transform. Настройте его до изменения Progress; в 3D повтор того же Progress также не обновляет transform.
boolСохранённая настройка указанного метода; не сигнал движения/готовности.
GetHOffsetfloat
public float GetHOffset();Читает HOffset. При Rotates=true смещает вдоль касательной (+X кадра пути), а не обязательно вправо экрана. При false добавляется к локальной X-координате Path2D. Применяется при обновлении позиции; родительский масштаб влияет на world-смещение.
floatСохранённая настройка указанного метода; не сигнал движения/готовности.
GetProgressfloat
public float GetProgress();Читает Progress. Расстояние по baked-кривой родительского Path в локальных единицах, не секунды. Для скорости обновляйте Progress на speed×delta сами; автоматического движения нет. При активном пути setter применяет Loop/clamp. Значение, заданное до входа в дерево, может остаться вне диапазона: инициализируйте после подключения Path/Curve. Масштаб родителя меняет мировую скорость.
floatСохранённое локальное расстояние, не секунды/процент.
GetProgressRatiofloat
public float GetProgressRatio();Читает ProgressRatio. Доля текущей baked-длины: setter передаёт ratio×length в Progress. Требуется прямой родитель Path внутри дерева, Curve и ненулевая длина. Значения вне 0..1 подчиняются Loop/clamp, а не отдельно ограничиваются. Getter без пригодного пути возвращает 0, что не доказывает достижение начала. При изменении длины сохраняется расстояние, не прежняя доля.
floatProgress / текущая длина, либо 0 без пригодного пути; не событие достижения.
GetVOffsetfloat
public float GetVOffset();Читает VOffset. При Rotates=true смещает вдоль боковой оси кадра пути (+Y), при false — вдоль локальной Y Path2D. Это не Z-глубина и не world-вертикаль.
floatСохранённая настройка указанного метода; не сигнал движения/готовности.
HasLoopbool
public bool HasLoop();Читает Loop. При назначении Progress повторяет расстояние по длине; false ограничивает 0..length. Ненулевое кратное длины сохраняется на конце, не обязательно на нуле. Не соединяет концы или касательные открытой геометрии и не включает движение. Само переключение флага не нормализует ранее сохранённое расстояние.
boolСохранённая настройка указанного метода; не сигнал движения/готовности.
IsRotatingbool
public bool IsRotating();Читает Rotates. Ориентирует локальную ось +X вдоль касательной. При false обновляется позиция, но сохраняется ваш ручной угол. Включение меняет transform сразу; также переключается система HOffset/VOffset. Не задаёт угловую скорость или сглаживание.
boolСохранённая настройка указанного метода; не сигнал движения/готовности.
SetCubicInterpolationvoid
public void SetCubicInterpolation(bool enabled);Устанавливает CubicInterp. Кубическая интерполяция baked-кеша, default true. Это не точная Bezier-выборка и не настройка физики; на редком кеше позиция может отличаться от линейного расстояния. Setter меняет флаг без немедленного пересчёта transform. Настройте его до изменения Progress; в 3D повтор того же Progress также не обновляет transform.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение флага; его область действия и момент обновления указаны в описании метода.
SetHOffsetvoid
public void SetHOffset(float hOffset);Устанавливает HOffset. При Rotates=true смещает вдоль касательной (+X кадра пути), а не обязательно вправо экрана. При false добавляется к локальной X-координате Path2D. Применяется при обновлении позиции; родительский масштаб влияет на world-смещение.
| Имя | Тип | По умолчанию |
|---|---|---|
hOffset | float | — |
hOffsetКонечное смещение в локальном кадре, который зависит от режима ориентации.
SetLoopvoid
public void SetLoop(bool loop);Устанавливает Loop. При назначении Progress повторяет расстояние по длине; false ограничивает 0..length. Ненулевое кратное длины сохраняется на конце, не обязательно на нуле. Не соединяет концы или касательные открытой геометрии и не включает движение. Само переключение флага не нормализует ранее сохранённое расстояние.
| Имя | Тип | По умолчанию |
|---|---|---|
loop | bool | — |
loopВключает wrapping при последующих назначениях Progress; не замыкает геометрию.
SetProgressvoid
public void SetProgress(float progress);Устанавливает Progress. Расстояние по baked-кривой родительского Path в локальных единицах, не секунды. Для скорости обновляйте Progress на speed×delta сами; автоматического движения нет. При активном пути setter применяет Loop/clamp. Значение, заданное до входа в дерево, может остаться вне диапазона: инициализируйте после подключения Path/Curve. Масштаб родителя меняет мировую скорость.
| Имя | Тип | По умолчанию |
|---|---|---|
progress | float | — |
progressКонечное локальное расстояние, не время; Loop/clamp применяются только при пригодном родительском пути.
SetProgressRatiovoid
public void SetProgressRatio(float ratio);Устанавливает ProgressRatio. Доля текущей baked-длины: setter передаёт ratio×length в Progress. Требуется прямой родитель Path внутри дерева, Curve и ненулевая длина. Значения вне 0..1 подчиняются Loop/clamp, а не отдельно ограничиваются. Getter без пригодного пути возвращает 0, что не доказывает достижение начала. При изменении длины сохраняется расстояние, не прежняя доля.
| Имя | Тип | По умолчанию |
|---|---|---|
ratio | float | — |
ratioКонечная доля baked-длины; значения вне 0..1 подчиняются правилу Loop.
SetRotatesvoid
public void SetRotates(bool enabled);Устанавливает Rotates. Ориентирует локальную ось +X вдоль касательной. При false обновляется позиция, но сохраняется ваш ручной угол. Включение меняет transform сразу; также переключается система HOffset/VOffset. Не задаёт угловую скорость или сглаживание.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение флага; его область действия и момент обновления указаны в описании метода.
SetVOffsetvoid
public void SetVOffset(float vOffset);Устанавливает VOffset. При Rotates=true смещает вдоль боковой оси кадра пути (+Y), при false — вдоль локальной Y Path2D. Это не Z-глубина и не world-вертикаль.
| Имя | Тип | По умолчанию |
|---|---|---|
vOffset | float | — |
vOffsetКонечное смещение в локальном кадре, который зависит от режима ориентации.