RotationConstraint

class in UnityEngine.Animations

/

Inherits from:Behaviour

/

Implemented in:UnityEngine.AnimationModule


Implements interfaces:IConstraint

Description

Constrains the rotation of a GameObject based on the rotation of one or more sources.

Use this constraint to rotate a GameObject based on the rotation of other sources. For example, you can use this constraint to synchronize spinning gears in a machine. You can also adjust the weight of each source to influence whether the constrained GameObject follows the rotation of one source over another source.

Refer to Rotation Constraint Component for more details.

Additional resources: ConstraintSource, ParentConstraint, LookAtConstraint.

// This example uses a RotationConstraint to constrain the rotation of a GameObject based on two sources.
// Each source has an equal influence based on their assigned weight.

using UnityEngine;
using UnityEngine.Animations;

public class RotationConstraintExample : MonoBehaviour
{
    public Transform sourceA;
    public Transform sourceB;
    private RotationConstraint m_RotationConstraint;

    void Start()
    {
        m_RotationConstraint = gameObject.AddComponent<RotationConstraint>();

        ConstraintSource source1 = new ConstraintSource { sourceTransform = sourceA, weight = 0.5f };
        ConstraintSource source2 = new ConstraintSource { sourceTransform = sourceB, weight = 0.5f };

        m_RotationConstraint.AddSource(source1);
        m_RotationConstraint.AddSource(source2);

        m_RotationConstraint.constraintActive = true;
    }
}

Properties

constraintActiveActivates or deactivates the constraint.
lockedLocks the offset and rotation at rest.
rotationAtRestThe rotation used when the sources have a total weight of 0.
rotationAxisThe axes affected by the RotationConstraint.
rotationOffsetThe offset from the constrained rotation.
sourceCountThe number of sources set on the component (read-only).
weightThe weight of the constraint component.

Public Methods

AddSourceAdds a constraint source.
GetSourceGets a constraint source by index.
GetSourcesGets the list of sources.
RemoveSourceRemoves a source from the component.
SetSourceSets a source at a specified index.
SetSourcesSets the list of sources on the component.

Inherited Members

Properties

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentIndexGets the index of the component on its parent GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
TryGetComponentGets the component of the specified type, if it exists.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
InstantiateAsyncCaptures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.

Did you find this page useful? Please give it a rating: