zoukankan      html  css  js  c++  java
  • Unity Animator State Write Defaults 属性多个初始状态应用

    Animator 中的 State 里有个可以勾选的属性叫 Write Defaults

    因为一直是默认勾选的,也没太当回事,现在发现是个很重要的玩意

    (其实就是Animator坑爹罢了,以后不要再用Animator里面的蜘蛛网写2D逐帧动画了,自己写个状态机不香吗?

    一个常见的例子就是假如我想有多个可能的状态作为 Default State

    如官方图

    然而令人智熄的是官方的这个图根本无法实现(bug?

    目前有个小技巧可以做到相同的目的:

    创建一个空state,把这个state设为default State

    然后再把它当作Entry像上图那样链接

    看起来好像没什么问题,但是实际运行时会发现在空节点时,没有任何动画的Sprite会被一些不可预测的其他帧替换

    导致人物看起来好像抽搐了一下

    虽然只有一帧,但是仍然是要命的问题

    这个时候,将空节点的Write Defaults 属性取消勾选即可按照预期运行

    原来当某个节点中Motion,也就是动画是空的时候

    Write Defaults属性勾选时,Animator会把所有没被动画设置的值设成一些默认值

    而这些默认值有没有任何的官方文档解释

    结果最终的结果就变得不可预测了

    只要取消勾选,就算没有动画Animator也不会更改任何值

    这样就会维持上一帧的状态。。。

    如果你看到这里,并且也在做2D逐帧动画

    劝你直接写状态机,然后手动调用Play函数(想念flash的第xxx天)

  • 相关阅读:
    Tweet button with a callback – How to?
    Get URL parameters & values with jQuery
    javascript 原生 cookie 处理
    sae crop 文档
    javascript获取地址栏参数/值
    Google Calendar(日历)设置农历生日提醒
    字符串转换成JSON(js)
    The ultimate jQuery Plugin List(终极jQuery插件列表)
    用 javascript 判断 IE 版本号
    Unable to start services through AMBARI UI
  • 原文地址:https://www.cnblogs.com/2017SSY/p/14304599.html
Copyright © 2011-2022 走看看