对Animator一些功能上的问题的简要回答和描述

本文探讨了Unity Animator在动画切换、Trigger管理和动画事件中遇到的问题,包括HasExitTime设置的影响、Trigger复位机制以及动画过渡太快导致的视觉错误。同时,提到了动画事件的限制,如最多一个参数且限定参数类型。解决这些问题对于优化Unity中的动画控制至关重要。
摘要由CSDN通过智能技术生成

Animator一些功能上的问题描述

在Animation之间的切换上,有两点问题
在这里插入图片描述
1.Has Exit Time的设置

在这里插入图片描述

  • 当没有设置Conditions(状态,状况),没有勾选Has Exit Time时,可能会发生忽略转换
  • 勾选Has Exit Time,设置Exit Time为x,则为播放动画的x%时间切换到下一个动画。

2.Trigger的一些坑

  • 当状态机内有多个SetTrigger 来回切换需要做复位操作。究其原因是,当一段动画AClip正在播放触发trigger:A过渡到动画BClip,然后在很短的时间内触发B,ClipB过渡到CClip,这时 A的状态并未复位。依旧是触发状态,当CClip回到AClip时,你并不需要主动触发A, A依旧是生效的, 所以会又自动进入到BClip,这样就和我们想要的状态不符了。anim.ResetTrigger(stateName); //stateName :上一个状态机 anim.SetTrigger(“idle”)
  • 如果在初始阶段设置了一个Trigger(初始——>任务开始),则当前组件在重复设置setActive(true),setActive(false)时,则会重复设置Trigger。如果setActive(true)重复,则不会重复设置。
    在这里插入图片描述

3 .动画切换太快的问题

  • 动画切换过快会导致动画叠加,导致在视觉表现上出现错误

4 .Animation添加动画事件

  • 在添加动画事件的时候,需要专门为动画事件添加脚本,父层级的脚本的方法可以被检测到,但是是有限的。最好还是添加专门的动画脚本
  • 动画事件也是有条件的:
    1. 最多只能接受一个参数
    2. 参数的类型必须是Int, Float,String, Object中的一种
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值