• MecanimControl插件随笔




    -----------------------------------------
    4个animatorController是怎么回事?
    分别对应 1镜像动画速度>0 2镜像播放速度<0 3非镜像播放速度>0 4非镜像播放速度<0

    -----------------------------------------
    MecanimControl类分析

    基本思路是建立animationData的list,用于添加删除runtime动画

    核心代码位于MecanimControl->_playAnimation

    每次播放新建立AnimatorOverrideController,设置state,并替换默认的AnimationController
    (每次播放new AnimatorOverrideController有点浪费)

    默认animatorController(4个,用法相同)中有3个状态,Default,State1,State2(这两个state默认
    是有动画在上面的),每次新建立AnimatorOverrideController都会替换State1和State2
    State1 用 currentAnimationData.clip
    State2 用 targetAnimationData.clip

    最后直接根据blendingTime直接调用
    animator.Play或animator.CrossFade

    -----------------------------------------
    注意一点
    Demo中的AnimationClip是以动画形式直接存在工程中的
    在AddClip时是用animData.clip = (AnimationClip) Instantiate(clip);
    猜测如果是使用从bundle加载进来的clip就直接(AnimationClip)clip就可以,不经过bundle就没有引用计数?就需要clone?


    -----------------------------------------

    问题

    没用到Mecanim的状态连线功能,都是直接切换到某个状态直接播放的,完全是代码控制,暂时不知道能不能扩展使用动画融合


    -----------------------------------------


  • 相关阅读:
    去除文本多余空行
    自定义裁剪图片
    遍历文件目录下所有图片并保存到统一路径
    根据节点解析xml
    坐标转换——GCJ-02
    获取进程列表
    判断进程状态
    VSDK modify HDMI resolution
    mcspi
    TI RTOS
  • 原文地址:https://www.cnblogs.com/nafio/p/9137357.html
Copyright © 2020-2023  润新知