class in UnityEngine.Animations
/
Inherits from:Behaviour
/
Implemented in:UnityEngine.AnimationModule
Implements interfaces:IConstraint
Constrains the transformation of a GameObject based on the position and rotation of one or more sources.
Use this constraint to move and rotate a GameObject based on the position and rotation of other sources. For example, you can use this constraint to place a sword in the hand of a character. You can also adjust the weight of each source to influence whether the constrained GameObject follows the position and rotation of one source over another source.
Refer to Parent Constraint Component for more details.
Additional resources: ConstraintSource, LookAtConstraint, AimConstraint.
// This example uses a ParentConstraint to constrain a GameObject based on the position and rotation of two sources. // The first source has a greater influence than the second source based on their assigned weight. using UnityEngine; using UnityEngine.Animations; public class ParentConstraintExample : MonoBehaviour { public Transform sourceA; public Transform sourceB; private ParentConstraint m_ParentConstraint; void Start() { m_ParentConstraint = gameObject.AddComponent<ParentConstraint>(); ConstraintSource source1 = new ConstraintSource { sourceTransform = sourceA, weight = 0.6f }; ConstraintSource source2 = new ConstraintSource { sourceTransform = sourceB, weight = 0.4f }; m_ParentConstraint.AddSource(source1); m_ParentConstraint.AddSource(source2); m_ParentConstraint.constraintActive = true; } }
Property | Description |
---|---|
constraintActive | Activates or deactivates the constraint. |
locked | Locks the offsets and position (translation and rotation) at rest. |
rotationAtRest | The rotation used when the sources have a total weight of 0. |
rotationAxis | The rotation axes affected by the ParentConstraint. |
rotationOffsets | The rotation offsets from the constrained orientation. |
sourceCount | The number of sources set on the component (read-only). |
translationAtRest | The position of the object in local space, used when the sources have a total weight of 0. |
translationAxis | The translation axes affected by the ParentConstraint. |
translationOffsets | The translation offsets from the constrained orientation. |
weight | The weight of the constraint component. |
Method | Description |
---|---|
AddSource | Adds a constraint source. |
GetRotationOffset | Gets the rotation offset associated with a source by index. |
GetSource | Gets a constraint source by index. |
GetSources | Gets the list of sources. |
GetTranslationOffset | Gets the rotation offset associated with a source by index. |
RemoveSource | Removes a source from the component. |
SetRotationOffset | Sets the rotation offset associated with a source by index. |
SetSource | Sets a source at a specified index. |
SetSources | Sets the list of sources on the component. |
SetTranslationOffset | Sets the translation offset associated with a source by index. |
Property | Description |
---|---|
enabled | Enabled Behaviours are Updated, disabled Behaviours are not. |
isActiveAndEnabled | Checks whether a component is enabled, attached to a GameObject that is active in the hierarchy, and the component's OnEnable has been called. |
gameObject | The game object this component is attached to. A component is always attached to a game object. |
tag | The tag of this game object. |
transform | The Transform attached to this GameObject. |
transformHandle | The TransformHandle of this GameObject. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | The name of the object. |
Method | Description |
---|---|
BroadcastMessage | Calls the method named methodName on every MonoBehaviour in this game object or any of its children. |
CompareTag | Checks the GameObject's tag against the defined tag. |
GetComponent | Gets a reference to a component of type T on the same GameObject as the component specified. |
GetComponentInChildren | Gets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject. |
GetComponentIndex | Gets the index of the component on its parent GameObject. |
GetComponentInParent | Gets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject. |
GetComponents | Gets references to all components of type T on the same GameObject as the component specified. |
GetComponentsInChildren | Gets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject. |
GetComponentsInParent | Gets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject. |
SendMessage | Calls the method named methodName on every MonoBehaviour in this game object. |
SendMessageUpwards | Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour. |
TryGetComponent | Gets the component of the specified type, if it exists. |
GetInstanceID | Gets the instance ID of the object. |
ToString | Returns the name of the object. |
Method | Description |
---|---|
Destroy | Removes a GameObject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindAnyObjectByType | Retrieves any active loaded object of Type type. |
FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
InstantiateAsync | Captures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation. |
Operator | Description |
---|---|
bool | Does 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. |