zoukankan      html  css  js  c++  java
  • (一)简单动画控制播放

    很久之前讲述过animation动画播放https://www.cnblogs.com/llstart-new0201/p/7294373.html,现在研究一下animator

    (一)Project视图新建AnimatorController

    (二)在上述界面右键Create state->Empty,并命名为Init,重复上述步骤并命名为State01,在Empty上右键Make Transition并在State01上左键点击,如下图所示。至此建立了两个动画状态Init和State01,并且创立了init状态到State01的两个切换开关(箭头)。由于Init状态与Extry相连,所以属于初始状态,即运行即激活Init动画。

    (三)点击Init状态,并在Inspector面板中绑定动画,如下图所示,同理设置State01动画。动画为其他软件如Maya等导出,也可以自己通过animation简单制作一下。

    (四)设置开关,如下图所示。点击+可以选择开关类型,在此选择int并命名为switch

    (五)选择(二)中init到State01的箭头,在inspector面板中点击Conditions中+,选择switch,中间选项选为Equals,并把数值设为1。同样的设置应用到State01到Init的箭头,并把数值设为2。至此两个动画状态的开关设置好了。即switch=1时动画从init切换到State01, switch=2时动画返回到Init(因为init与entry相连,所以一般init状态动画为静止动画,如站立)。注意HasExitTime参数,如果动画切换时,需要当前动画播放完成后切换,则勾选上,而且一连串动画播放时也需要勾选上。

    (六)代码控制

    在某一游侠物体上添加animator组件,并将上述建立的animatorController赋值给他,通过animator控制switch参数即可实现控制动画播放

    animator.SetInteger("switch", 1)

    可以通过state名字单独控制动画播放,此种播放可以不用设置transition

    animator.Play("State01", 0, 0f);

     (七)动画倒播

     按(四)设置参数speed,点击State01,并在inspector面板中选中Speed后边的parameter参数,并在Multiplier选择设置的speed,如下图所示。然后既可以通过如下代码控制播放速度,负数表示反向播放,下述代码表示从动画一半的地方反向播放

                animator.SetFloat("speed", -1);
                animator.Play("ww", 0, 0.5f);
    //animator.Speed设置速度也可以

     获取当前clip

    AnimationClip c = animator.GetCurrentAnimatorClipInfo(0)[0].clip

     

    以后有时间会陆续更新,更复杂详细介绍参考https://www.cnblogs.com/lancidie/p/7818559.html

  • 相关阅读:
    C++中的动态内存管理
    Harbor镜像仓库搭建
    nexus私服搭建
    Tekton ACK安装
    容器监控实践,从入门到放弃
    Bitwarden_搭建密码服务器
    Jenkins-部署文档
    Mysql-基本的
    Zabbix添加-钉钉故障报警
    ZABBIX-4.4 yum安装
  • 原文地址:https://www.cnblogs.com/llstart-new0201/p/9883974.html
Copyright © 2011-2022 走看看