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

  • 相关阅读:
    什么是webview
    juqery.fn.extend和jquery.extend
    LeetCode
    5. Longest Palindromic Substring
    42. Trapping Rain Water
    11. Container With Most Water
    621. Task Scheduler
    49. Group Anagrams
    739. Daily Temperatures
    3. Longest Substring Without Repeating Characters
  • 原文地址:https://www.cnblogs.com/llstart-new0201/p/9883974.html
Copyright © 2011-2022 走看看