30 lines
924 B
C#
30 lines
924 B
C#
using UnityEngine;
|
|
|
|
public class PlayAnimationOnTrigger : MonoBehaviour
|
|
{
|
|
[SerializeField] public Animator animator; // Reference to the Animator component
|
|
[SerializeField] public string animationName = "YourAnimation"; // Name of the animation to play
|
|
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
// Check if the animator is assigned
|
|
if (animator == null)
|
|
{
|
|
Debug.LogWarning("Animator not assigned!", this);
|
|
return;
|
|
}
|
|
|
|
// Check if the animation is already playing
|
|
if (animator.GetCurrentAnimatorStateInfo(0).IsName(animationName) && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1)
|
|
{
|
|
Debug.Log("Animation is already playing.");
|
|
return;
|
|
}
|
|
|
|
// Play the animation
|
|
animator.Play(animationName, 0, 0f);
|
|
Debug.Log("Playing animation: " + animationName);
|
|
}
|
|
}
|