文章目录

  • 问题描述
  • 解决办法(一 )推荐
  • 解决办法(二)
  • 解决方案(三)

问题描述

Cutscene 使用时,有一个最大的问题,就是当Cutscene 循环播放时,会在第二次播放将actor 置为最初位置,而且无法关闭,

播放中

拉到左侧

播放完毕,回到最初位置

解决办法(一 )推荐

在官方没有解决方案的情况下,经过测试有两个办法可以解决Cutscene 重复播放位置还原问题

在播放Cutscene 的Action 脚本中使用Update 去修改位置

设置播放模式为 手动

在Update 使用设置时间的方式去播放Cutscene , 时间这里取Unity的增量时间,设置Cutscene使用Sample, CurrentTime 无法播放

time += Time.deltaTime;
//防止循环Cutscene 拉回原点
//_cutscene.currentTime = time % _cutscene.length; 无法播放
if (isLoopCutscene)
{_cutscene.Sample(time % _cutscene.length);
}else
{_cutscene.Sample(time);
}

此方法Cutscene Loop 只会进入一次Enter

解决办法(二)

第二个办法不推荐使用,经过测试可以在Cutscene Enter读取位置来实现,不过直接取Actor 的 position 是无法成功的,要将Actor 的Position存在第三方位置,然后从Cutscen 内部的Clip读取,

actor.transform.position = FsmStateExtensions.RolePosition;

例如:使用静态 Vector3 ,位置改变存入,Enter 读取,

弊端,每一个Actor 都需要一个新对象/静态 读写存储位置,比较麻烦,不推荐使用

此方法Cutscene Loop 会反复进入 Enter

解决方案(三)

第三个方案主要是解决Cutscene销毁时出现的位置拉回,这个问题不是一定会出现,当Cutscene 没有定义停止模式,直接销毁时,会有概率发生拉回原点,原因是因为直接销毁之前没有调用Stop 会采用默认的stop Rewind,即还原开始的位置

因此在检查脚本执行顺序,要在Gameobject.Destory之前先调用Stop

Cutscene.Stop() //采用Cutscene 面板的停止方式
Cutscene.Stop(StopMode) //指定一种停止方式

Stop源码

还可以修改Stop的默认 改为Skip / SkipRewindNoUndo , 这样做只是避免忘记Stop时,预防措施,还是要检查脚本执行顺序,确保在Destory之前先Stop

