示例一
using UnityEngine;
using System;
public static class AnimationUtils
{
/// <summary>
/// 向指定的动画片段添加动画事件,并播放动画,同时获取动画片段的时长。
/// </summary>
/// <param name="_animator">需要添加动画事件的 Animator 组件。</param>
/// <param name="_clipName">目标动画片段的名称。</param>
/// <param name="_functionName">当动画事件触发时调用的方法名称。</param>
/// <param name="_time">事件触发的时间(以秒为单位)。</param>
/// <param name="_callback">事件触发时的回调方法。</param>
public static void AddAnimationEventAndPlay(Animator _animator, string _clipName, string _functionName, float _time, Action _callback)
{
// 获取 Animator 的所有动画片段
AnimationClip[] _clips = _animator.runtimeAnimatorController.animationClips;
// 检查是否找到了动画片段
bool clipFound = false;
// 遍历所有动画片段
for (int i = 0; i <