MotionBehaviour

class Varwin.MotionBehaviour

Базовые классы: object

class Axis

Базовые классы: object

X: Any = Ellipsis
Y: Any = Ellipsis
Z: Any = Ellipsis
class LockRotationRules

Базовые классы: object

Lock: Any = Ellipsis
OnlyHorizontal: Any = Ellipsis
AllowAll: Any = Ellipsis
TeleportTo(target: Object) None

Мгновенно перемещает указанный объект по координатам второго объекта.

Параметры:

(Object) (target) – объект сцены

Пример:

instance.MotionBehaviour.TeleportTo(sceneObject1)
SetPosition(targetPosition: Vector3) None

Мгновенно перемещает указанный объект в позицию, заданную с помощью координат в мировом пространстве.

Пример:

instance.MotionBehaviour.SetPosition(Varwin.Vector3(1,0,0))
MoveByAxisWithSpeed(axis: Vector3, speed: float) None

Запускает процесс перемещения указанного объекта в направлении выбранной оси с заданной скоростью. Перемещение продолжается, пока оно не будет остановлено блоком завершения перемещения. Чтобы изменить направление перемещения, используйте отрицательные значение скорости.

Пример:

instance.MotionBehaviour.MoveByAxisWithSpeed(Varwin.Vector3(1,0,0), 0)
async MoveByAxisAtDistance(axis: Vector3, distance: float, speed: float) None

Запускает процесс перемещения указанного объекта в направлении выбранной оси на заданное расстояние с заданной скоростью. Перемещение продолжается, пока объект не преодолеет расстояние. Чтобы изменить направление перемещения, используйте отрицательные значение скорости.

Пример:

await instance.MotionBehaviour.MoveByAxisAtDistance(Varwin.Vector3(1,0,0), 0, 0)
async MoveByAxisOverTime(axis: Vector3, duration: float, speed: float) None

Запускает процесс перемещения указанного объекта в направлении выбранной оси в течение указанного времени с заданной скоростью. Перемещение продолжается, пока не истечет время. Чтобы изменить направление перемещения, используйте отрицательные значение скорости.

Пример:

await instance.MotionBehaviour.MoveByAxisOverTime(Varwin.Vector3(1,0,0), 0, 0)
async MoveToObjectAtSpeed(target: Object, speed: float) None

Запускает процесс перемещения указанного объекта в направлении второго объекта с заданной скоростью. Перемещение продолжается, пока указанный объект не достигнет второго объекта.

Параметры:

(Object) (target) – объект сцены

Пример:

await instance.MotionBehaviour.MoveToObjectAtSpeed(sceneObject1, 0)
async MoveToCoordinatesAtSpeed(target: Vector3, speed: float) None

Запускает процесс перемещения указанного объекта в направлении указанных координат с заданной скоростью. Перемещение продолжается, пока объект не достигнет координат.

Пример:

await instance.MotionBehaviour.MoveToCoordinatesAtSpeed(Varwin.Vector3(1,0,0), 0)
async MoveAlongThePath(path: List[Object | Vector3], speed: float) None

Запускает процесс перемещения указанного объекта по маршруту с указанной скоростью. Маршрут представляет собой список объектов или координат в мировом пространстве, заданных векторами.

Пример:

await instance.MotionBehaviour.MoveAlongThePath("test", 0)
Stop() None

Управляет любым перемещением. Приостановленное движение можно возобновить блоком “Продолжить”.

Пример:

instance.MotionBehaviour.Stop()
Pause() None

Управляет любым перемещением. Приостановленное движение можно возобновить блоком “Продолжить”.

Пример:

instance.MotionBehaviour.Pause()
Continue() None

Управляет любым перемещением. Приостановленное движение можно возобновить блоком “Продолжить”.

Пример:

instance.MotionBehaviour.Continue()
IsMovingNow() bool

Возвращает “истину”, если указанный объект перемещается в данный момент. В противном случае возвращает “ложь”.

Пример:

result = instance.MotionBehaviour.IsMovingNow()
GetDistanceToObject(target: Object) float

Возвращает расстояние по прямой от указанного объекта до второго объекта. Расстояние возвращается в метрах в виде вещественного числа.

