Unity-如何查找动画在哪帧上?

问题描述

所以我在游戏中使用Unity和C#。我希望动画在特定帧上时发生一些事情。如何检测动画在哪个帧上?

解决方法

AnimationState.normalizedTime将以0到1之间的值为您提供动画的进度,您可以通过将其转换为帧速率来对此进行推断。

(function ($) {
    $(document).on('click','.checkout-button,.cart-checkout-button,.button.checkout',function (e) {
        e.preventDefault();

        // do some stuff

        $(this).trigger('click');
        // e.currentTarget.click();   // doesn't work either
    });
})(jQuery);
,

如果您希望在特定帧中发生某些事情,则应在动画上使用事件。

以下是实现此目的的官方文档:

https://docs.unity3d.com/Manual/AnimationEventsOnImportedClips.html

在动画中,选择框架并单击事件按钮: enter image description here

(来自https://docs.unity3d.com/的图片)

然后,您必须设置要调用的函数。每次动画经过此帧时,都会调用该函数。

,

您可以通过使用动画事件来实现。

首先,在脚本中创建一个函数以接收事件。假设您的函数称为“ OnAnimationHalfWay”。

然后,转到您的动画并通过选择所需的帧并单击“添加事件”按钮来添加动画事件。

然后,单击刚刚创建的小事件标志。

最后,转到检查器,在“函数”属性中,选择函数的名称,就我而言,它是“ OnAnimationHalfWay”。

希望这对您有所帮助!