新建一个动画机

然后创建一些动画的属性

每根线都是一个动画到下一个动画的转变,动画的转变是基于条件的。

1.通过建立Parameters设定动画的转换条件

2.右边的Conditions设定可以设定是在什么情况下进行抓换的

下面的Walk是一个布尔值。

触发器的布尔值的改变方法

 public Animator animator;

// 使用进行初始化
  void Start () {
    cc = this.GetComponent<CharacterController>();
    animator = this.GetComponent<Animator>();
 }

animator.SetBool("Walk", true);

要实现走的时候突然跳跃功能。

如果要实现瞬间动画,能够在某个动作触发的时候,前一个动画在没有播放完之前就进去下一个动画,就让下面的Has Exit Time为空,表示没有退出时间,就是可以直接进入下一个动画。

然后,将动画机添加到游戏物体上

设置动画机的触发器,当有触发器的时候,能够调用下面的动画

在代码里面:

        //使用普通攻击
if(Input.GetKeyDown(KeyCode.J)){
print("-----------------");
if (animator.GetCurrentAnimatorStateInfo().IsName("PlayerAttackA") && isCanAttackB)
{
animator.SetTrigger("AttackB");
}else {
animator.SetTrigger("AttackA");
} }

可以通过具体时间轴上触发事件去进行控制(可以方便控制在一个动画的某个状态切换):

同时通过时间轴上控制触发函数可以控制在某一动画的某个时间点去调用比如攻击掉血等逻辑这样可以避免这样的逻辑在UPdate中被重复调用,

可以达到碰撞器(进入碰撞,出去碰撞)只会接收一次碰撞的效果。

代码:

在Events轴上,设置触发函数。在两个函数之间能够去触发下一个动画机

    public void AttackB1() {
isCanAttackB = true;
}
public void AttackB2()
{
isCanAttackB = false;
}

Unity3D 之3D动画机设置的更多相关文章

  1. Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系

    2条评论 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移,这个就是通过 applyRootMotion 来达成的,我们只需要在使用 Animator ...

  2. Unity3D 之2D动画机

    这里来讲解一下2D动画机的使用 2D的时候,默认的情况下,可以调用默认的站立之类的动画,然后通过触发,可以变化自己的动画. 一:将一个图切成一些一个元素 二:创建一个精灵,给精灵添加一个动画机 三:给 ...

  3. 【Unity3d】3d角色换装实现原理及步骤

    http://www.cnblogs.com/dosomething/archive/2012/04/15/2450526.html 1.角色模型制作 unity3d支持Skin动画  但是不支持Ph ...

  4. Unity3D制作3D虚拟漫游场景(二)

    传送门: Unity3D制作3D虚拟漫游场景(一) -------------------------------------------------------------------------- ...

  5. Unity3D之Legacy动画系统学习笔记

    Unity3D的Mecanim动画系统是非常强大的,而且作为Unity推荐的动画系统,其未来会完全代替老的一套动画系统,即Legacy动画系统.目前的情况是Mecanim与Legacy两套动画系统同时 ...

  6. 如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性

    首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5   6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective: ...

  7. 用CATransform3D实现3D效果和制作简单3D动画

    我们先来看下CATransform3D的头文件 struct CATransform3D { CGFloat m11, m12, m13, m14; CGFloat m21, m22, m23, m2 ...

  8. CSS3中的3D动画实现(钟摆、魔方)--实现代码

    CSS3中的3D动画实现(钟摆.魔方) transition-property 过渡动画属性  all|[attr] transition-duration 过渡时间 transition-delay ...

  9. Unity3D实现3D立体游戏原理及过程

    Unity3D实现3D立体游戏原理及过程 183 0 0     下面的教程是我今天整理的资料,教大家一步步完成自己的3D立体游戏,并向大家介绍一些3D成像的原理.     理论上,每个普通的非立体3 ...

随机推荐

  1. 【转】ubuntu11.10 64bit 环境android编译错误

    原文网址:http://blog.csdn.net/lmhgen/article/details/7326083 错误1: 注意:external/protobuf/java/src/main/jav ...

  2. lightoj 1003

    有向图拓扑排序,判段是否存在. #include<map> #include<cstdio> #include<string> #include<cstrin ...

  3. 查看tablespace的使用情况

    by tablespace(使用单位G): SELECT a.tablespace_name,(all_size-b.unuse_size) use_size,b.unuse_size,a.all_s ...

  4. 多控制器之UIApplication

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. Java笔记(八)……数组

    数组的概念 同一种类型数据的集合.其实数组就是一个容器. 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素. 数组的格式 元素类型[] 数组名 = new 元素类型[个数]; int[ ...

  6. vijosP1319 数列

    vijosP1319 数列 链接:https://vijos.org/p/1319 [思路] 数学. 相当于交换进制2为k. [代码] #include<iostream> using n ...

  7. Kafka系列(二)特性和常用命令

    Kafka中Replicas复制备份机制 kafka将每个partition数据复制到多个server上,任何一个partition有一个leader和多个follower(可以没有),备份的个数可以 ...

  8. Shell的那些事儿

    日常工作中,哪种语言对你的帮助最大?我觉得非Shell莫属.最早接触Shell应该是在大学的时候,如做Linux文件系统裁减会用到一些命令,如find, tar, xargs, cp等等,并把它们通过 ...

  9. tcpclient 类

    1. 构造函数 1) 类对象将套接字与本地系统地址和一个随机的tcp端口号进行绑定. 在默认的tcpclient 对象创建后,必须使用connect方法与远程设备连接. TcpClient tc = ...

  10. Unity手游之路<六>游戏摇杆之Easy Touch 3教程

    之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单.但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材:能指定在某个区域显示,或者只有在该区域触摸时才 ...