当前位置: 首页 > article >正文

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动画,以便让它可以再次进行重新播放。


http://www.kler.cn/a/456221.html

相关文章:

  • 17_HTML5 Web 存储 --[HTML5 API 学习之旅]
  • C语言中的贪心算法
  • 交换机与路由器的区别
  • nginx-nginx的缓存集成
  • 24.try块怎么用 C#例子
  • Selenium实践总结
  • springboot整合log4j2日志框架1
  • 25秋招面试总结
  • Kotlin快速入门
  • 惠州市政数局局长杨伟斌:惠州市公共数据授权运营模式探索
  • 雷池 WAF 搭配阿里云 CDN 使用教程
  • javaEE-多线程案例-单例模式
  • 深度学习:从原理到搭建基础模型
  • RabbitMQ HAProxy 负载均衡
  • 应对TensorFlow导入Keras时发生的错误问题
  • SPI实验 LED数码管
  • 用三种安全思维重新审视零信任网络
  • 云效流水线自动化部署web静态网站
  • opencl 封装简单api
  • CSDN编辑器
  • 长沙景区数据分析项目实现
  • Django实现异步视图adrf请求
  • Android Studio使用BottomNavigationView实现底部导航栏demo
  • 【Ext.js 初步入门】Ext.js 作用以及用法 概述
  • 企业内训|AI大模型在汽车行业的前沿应用研修-某汽车集团
  • Java MySQL 连接