你可以使用Unity中的动画事件来检测动画播放完毕,并在动画播放完毕后执行代码。\n\n首先,确保你的动画剪辑已经添加了一个动画事件。右键点击动画剪辑,在弹出菜单中选择"Add Event"。然后,在Inspector面板中选择你希望动画播放完毕后执行代码的帧,点击"+"按钮添加一个事件。\n\n然后,在你的脚本中,你可以使用以下代码来检测动画播放完毕并执行代码:\n\ncsharp\nusing UnityEngine;\n\npublic class AnimationEventExample : MonoBehaviour\n{\n public GameObject computer;\n\n private Animator animator;\n\n private void Start()\n {\n animator = GetComponent<Animator>();\n }\n\n private void OnEnable()\n {\n // 订阅动画事件\n animator.AnimationEvent += OnAnimationEvent;\n }\n\n private void OnDisable()\n {\n // 取消订阅动画事件\n animator.AnimationEvent -= OnAnimationEvent;\n }\n\n private void OnAnimationEvent(AnimationEvent animationEvent)\n {\n // 检测动画事件名称\n if (animationEvent.stringParameter == "AnimationFinished")\n {\n // 执行代码\n computer.SetActive(true);\n }\n }\n}\n\n\n在这个例子中,我们首先获取Animator组件的引用,并在OnEnable方法中订阅动画事件。在OnDisable方法中取消订阅动画事件,以避免在脚本禁用时出现问题。\n\n当动画播放到添加动画事件的帧时,OnAnimationEvent方法会被调用。在这个方法中,我们检测动画事件的名称,如果是"AnimationFinished",则执行代码computer.SetActive(true);。\n\n记得将这个脚本挂载到动画物体上,并将需要在动画播放完毕后激活的物体赋值给computer变量。


原文地址: https://www.cveoy.top/t/topic/pNDp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录