精华内容
参与话题
问答
  • Animator

    千次阅读 2018-04-03 19:18:48
    1. 准备工作a) 通过FBX创建AnimationClip文件。(目的:更新动作后不会对动作状态机产生影响)核心代码:b) 替换动画状态机内的文件(目的:动画文件进行修改后,替换进入动画状态机)核心代码:2....

    1.      准备工作

    a)        通过FBX创建AnimationClip文件。(目的:更新动作后不会对动作状态机产生影响)

    核心代码:

    b)        替换动画状态机内的文件(目的:动画文件进行修改后,替换进入动画状态机)

    核心代码:

    2.      创建动画状态机

    基本原则:状态之间的转换都需要经过Idle

    平行状态使用Blend Tree_1D,通过Float变量进行控制(比如:角色吃饭,睡觉,交谈等目的:减少参数数量,使用BlendTree设置效果和使用多个Trigger设置所达到的效果是一样的)

     

    通过子状态机和BlendTree的使用简化AnimatorController以及使用的参数数量

    使用AnimatorOverrideController

    使用AvatarMask

    使用IK


    3.      驱动动画状态机

    a)        SetTrigger()/SetInt()/SetBool()/SetFloat()设置参数,控制状态

    b)        AnimatorStateInfo获取当前状态

    c)        AnimatorStateInfo.normalizedTime获取当前播放进度

    d)        Anim.IsInTransition (0) 判断是否在过渡

     

    e)        控制脚本主要提供方法 PlayAnim(AnimType type)/Reset()

    f)         使用协同程序等待进入Idle状态后,再进行下一个状态的转换

     

    4.      遇到的问题

    a)        BlendTree:

                            i.             Speed = 1/-1  正向/反响播放(eg:抽刀,收刀)

                          ii.             AdjustTimeScale:Homogeneous Speed(通过对Speed的调整,统一BlendTree中的动作)

    b)        ResetTrigger() 可以将Bool类型参数还原

    c)        动画过渡(Transitions Setting)细活

    d)        移动速度和动作播放速度的匹配

    e)        滑步问题

                            i.             出现滑步的基本原因是移动速度和动画播放不匹配

                          ii.             NavmeshAgent + AnimatorController

    从Walk->Idle,NavmeshAgent.velocity.magnitude =0后,切换Idle状态。

    f)         状态的转换

                            i.             HasExitTime

                          ii.             AnimatorStateInfo.normalizedTime>0.8f+ 参数控制

     

     


    展开全文
  • animator

    2018-04-27 17:55:03
    if(animator) { //get the current state AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); //if we're in "Run" mode, respond to input for jump, and set the Jump ...
    if(animator)
    {
    //get the current state
    AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);

    //if we're in "Run" mode, respond to input for jump, and set the Jump parameter accordingly. 
    if(stateInfo.nameHash == Animator.StringToHash("Base Layer.RunBT"))
    {
    if(Input.GetButton("Fire1")) 
    animator.SetBool("Jump", true );
    }
    else
    {
    animator.SetBool("Jump", false);
    }

    float h = Input.GetAxis("Horizontal");
    float v = Input.GetAxis("Vertical");

    //set event parameters based on user input
    animator.SetFloat("Speed", h*h+v*v);
    animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime);
    }


            AnimatorStateInfo stateInfo = this.animator.GetCurrentAnimatorStateInfo(0);  
            if (!stateInfo.IsName(IdleState))  
            {  
                // 每次设置完参数之后,都应该在下一帧开始时将参数设置清空,避免连续切换  
                this.animator.SetInteger(ActionCMD, 0);  
            }  
      
            if (stateInfo.IsName(AtkSliceState) && (stateInfo.normalizedTime > 0.6f) && (this.curComboCount == 2))  
            {  
                // 当在攻击1状态下,并且当前状态运行了0.6正交化时间(即动作时长的60%),并且用户在攻击1状态下又按下了“攻击键”  
                this.animator.SetInteger(ActionCMD, 1);  
            }  
            if (stateInfo.IsName(AtkStabState) && (stateInfo.normalizedTime > 0.8f) && (this.curComboCount == 3))  
            {  
                // 挡在攻击2状态下(同理攻击1状态)  
                this.animator.SetInteger(ActionCMD, 1);  
            } 
    展开全文
  • unity animator

    2018-02-12 15:31:24
    unity 新动画animator基础知识,几种用法,如何play 、crossfabe、状态机切换以及状态机的部分参数说明
  • Camera Path Animator 3.61

    2018-09-13 20:24:07
    Camera Path Animator - Animate Cutscenes with Splines 3.61 Unity 5 compatible Create, edit and preview camera animation within the editor and avoid having to compile the scene to see every change. ...
  • Hippo Animator是一款比较专业的动画编辑软件,通过它你能够轻松创建自己的动画片。它简单易用且功能强大,非常为适合想尝试视频教程制作的初学者,内置图像编辑工具,可以对图片进行编辑。你可以很方便地创建网页...
  • Unity动画机制 AnimatorAnimator Controller教程

    万次阅读 多人点赞 2018-08-05 23:59:05
    Unity动画机制 AnimatorAnimator Controller教程 助力快速完成 Animator 动画的添加与控制 为初学者节省宝贵的时间,避免采坑! unity 中为我们提供了而全面的动画设计解决方案,用来完成游戏对象的动态效果的控制...

    Chinar blog www.chinar.xin

    Unity动画机制 Animator Animation


    本文提供全流程,中文翻译。

    Chinar 的初衷是将一种简单的生活方式带给世人

    使有限时间 具备无限可能

    Chinar —— 心分享、心创新!

    助力快速完成 Animator 动画的添加与控制

    为初学者节省宝贵的时间,避免采坑!

    Chinar 教程效果:
    这里写图片描述



    全文高清图片,点击即可放大观看 (很多人竟然不知道)


    1

    Animator —— 动画


    Unity 中为我们提供了而全面的动画设计解决方案,用来完成游戏对象的动态效果的控制和创建

    我们想要一个人物模型动起来,非常简单

    只需要在人物的游戏对象上添加 Animator 组件

    然后创建一个 Animator Controller 来控制对应的游戏对象的动画 Animator 即可
    举个栗子黑白88
    这里写图片描述
    这里写图片描述


    2

    Animator Controller —— 动画控制器面板


    选中 Animator Controller文件,点击 Open 即可打开控制器面板

    新创建一个 Animator Controller 默认是没有任何状态的

    需要自己创建空状态,并进行相应设置
    举个栗子黑白88
    这里写图片描述


    3

    Specifies Animation —— 指定动画


    创建一个状态后,我们需要给该状态改名(为了区分状态),并指定一个动作 Motion

    这里我创建的是 站立,所以就需要找到对应的 Idel 动画,指定给 Motion
    举个栗子黑白88
    这里写图片描述
    相同流程创建跑步动作:
    这里写图片描述


    4

    Status Swithing —— 状态切换


    由于丧尸这个游戏对象,具备跑和站立 2 个状态/动作 Motion

    我们需要的是点击鼠标,它就开始移动,保持跑起来的状态

    走到目的地,它就停下,保持站立状态

    所以这里 站立——跑,状态是需要切换的,如上图,我们可以简单的建立连接

    那么我们需要添加一个 bool 参数,并设置对应条件,来使2个状态可以进行切换

    添加完成后,我们就可以通过代码,来控制人物的站立和跑 2个状态了
    举个栗子黑白88
    这里写图片描述
    具体流程:
    这里写图片描述


    5

    Code Control —— 通过代码控制状态


    完成上边所有设置,即可通过代码控制 动画状态的切换

    调用 Animator 中的函数,通过设置 bool 值,即可改变 游戏对象的 动画状态

    animator.SetBool("ZombieRun", true) 让僵尸切换为 跑 状态

    animator.SetBool("ZombieRun", false) 让僵尸切换为 站立 状态

    Animator.StringToHash("ZombieRun")可以将字符参数转为 ID(int 值) ,同样用来控制状态
    举个栗子黑白88

    using UnityEngine;
    using UnityEngine.AI;
    
    
    /// <summary>
    /// <para>作用:控制丧尸的移动</para>
    /// <para>作者:Chinar</para>
    /// <para>创建日期:2018-08-05</para>
    /// </summary>
    public class ZombieMove : MonoBehaviour
    {
        private NavMeshAgent navMeshAgent;
        private Animator     animator;
    
    
        /// <summary>
        /// 初始化函数
        /// </summary>
        void Start()
        {
            navMeshAgent = GetComponent<NavMeshAgent>(); //获取自身AI组件
            animator     = GetComponent<Animator>();     //动画组件
        }
    
    
        /// <summary>
        /// 每帧刷新
        /// </summary>
        void Update()
        {
            if (Input.GetMouseButton(1)) //右键
            {
                object     ray = Camera.main.ScreenPointToRay(Input.mousePosition); //屏幕坐标转射线
                RaycastHit hit;                                                     //射线投射碰撞
                bool       isHit = Physics.Raycast((Ray) ray, out hit);             //射线投射(射线,结构体信息) ;返回bool 值 是否检测到碰撞
                if (isHit)
                {
                    print("坐标:" + hit.point);               //射线与物体碰撞点
                    navMeshAgent.SetDestination(hit.point); //AI组件,设置目的地/终点
                    animator.SetBool("ZombieRun", true);    //让僵尸跑起来
                }
            }
            if (navMeshAgent.remainingDistance < 0.5f) //当前位置 与终点 的  剩余距离<0.5f
            {
                animator.SetBool("ZombieRun", false); //让僵尸站立
            }
        }
    }
    

    动画效果:

    这里写图片描述


    支持

    May Be —— 开发者,总有一天要做的事!


    拥有自己的服务器,无需再找攻略

    Chinar 提供一站式《零》基础教程

    使有限时间 具备无限可能!

    先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


    Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


    Chinar

    END

    本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

    对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

    对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

    展开全文
  • Animator, Titanium Appcelerator的Animator helper 类 #Animator: 动画是一个类,当你使用 Titanium 上的动画时,你可以轻松地学习。##Usage: 在 app.js ( 或者其他地方) 中,调用:// Load the animator helperva
  • 软件介绍: Hippo Animator是一款HTML动画制作软件,具有易入门使用简单功能...注册说明:断开网络连接,请注册机复制到软件安装目录内再使用,默认安装目录在C:\Program Files\Hippo Studios\Hippo Animator 4
  • 复制Patch.exe文件到C:\Program Files\Hippo Studios\Hippo Animator 3目录下面运行Patch.exe,点击PATCH按钮后即是正式版。软件本身支持多国语言,但启动之后初始界面为英文,你可以通过点击菜单View-->...
  • 3D Flash Animator v3.80

    2019-10-29 07:10:15
    使创作Flash动画中的程序也不再是难事,3D Flash动画的制作是3D Flash Animator的强项之一,在3DFlash Animator提供了真实的3D动画开发环境,你可以绘制出真的3D Model接着填入物件的材质、颜色、灯光等
  • Easy GIF Animator是一款专业的GIF动画制作软件,你可以通过向导方式来创建新的动画、动画横幅以及动画按钮。可创建新的空白动画、打开现有的动画,也可以从视频中创建动画。先添加创建动画所包括的图像,它们各自...
  • 1.View Animator(Tween Animator) 可以通过一个容器内执行一系列简单变化(位置,大小,透明度,旋转)等。 View动画只能够为View添加动画,它改变的是View的绘制效果,view的属性没有发生改变,其位置和大小都...

    1.View Animator(Tween Animator)
    可以通过一个容器内执行一系列简单变化(位置,大小,透明度,旋转)等。
    View动画只能够为View添加动画,它改变的是View的绘制效果,view的属性没有发生改变,其位置和大小都不会变。

    2.Drawable Animator(Frame Animator)
    把一系列图片,按照幻灯片的效果播放出来。

    3.Property Animator
    在Android3.0引入,其实现原理就是修改其控件属性值实现的动画。
    Property Animator弥补了view动画的缺陷,为对象添加动画,其对象自己的属性也将发生改变,当对象的属性变化的时候,属性动画会自动刷新屏幕,而且属性动画不止用于View,还可以用于任何对象。
    要求动画作用的对象提供该属性的get和set方法,属性动画根据外界传递的该属性的初始值好最终值,以动画的想过多次去调用set方法,每次传递给set的值不同,随着时间推移越来越接近最终值。属性动画能很好的节约资源和内存。

    展开全文
  • animator does not work

    2020-11-20 16:09:15
    m trying to get animator in my app, and then I found the skeleton's animator does not work in my browsers: Chrome 48.0.2564, Chrome 50.0.2632.0 canary, Safari 9.0.2, Firefox 43.0.4 <p>In the ...
  • EASY GIF Animator 是十分容易使用的创建和编辑 GIF 动画图像工具. 01,容易的创建动画标识;图片和按钮... 02,贴心的向导帮助... 03.支持 GIF 图像特效 04,支持 GIF 动画特效 05,支持 GIF 文字特效(支持中文) 06,...
  • Easy GIF Animator 6是一款功能强大且使用简单的GIF动画制作软件,内置简易操作向导,可以让你快速创建新的动画,创建动画横幅或者动画按钮,支持从视频创建动画。帧图像:选择你想在你的动画、包括图像。他们每个...
  • Camera Path Animator

    2018-04-10 16:41:28
    Camera Path Animator - Animate Cutscenes with Splines 3.52.unitypackage )
  • As you see in this PR, I added kotlin source set in animator module. I think we can remove java source set after we discuss about changes. <ol><li> <p>RepeatMode I changed RepeatMode type to sealed ...
  • 15年新版本的Easy GIF Animator V6.2,一款易于使用且功能很强大的GIF动画制作工具,软件内建有简易使用向导,通过向导你可以创建新的动画或者动画横幅,创建动画效果的按钮。能够从现有的视频中创建动画,将视频...
  • Tail Animator 2.0.0

    2020-12-03 10:53:25
    Tail Animator Tail Animator Tail Animator Tail Animator Tail Animator
  • Hippo Animator是一款易用且功能强大的动画编辑工具,能快速制作出想要的动画。创建先进的HTML动画、视频、GIF动画、游戏及应用程序,演示文稿和多媒体网站。安装后首次使用要选择界面语言,选择中文简体即可。注册...
  • Reflow Text Animator A port of Plaid's ReflowText that allows easily transitioning between sibling TextViews - no matter their size or style. Usage To move and transform fromView into toView: new ...

空空如也

1 2 3 4 5 ... 20
收藏数 3,986
精华内容 1,594
关键字:

animator