class in UnityEngine.Animations
/
Inherits from:Behaviour
/
Implemented in:UnityEngine.AnimationModule
Implements interfaces:IConstraint
Constrains the orientation of a GameObject based on the position of one or more sources.
Use this constraint to aim a GameObject towards one or more sources. For example, when you want to aim a turret towards many targets. You can also adjust the weight of each source to influence whether the constrained GameObject aims more towards one source over another source.
Make sure you use AimConstraint
properties to align the orientation of the constraint. Otherwise, the constrained GameObject might aim in the wrong direction.
Refer to Aim Constraint Component for more details.
Additional resources: ConstraintSource, LookAtConstraint, ParentConstraint.
// This example uses an AimConstraint to aim a GameObject towards 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 AimConstraintExample : MonoBehaviour { public Transform sourceA; public Transform sourceB; private AimConstraint m_AimConstraint; void Start() { m_AimConstraint = gameObject.AddComponent<AimConstraint>(); ConstraintSource source1 = new ConstraintSource { sourceTransform = sourceA, weight = 0.7f }; ConstraintSource source2 = new ConstraintSource { sourceTransform = sourceB, weight = 0.3f }; m_AimConstraint.AddSource(source1); m_AimConstraint.AddSource(source2); m_AimConstraint.constraintActive = true; } }
Property | Description |
---|---|
aimVector | The axis towards which the constrained object orients. |
constraintActive | Activates or deactivates the constraint. |
locked | Locks the offset and rotation at rest. |
rotationAtRest | The rotation used when the sources have a total weight of 0. |
rotationAxis | The axes affected by the AimConstraint. |
rotationOffset | Represents an offset from the constrained orientation. |
sourceCount | The number of sources set on the component (read-only). |
upVector | The up vector. |
weight | The weight of the constraint component. |
worldUpObject | The world up object, used to calculate the world up vector when the world up Type is AimConstraint.WorldUpType.ObjectUp or AimConstraint.WorldUpType.ObjectRotationUp. |
worldUpType | The type of the world up vector. |
worldUpVector | The world up Vector used when the world up type is AimConstraint.WorldUpType.Vector or AimConstraint.WorldUpType.ObjectRotationUp. |
Method | Description |
---|---|
AddSource | Adds a constraint source. |
GetSource | Gets a constraint source by index. |
GetSources | Gets the list of sources. |
RemoveSource | Removes a source from the component. |
SetSource | Sets a source at a specified index. |
SetSources | Sets the list of sources on the component. |
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. |