Unity插件 - MeshEditor(六) 变形动画状态机
变形动画状态机——MeshAnimator,是针对MeshAnimation的状态管理器,有大量类似Unity animator的功能,但MeshAnimator操作会更加简便,更加直观,居家旅(zhuang)行(bi)必备啊有木有!
好了进入正题:
第一步:
首先,我们先创建一个MeshAnimatorControler,有点远,注意到屏幕的下方了可能不好找
第二步:
注意这就是我们创建的MeshAnimatorControler,每个MeshAnimator对应一个MeshAnimatorControler,在MeshAnimatorControler中建立各个动画片段之间的关系
第三步:
然后我们将他按自己的喜好重名个名称,选中他并用菜单栏选项:Window/变形动画状态机 打开
初始的话,打开是这个样子的,目前里面的动画片段是空的
第四步:
用之前变形动画编辑器(Component/变形动画编辑器)K好的动画添加到里面去,怎么K动画我就不细说了,前一篇有描述,总之我这里用Cube的网格K了4个动画
然后将他们一一拖入刚才的“变形动画状态机”窗口
我们可以看到此时的状态机已经记录了第一次拖入的动画片段的顶点数(右上角)为24,也就是说此状态机之后只会接受面向24个网格顶点的动画片段,不是的话就拖不进去的,默认会将第一个拖入的片段设为缺省动画,我们可以在动画片段上用鼠标随意拖拽其位置,如果超出窗口边界了,或者说某种原因导致窗口缩小看不到一些动画片段了,可以点击右上角的所有动画片段索引,看不到的动画片段会立马回到正中间高亮
在动画片段上右击可以选择将此片段建立过渡关系到另一动画片段,也可以设置新的缺省动画
第五步:
我们这里先建立一连串的复杂关系再说
过渡关系连线的规则是,从一个动画片段A右侧连接至下一个动画片段B左侧,代表的过渡关系为:A过渡到B
选中任一片段,可以查看由他过渡出去的所有过渡关系,选中指定的过渡关系,可以为其设置过渡条件
红色标记的连线为当前选中的过渡关系,可以点击delete删除它,勾选has exit time则在动画结束时自动跳转到下一动画,同时会忽略后面的过渡条件,如果不勾选,则后面的bool判断条件生效,如果bool变量jump的值为true,动画会过渡到下一动画,可以在代码中使用SetBool设置bool变量的值,只支持bool变量,不支持float之类的
MeshAnimator _MeshAnimator;
void Start () {
_MeshAnimator = transform.GetComponent<MeshAnimator>();
}
void Update () {
if (Input.GetMouseButtonDown(0))
{
Debug.Log("行走");
_MeshAnimator.SetBool("going",true);
}
if (Input.GetMouseButtonDown(1))
{
Debug.Log("跳跃");
_MeshAnimator.SetBool("jump", true);
}
if (Input.GetMouseButtonDown(2))
{
Debug.Log("重置");
_MeshAnimator.SetBool("jump", false);
_MeshAnimator.SetBool("going", false);
}
}
第六步:
此时我们就可以随便找个cube给他挂上MeshAnimator,并将我们上面编辑的MeshAnimatorControler拖给他
第七步:
运行程序,我们可以看到角色(cube)先是原地闲置,然后行走,再切换到跳跃,最后攻击
都是按照这条轨迹线走下去的,因为另一条轨迹线并未启用,当然,如果启用了的同时有两条轨迹线都满足条件,那么它也只会选择其中的一条进行下去
外部可控开关有play和stop
加入了新的方法,获取当前的动画状态,返回当前动画片段的名称
设置当前的动画状态,忽略状态机中连线过渡关系,角色会立即跳转到该动画
DLL版插件地址:http://download.csdn.net/detail/qq992817263/9659011
源码请看第一篇。
-----by MeshEditor
Unity插件 - MeshEditor(六) 变形动画状态机的更多相关文章
- Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)
源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 网格顶点动画(变形动画)是针对于物体的形状可以随意变换并记录为关键帧的动画,虽然模型的顶点数据还是应该交给GPU绘 ...
- Unity插件 - MeshEditor(七)变形动画骨骼及蒙皮
MeshAnimation在物体的顶点比较多的情况下,悲剧是显而可见的,我一个一个的点选顶点肯定得累死,而且对于形态的调控不是很方便,应该说是很麻烦,要知道,骨骼动画因为有了骨骼以及蒙皮信息而有了灵魂 ...
- Unity插件 - MeshEditor(一) 3D线段作画 & 模型网格编辑器
之前,因为工作需要,项目中需要动态生成很多的电线,不能事先让模型做好,更不能用LineRenderer之类的,因为画出来没有3D的效果,最主要是拐角的时候还容易破面,而我们要的是真真实实纯3D的电线, ...
- Unity插件 - MeshEditor(三) 面片破碎&网格破碎
网上的unity破碎插件很多,不过想着可以以自己的方式实现也不失为一种乐趣,虽然整体的表现性上显得有些差,但也并不会影响最终的效果,接下来我大致讲解一下破碎一个物体的流程,因为用到了协程计算碎片的原因 ...
- Unity插件 - MeshEditor(二) 模型网格编辑器(高级)
源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 继先前的一篇MeshEditor之后,MeshEditor第二版发布,这次在先前的基础上加入了为模型新增顶点以及删 ...
- Unity插件 - MeshEditor(八)模型镜像特效
将静态模型(带MeshFilter)按指定轴向.指定距离克隆一个镜像物体出来,思路很简单,将模型的顶点坐标按指定轴取反,并累加上设定的距离值,然后就完毕了!不过,因为镜像体的顶点镜像于之前模型的顶点, ...
- Unity插件 - MeshEditor(四) 模型融化特效
现在的电影里有很多妖魔在死亡后身体逐渐融化并下滑最后化为一滩黑水的情景,本次出于兴趣大致研究了这个效果,原理是控制模型的顶点向一个方向坍塌,坍塌到最低点时再根据法线方向扩散形成黑水状. 第一步: 添加 ...
- Unity动画知识之二:Animator动画状态机
上次我们讲过Unity游戏动画从入门到住院,今天我们来讲一下动画状态机. 好了,现在我们已经成功的导入了动画.接下来要玩的东西就很装13啦.因为大部分动画师是用不到这家伙的,需要掌握这个技能的,至少也 ...
- [Unity]插件Node Editor介绍 实现类似状态机画布的扩展
Unity自带的动画状态机有一套对策划非常友好的UI.但是Unity官方没有公开这些控件的api.除了Asset Store里一些已有的方案,我在这里介绍一个在github上的开源项目,封装了底层,但 ...
随机推荐
- 51Nod 1331 狭窄的通道
有一个长为L的狭窄通道,我们假设这个通道在x轴上,其两个出口分别在x=0与x=L处.在这个通道里有N只狼,第i只狼有一个初始位置ai,它想到达位置bi(0<=i=L处空间足够大可以装下任意数量的 ...
- Linux内核异常处理体系结构详解(一)【转】
转自:http://www.techbulo.com/1841.html 2015年11月30日 ⁄ 基础知识 ⁄ 共 6653字 ⁄ 字号 小 中 大 ⁄ Linux内核异常处理体系结构详解(一)已 ...
- IDF实验室-CTF训练营-牛刀小试CTF
自从开始玩CTF后,发现这个游戏还是比较有意思,发现了一个练习场地IDF实验室:http://ctf.idf.cn/ 刷刷里面的题目,今天完成了其中的牛刀小试,分享一下解题思路: 1. 被改错的密码 ...
- PTA 旅游规划(25 分)
7-10 旅游规划(25 分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条 ...
- Django笔记--视图
URLconf 在settings.py文件中通过ROOT_URLCONF指定根级url的配置 urlpatterns是一个url()实例的列表 一个url()对象包括: 正则表达式 视图函数 名称n ...
- weblogic AND jboss 反序列化漏洞
C:\Program Files\Java\jboss-4.2.3.GA\server\default\deploy\http-invoker.sar\invoker.war\WEB-INF serv ...
- ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
写在前边: 据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边.但是这里边有很多我们经 ...
- 关于ubuntu14.04LTS 64位 播放优酷视频
起因:chrome无法播放优酷视频,然后换firefox发现居然没有装flash 插件. 解释:关于chrome在网上看到了不少说法,说chrome新版本的不支持adobe flash之类的,但是这些 ...
- d4d#9 玩Docker只要浏览器就够了,PWD是个神奇的网站
本文是d4d系列的第9篇,在这一篇中给大家介绍一个学习Docker最为快捷高效的方式,你不需要自己搭建环境,也不用担心把自己的开发环境搞乱,你需要的只是一个浏览器,就可以立即开始学习Docker的常用 ...
- Dockerfile的指令
指令的一般格式为 INSTRUCTION arguments,指令包括 FROM.MAINTAINER.RUN 等. FROM 格式为 FROM <image>或FROM <imag ...