Slate轨道工具使用(三)—位置还原问题修复相关推荐

  1. 桌面图标位置还原工具 DesktopOK 7.97 中文绿色版

    桌面图标位置还原工具 DesktopOK 7.97 中文绿色版 DesktopOK软件简介 DesktopOK,一个带有桌面图标布局的小工具. 在桌面上有了许多图标并且手动地移动了位置之后,就很难在一 ...

  2. 常用工具类 (三) : Hutool 常用工具类整理 (全)

    文章目录 官方文档 一.基础工具类 StrUtil / StringUtils 字符串工具类 DateUtil 日期工具类 NumberUtil 数字工具类 BeanUtil JavaBean工具类 ...

  3. 手写小程序摇树优化工具(三)——遍历json文件

    见素包朴,少私寡欲,绝学无忧 github: miniapp-shaking 上一章我们介绍了遍历js文件的方法,接下来我们介绍其他文件的遍历. 1. 遍历JSON文件 对于json文件,我们直接读取 ...

  4. JAVA二开工具开源 (三)--多租户实现方案

    JAVA二开工具开源 (三)–多租户实现方案 最近想了解如何Java对接微信平台,快速搭建完整项目开发,发现网上有很对开源的这类二开源码.https://gitee.com/luozijing123/ ...

  5. 请描述计算机硬件故障检测工具的使用,Win10专业版系统有哪些硬件诊断工具 硬件出现问题如何查看修复...

    电脑是十分复杂的机器,各个部件都需要好好的维护,但是有时候电脑会出现一些问题,导致电脑无法正常运行,需要进行修复.其实,除了第三方软件之外,电脑本身具有硬件设备检测工具,我们可以使用这些检测工具来处理 ...

  6. 台湾地震受损电缆预计三周左右可修复

    台湾地震受损电缆预计三周左右可修复[@more@] 本报讯 (记者徐春柳)台湾宜兰南澳东偏南方外海74.6公里,9月7日凌晨1:51发生里氏规模6.6及5.7级的强烈有感地震.据悉,此次地震并未造成严 ...

  7. 内存卡修复工具有哪些?4个修复方法分享

    案例:内存卡修复软件哪个好? "急!急!急!我的SD卡坏了,用了很多方法都没有办法恢复.里面有很重要的数据,求一个好用的内存卡修复软件?谢谢啦!" 内存卡是我们常见的存储设备之一, ...

  8. 刺客引擎三端-四职业修复版

    刺客引擎怎么能没有刺客职业? ========================引擎版本说明======================= version: 1.12 代码:  c++11  , coc ...

  9. 360手机黑科技“位置穿越”功能修复 360手机位置穿越不能用了 360手机刷机

    360手机黑科技"位置穿越"功能修复 360手机位置穿越不能用了 360手机刷机 参考:360手机-360刷机360刷机包twrp.root 360刷机包360手机刷机:360ro ...

  10. 用MATLAB绘制两个圆相切,教您用几何绘图工具画三个两两相切的圆

    圆与圆的位置关系有:相离,外切,相交,内切,内含,它们之间的位置是由圆心距与两半径的长度来确定的.那么如果想画出三个两两相切的圆,要怎样画呢?这时我们可以利用几何画板这个绘图工具,画出既标准又美观的图 ...

最新文章

  1. java的关键字与保留字
  2. tensorflow 进阶(三),BP神经网络之两层hidden_layer
  3. linux文件的定义变量的值,linux $变量含义($0,$1,$2,$#,$@) ----linux 基础
  4. Web存储机制—sessionStorage,localStorage使用方法
  5. 20135231 —— 第六周任务总结报告
  6. 第六课 多算法组合与模型调优
  7. 群晖ffmpeg_群晖Video station支持DTS和EAC3
  8. php查询MySQL结果转化为数组_PHP如何将SQL查询结果转为多维数组,并按查询行输出...
  9. mysql text转varchar_关于企业面试中:“ Mysql重点 ”的28道面试题解析!
  10. java操作地理位置信息
  11. linux mysql 8.0启动不了_MySQL官方源从8.0.3直接yum升级到8.0.4后无法启动
  12. Java DatagramPacket 中的坑
  13. x86汇编指令:EIP、ESP、EBP
  14. 名侦探柯南主线剧情整理
  15. TCP/IP协议 1 ----实验楼转
  16. win10连不上网,显示电脑标识加一个红叉叉,网络连接只有以太网?
  17. 维瑞最新推出5年期VeriSign SSL证书价格
  18. 俄大神 lopatkin Windows 精简优化系统 - 工具软件
  19. mysql无法启动以及cmd下mysql命令无法识别的
  20. 十大最易受攻击的软件 Java第一Adobe第三

热门文章

  1. 论文写作---matlab符号运算之求解方程组
  2. 惠普笔记本被政府盖章存隐藏键盘记录器,怎么回事?
  3. 马化腾每天刷 Leetcode?代码你打算写到几岁?看看这些业务大佬程序人生【云图智联】
  4. Cadence Allegro PCB设计88问解析(十二) 之 Allegro中两种单位显示设置
  5. 洛谷试炼场---普及练习场
  6. Python PDF转image方法小结
  7. 发动机关键零部件3D视觉引导自动上料和装配系统
  8. SRP Batch合批失败
  9. labview虚拟心电监测系统_使用LabVIEW进行心电信号处理
  10. 80行代码轻松搞定反向传播神经网络(BPNN)