unity中Timeline动画的播放和播放中如何判断播放结束

       播放timeline简单,但有时我们希望得到播放完成的回调信息,今天分享下工作中的技巧,然后自己以后也可以随时查阅,谢谢阅读!

1. 照例我们先看下理论知识,Time概述:

        使用Unity的Timeline创建电影内容、游戏序列、音频序列和复杂的粒子效果。


        使用Unity的Timeline创建的每个剪切场景、电影或游戏序列都由Timeline资源和Timeline实例组成。timeline窗口同时创建和修改timeline资源和timeline实例。

        “timeline资源和实例”主题提供了有关“timeline”窗口、“timeline asset”和“timeline instances”之间关系的详细信息。
        “timeline工作流”部分提供了有关如何创建timeline资源和timeline实例、录制基本动画、设置类人动画、使用动画覆盖轨迹、子timeline和其他timeline功能的基本步骤。
timeline示例部分提供了timeline包中包含的示例的描述。

2. 当前首先是播放我们的制作好的timeline,如下代码

PlayableDirector playableDirector = m_RoleObject.GetComponent<PlayableDirector>();

playableDirector.Play();

3. 然后就是判断什么时候播放完成

注意完成代码的判断要在MonoBehaviour派生类的Update中完成,如下代码

if (playableDirector.state == PlayState.Playing && playableDirector.time >= (playableDirector.duration * 0.9))
            {

                Debug.Log("播放完成");

                playableDirector.Stop();
                playableDirector.time = 0;
                m_HangGunBarrel.SetActive(false);

                m_GunBarrel.SetActive(true);
            }

    如上,我发现这行代码(playableDirector.duration * 0.9))中的0.9原来我使用了1.0,出现了问题,然后我修改成了0.9,然后就没什么问题了,毕竟0.9就差0.1就完成,也没什么关系。

       然后我将成员time设置为了0,并调用了成员函数Stop(),是为了复位PlayableDirector动画,以便让它可以再次进行重新播放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

折纸星空Unity课堂

谢谢您对我的作品的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值