unreal.Transform
¶
-
class
unreal.
Transform
(location=[0.0, 0.0, 0.0], rotation=[0.0, 0.0, 0.0], scale=[0.0, 0.0, 0.0])¶ Bases:
unreal.StructBase
Transform composed of Quat/Translation/Scale. 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 of this transformation, as a quaternion.scale3d
(Vector): [Read-Write] 3D scale (always applied in local space) as a vector.translation
(Vector): [Read-Write] 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)
- Returns
- Return type
-
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.
-
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
-
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.
-
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.
-
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.
-
is_near_equal
(b, location_tolerance=0.0001, rotation_tolerance=0.0001, scale3d_tolerance=0.0001) → 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
- Returns
- Return type
-
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
b (Transform) –
alpha (float) –
interp_mode (LerpInterpolationMode) –
- Returns
- Return type
-
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.
-
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.
-
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.
-
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.