unreal.Transform

class unreal.Transform(location=[0.0, 0.0, 0.0], rotation=[0.0, 0.0, 0.0], scale=[1.0, 1.0, 1.0])

Bases: unreal.StructBase

Transform composed of Quat/Translation/Scale. note: This is implemented in either TransformVectorized.h or TransformNonVectorized.h depending on the platform.

C++ Source:

  • Module: CoreUObject

  • File: NoExportTypes.h

Editor Properties: (see get_editor_property/set_editor_property)

  • rotation (Quat): [Read-Write] Rotation: Rotation of this transformation, as a quaternion.

  • scale3d (Vector): [Read-Write] Scale 3D: 3D scale (always applied in local space) as a vector.

  • translation (Vector): [Read-Write] Translation: Translation of this transformation, as a vector.

__eq__(other)

Overloads:

  • Transform Returns true if transform A is equal to transform B

__imul__(other)

Overloads:

  • Transform Compose two transforms in order: A * B.

    Order matters when composing transforms: A * B will yield a transform that logically first applies A then B to any subsequent transformation.

    Example: LocalToWorld = ComposeTransforms(DeltaRotation, LocalToWorld) will change rotation in local space by DeltaRotation. Example: LocalToWorld = ComposeTransforms(LocalToWorld, DeltaRotation) will change rotation in world space by DeltaRotation.

    @return New transform: A * B

__mul__(other)

Overloads:

  • Transform Compose two transforms in order: A * B.

    Order matters when composing transforms: A * B will yield a transform that logically first applies A then B to any subsequent transformation.

    Example: LocalToWorld = ComposeTransforms(DeltaRotation, LocalToWorld) will change rotation in local space by DeltaRotation. Example: LocalToWorld = ComposeTransforms(LocalToWorld, DeltaRotation) will change rotation in world space by DeltaRotation.

    @return New transform: A * B

determinant() float

Calculates the determinant of the transform (converts to FMatrix internally)

Return type

float

equals(b) bool

Returns true if transform A is equal to transform B

Parameters

b (Transform) –

Return type

bool

interp_to(target, delta_time, interp_speed) Transform

Tries to reach Target transform based on distance from Current position, giving a nice smooth feeling when tracking a position.

Parameters
  • target (Transform) – Target transform

  • delta_time (float) – Time since last tick

  • interp_speed (float) – Interpolation speed, if the speed given is 0, then jump to the target.

Returns

New interpolated transform

Return type

Transform

inverse() Transform

Returns the inverse of the given transform T.

Example: Given a LocalToWorld transform, WorldToLocal will be returned.

Returns

The inverse of T.

Return type

Transform

inverse_transform_direction(direction) Vector

Transform a direction vector by the inverse of the supplied transform - will not change its length. For example, if T was an object’s transform, this would transform a direction from world space to local space.

Parameters

direction (Vector) –

Return type

Vector

inverse_transform_location(location) Vector

Transform a position by the inverse of the supplied transform. For example, if T was an object’s transform, this would transform a position from world space to local space.

Parameters

location (Vector) –

Return type

Vector

inverse_transform_rotation(rotation) Rotator

Transform a rotator by the inverse of the supplied transform. For example, if T was an object’s transform, this would transform a rotation from world space to local space.

Parameters

rotation (Rotator) –

Return type

Rotator

is_near_equal(b, location_tolerance=0.000100, rotation_tolerance=0.000100, scale3d_tolerance=0.000100) bool

Returns true if transform A is nearly equal to B

Parameters
  • b (Transform) –

  • location_tolerance (float) – How close position of transforms need to be to be considered equal

  • rotation_tolerance (float) – How close rotations of transforms need to be to be considered equal

  • scale3d_tolerance (float) – How close scale of transforms need to be to be considered equal

Return type

bool

lerp(b, alpha, interp_mode=LerpInterpolationMode.QUAT_INTERP) Transform

Linearly interpolates between A and B based on Alpha (100% of A when Alpha=0 and 100% of B when Alpha=1).

Parameters
Return type

Transform

make_relative(relative_to) Transform

Computes a relative transform of one transform compared to another.

Example: ChildOffset = MakeRelativeTransform(Child.GetActorTransform(), Parent.GetActorTransform()) This computes the relative transform of the Child from the Parent.

Parameters

relative_to (Transform) – The transform the result is relative to (in the same space as A)

Returns

The new relative transform

Return type

Transform

multiply(b) Transform

Compose two transforms in order: A * B.

Order matters when composing transforms: A * B will yield a transform that logically first applies A then B to any subsequent transformation.

Example: LocalToWorld = ComposeTransforms(DeltaRotation, LocalToWorld) will change rotation in local space by DeltaRotation. Example: LocalToWorld = ComposeTransforms(LocalToWorld, DeltaRotation) will change rotation in world space by DeltaRotation.

Parameters

b (Transform) –

Returns

New transform: A * B

Return type

Transform

property rotation

[Read-Write] Rotation: Rotation of this transformation, as a quaternion.

Type

(Quat)

property scale3d

[Read-Write] Scale 3D: 3D scale (always applied in local space) as a vector.

Type

(Vector)

to_matrix() Matrix

Convert a Transform to a Matrix with scale

Return type

Matrix

transform_direction(direction) Vector

Transform a direction vector by the supplied transform - will not change its length. For example, if T was an object’s transform, this would transform a direction from local space to world space.

Parameters

direction (Vector) –

Return type

Vector

transform_location(location) Vector

Transform a position by the supplied transform. For example, if T was an object’s transform, this would transform a position from local space to world space.

Parameters

location (Vector) –

Return type

Vector

transform_rotation(rotation) Rotator

Transform a rotator by the supplied transform. For example, if T was an object’s transform, this would transform a rotation from local space to world space.

Parameters

rotation (Rotator) –

Return type

Rotator

property translation

[Read-Write] Translation: Translation of this transformation, as a vector.

Type

(Vector)