Параметры:

(Object) (target) – объект сцены

Пример:

result = instance.MotionBehaviour.GetDistanceToObject(sceneObject1)
GetDistanceToVector(target: Vector3) float

Возвращает расстояние по прямой от указанного объекта до мировых координат, указанных с помощью вектора. Расстояние возвращается в метрах в виде вещественного числа.

Пример:

result = instance.MotionBehaviour.GetDistanceToVector(Varwin.Vector3(1,0,0))
property Position: Vector3

Возвращает позицию указанного объекта в мировых координатах в виде вектора [x; y; z]

Пример:

result = instance.MotionBehaviour.Position
property PositionX: float

Возвращает позицию указанного объекта по выбранной оси в мировых координатах.

Пример:

result = instance.MotionBehaviour.PositionX
property PositionY: float

Возвращает позицию указанного объекта по выбранной оси в мировых координатах.

Пример:

result = instance.MotionBehaviour.PositionY
property PositionZ: float

Возвращает позицию указанного объекта по выбранной оси в мировых координатах.

Пример:

result = instance.MotionBehaviour.PositionZ
property MovementFaceDirection: Vector3

Задает сторону объекта, которой он будет направлен в сторону перемещения. Значение для настройки перемещения объекта “вперёд лицом”: (x: 0; y: 0; z: 1)

Пример:

result = instance.MotionBehaviour.MovementFaceDirection
property MinimumTargetStopDistance: float

Задает минимальное расстояние между заданным и целевым объектами, чтобы движение к нему считалось завершенным. Вычисляется расстояние между центрами объектов, поэтому использование значения 0 не рекомендуется.

Пример:

result = instance.MotionBehaviour.MinimumTargetStopDistance
AddMovementFinishedHandler(handler: Callable[[Object], CoroutineType]) None

Событие срабатывает, когда указанный объект завершает любое перемещение. Перемещение считается завершенным, если объект достиг целевой позиции, или если перемещение было остановлено соответствующим блоком. В параметр передается объект, для которого сработало событие.

Параметры:

handler

Асинхронная функция-обработчик с сигнатурой:

  • sender (Object): объект, который вызвал событие

Пример:

async def OnMovementFinished(sender):
  ...
instance.MotionBehaviour.AddMovementFinishedHandler(OnMovementFinished)
AddToWrapperMovementFinishedHandler(handler: Callable[[Object, Object], CoroutineType]) None

Событие срабатывает, когда указанный объект завершает перемещение к целевому объекту. В параметры передается объект, у которого сработало событие (перемещающийся объект), а также объект, к которому было завершено перемещение (целевой объект).

Параметры:

handler

Асинхронная функция-обработчик с сигнатурой:

  • target (Object): целевой объект

  • sender (Object): объект, который вызвал событие

Пример:

async def OnToWrapperMovementFinished(target, sender):
  ...
instance.MotionBehaviour.AddToWrapperMovementFinishedHandler(OnToWrapperMovementFinished)
AddToVectorMovementFinishedHandler(handler: Callable[[Vector3, Object], CoroutineType]) None

Событие срабатывает, когда указанный объект завершает перемещение к целевым координатам. В параметры передается объект, у которого сработало событие (перемещающийся объект), а также координаты, в виде вектора, к которым было завершено перемещение (целевые координаты).

Параметры:

handler

Асинхронная функция-обработчик с сигнатурой:

  • target (Vector3): целевые координаты

  • sender (Object): объект, который вызвал событие

Пример:

async def OnToVectorMovementFinished(target, sender):
  ...
instance.MotionBehaviour.AddToVectorMovementFinishedHandler(OnToVectorMovementFinished)
AddWaypointReachedHandler(handler: Callable[[int, Any, Object], CoroutineType]) None

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

Параметры:

handler

Асинхронная функция-обработчик с сигнатурой:

  • wayPointIndex (int): номер точки в маршруте

  • waypoint (Any): достигнутая точка

  • sender (Object): объект, который вызвал событие

Пример:

async def OnWaypointReached(wayPointIndex, waypoint, sender):
  ...
instance.MotionBehaviour.AddWaypointReachedHandler(OnWaypointReached)