- Spark AR Studio
- Spark AR Hub
- Features
- Learn
- Gallery
- Partners
- Blog
- Forum
- Create AR effects for Instagram and Facebook.Get Started

The `TransformSignal`

class monitors a scene transform.

Property | Description |
---|---|

`position` | (get) position: PointSignal Represents the offset in the local coordinate system. |

`rotation` | (get) rotation: QuaternionSignal Represents rotation along the X, Y and Z axis of the local coordinate system. Note: The order of operations (rotations in particular) is the same as in `Transform` . The rotations are applied to the object in Z-Y-X order. The Z rotation is applied last to the object, therefore if the `rotationX` or `rotationY` is not zero, then `rotationZ` is applied not in the object's local coordinate system but in the rotated one. |

`rotationX` | (get) rotationX: ScalarSignal Represents rotation about the X-axis of the local coordinate system, in radians. The signal value is in the range [-PI, PI]. Note: The order of operations (rotations in particular) is the same as in `Transform` . The rotations are applied to the object in Z-Y-X order. The X rotation is applied first to the object, therefore it is always performed in the object's local coordinate system. |

`rotationY` | (get) rotationY: ScalarSignal Represents rotation about the Y-axis of the rotated local coordinate system, in radians. The signal value is in the range [-PI/2, PI/2]. Note: The order of operations (rotations in particular) is the same as in `Transform` . The rotations are applied to the object in Z-Y-X order. The Y rotation is applied second to the object, therefore if the `rotationX` is not zero, then `rotationY` is applied not in the object's local coordinate system but in the rotated one. |

`rotationZ` | (get) rotationZ: ScalarSignal Represents rotation about the Z-axis of the rotated local coordinate system, in radians. The signal value is in the range [-PI, PI]. Note: The order of operations (rotations in particular) is the same as in `Transform` . The rotations are applied to the object in Z-Y-X order. The Z rotation is applied last to the object, therefore if the `rotationX` or `rotationY` is not zero, then `rotationZ` is applied not in the object's local coordinate system but in the rotated one. |

`scale` | (get) scale: PointSignal Represents scale in the local coordinate system. |

`scaleX` | (get) scaleX: ScalarSignal Represents scale along the X-axis of the local coordinate system. |

`scaleY` | (get) scaleY: ScalarSignal Represents scale along the Y-axis of the local coordinate system. |

`scaleZ` | (get) scaleZ: ScalarSignal Represents scale along the z-axis of the local coordinate system. |

`x` | (get) x: ScalarSignal Represents the offset along the X-axis of the local coordinate system. |

`y` | (get) y: ScalarSignal Represents the offset along the Y-axis of the local coordinate system. |

`z` | (get) z: ScalarSignal Represents the offset along the Z-axis of the local coordinate system. |

Method | Description |
---|---|

` applyTo ` | applyTo(transform: TransformSignal): TransformSignal Returns a signal with the value that is equal to the value of the provided transformation with the transformation of the current `TransformSignal` applied to it. |

` applyToPoint ` | applyToPoint(signal: PointSignal): PointSignal Returns a signal with the value that is equal to the value of the provided point with the transformation applied to it. This performs a matrix multiplication of the provided point (with an implicit `1` in the 4th dimension) and the receiver transform, and divides by perspective. |

` applyToVector ` | applyToVector(signal: VectorSignal): VectorSignal Returns a signal with the value that is equal to the value of the provided vector with the transformation applied to it. This performs a matrix multiplication of the provided vector (with an implicit `0` in the 4th dimension) and the receiver transform, without change of position. |

` delayBy ` | delayBy(timeSpan: {milliseconds: number}): ISignal Delays a signal. The argument is an object with a "milliseconds" property specifying the delay duration in milliseconds. |

` expSmooth ` | expSmooth(dampFactor: number): TransformSignal Smoothes a variable signal using exponential averaging over time. The argument specifies the dampening time constant in milliseconds. Note: The smoothed transformation for a signal that specifies a rigid body transformation is guaranteed to be a rigid body transformation. The rotation component is smoothed in spherical coordinates using Slerp (spherical linear interpolation).Note: See also `ReactiveModule.expSmooth` . |

` history ` | history(framesCount: number): SignalHistory<Transform> Returns an object used to access signal values from past frames. The amount of frames tracked is customizable via `framesCount` parameter.Historical signal values are going to be initialized with signal value at call time or using `initialValues` if provided. |

` inverse ` | inverse(): TransformSignal Returns a signal with the value that is equal to the inverted transformation value of the given signal at any point of time. |

` lookAt ` | lookAt(targetPosition: PointSignal, selfUp?: VectorSignal): TransformSignal Default `selfUp` is `ReactiveModule.vector(0, 1, 0)` .Creates a scene object transform with rotation in direction of target. Note: self needs to be pointing the scene object alongside the X axis. |

` pinLastValue ` | pinLastValue(): TransformSignal Returns a new `TransformSignal` containing a constant value which is the last value of the specified signal before `pinLastValue` is called. |

` transpose ` | transpose(): TransformSignal Returns a signal with the value that is equal to the transpose value of the given transformation signal at any point of time. |