AimConstraint
Constrains the orientation of a GameObject based on the position of one or more sources.
Read time 7 minutesLast updated 2 days ago
Definition
- Type: Class
- Namespace: UnityEngine.Animations
- Assembly: UnityEngine.AnimationModule
- Inherits from: Behaviour
- Implements: IConstraint
[RequireComponent(typeof(Transform))]public sealed class AimConstraint : Behaviour, IConstraint
Remarks
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 properties to align the orientation of the constraint. Otherwise, the constrained GameObject might aim in the wrong direction.
AimConstraintRefer to Aim Constraint Component for more details.
Examples
// 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; }}
Properties
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. |
Methods
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. |
Enums
Enum | Description |
|---|---|
| AimConstraint.WorldUpType | Specifies how the world up vector used by the aim constraint is defined. |
Inheritance
Operators
Operator | Description |
|---|---|
| operator == | Compares two object references to see if they refer to the same object. |
| bool | Determines whether the object exists. |
| operator != | Compares if two objects refer to a different object. |