1)、简介

    2)、面板参数

    3)、API

    举例:

    1. 混合播放,预留之前动画的一部分和将要播放的动画混合后再播放,有播放过渡的意思
    2. 举例:
    3. void CrossFade( "动画片段的名称" , int fadeLength, PlayMode.StopSameLayer );
    4. // fadeLength (与之前的动画片段融合的百分比)
    5. CrossFadeQueued
    6. 动画过渡播放的序列设定
    7. 举例:
    8. AnimationState CrossFadeQueued( "动画片段的名称" int fadeLength, QueuedMode.CompleteOthers );
    9. // QueueMode(CompleteOthers、PlayNow)
    10. AnimationState this[string name];

    4)、辅助类

    1. 用于监视当前Animation播放的动画切片的状态
    2. 功能
    3. name(动画片段的名字)
    4. clip
    5. 动画片段
    6. AnimationEvent pEvent = new AnimationEvent();
    7. pEvent.name = "Fun";
    8. time(返回当前动作切片被播放了多久,单位是秒)
    9. time/length(计算出动画片段播放了几遍)
    10. 返回当前动作切片被播放了多久
    11. 单位是总时间的百分比
    12. length
    13. 返回当前切片的总时间长度,单位是秒
    14. speed
    15. 可以获取或者设置当前切片的播放速度
    16. > 1(加速播放)
    17. 01(减速播放)
    18. normalizedSpeed
    19. 可以获取或者设置当前切片的播放速度(百分比制)
    20. wrapMode
    21. 获取或设置当前切片的循环状态
    22. Default
    23. Once(只播放一次)
    24. Loop(循环播放)
    25. PingPang
    26. ClampForver(播放到最后一帧的时候,会循环播放最后一帧)

    5)、切片的装载

    6)、动画事件

    1. 简介
    2. 我们可以为每个动画切片添加一些根据播放时间来确定的方法,让动画播放到我们指定的时间时激活这个方法
    3. 为了给一些动画追加特效
    4. AnimationEvent
    5. functionName
    6. 我们可以给这个事件添加一个需要执行的方法的名字,字符串型的
    7. 注意:事件的函数体不是说非要在我们的注册脚本中,只要是在GameObject中存在这么一个函数就行了,而且不理会他的修辞
    8. messageOptions
    9. 设定当前事件对于注册方法的理会问题
    10. RequireReceiver(表示必须理会这注册函数,如果没有对应的函数体在游戏个体上不存在就报错)
    11. DontRequireReceiver(不管注册的事件函数是否存在,不存在也不报错,存在就执行)
    12. time
    13. 用于设定当前事件在对应的AnimtionClip中执行时间点
    14. 注意:时间一定要在当前切片的时间范围内
    15. 事件执行函数的参数
    16. 类型(intfloatstringUnityEngine.Object
    17. 定义
    18. 对于这个参数你只能定义一个,意识就是上述类型中你自己选一个类型
    19. 注意:Object类型指的的是Unity引擎的任意类型,不是C#语言的任意类型
    20. 获取
    21. 你定义函数实现时直接写上对应类型的行参就可以获取
    22. 传递
    23. 在创建事件对象时就需要传递好实参内容,Animation组件会自动返回你传递好的参数
    24. 注意:
    25. 事件不要重复,重复就会多次执行
    26. 事件必须添加到AnimationClip
    27. 我们可以通过AnimationClip返回对应的事件