Unity插件 - MeshEditor(七)变形动画骨骼及蒙皮
MeshAnimation在物体的顶点比较多的情况下,悲剧是显而可见的,我一个一个的点选顶点肯定得累死,而且对于形态的调控不是很方便,应该说是很麻烦,要知道,骨骼动画因为有了骨骼以及蒙皮信息而有了灵魂,所以变形动画也该有适用于他自己的骨骼才对。
所以,借用Unity本身的父子节点机制,我大概将变形动画的骨架模拟了一便,但之所以称之为变形动画,也叫顶点动画,就是因为他的形态不可控,这就是不同于骨骼动画的本质,为其指定骨骼的话其实倒显得有些不合理了。
不过这里只是模拟以及更方便变形动画的调节,类似于骨骼动画那精髓般的属性——顶点权重,就不在我的考虑范围中了。
当然,目前的限制还是太多了,由于可变性太强以至于骨骼的形状会在调节动画期间在每一帧之间都会被打乱,所以事先需要保存骨骼的原型,在调节动画期间就不用太在意骨骼的形状了,就把他当做更方便的调节动画的工具吧。
第一步:选中任意物体,添加MeshAnimation(Componemt/变形动画/MeshAnimation)
第二步:新建骨架
Skeleton Asset为当前的骨架原型,可由外部导入(当前骨架为空时导入生效,“新建骨架”按钮可见便证明当前骨架为空)
点击新建骨架,会创建一个新的骨架,并为其创建核心骨骼(RootBone),核心骨骼只能有一条,其余所有骨骼都是其子骨骼
第三步:创建子骨骼
在各块子骨骼后面点击AddSubBone,输入骨骼名称,再点击Sure可为其创建子骨骼,点击Delete可删除此骨骼及其包含的所有子骨骼(核心骨骼不能删除)
暗红色标记的骨骼为当前准备为其添加子骨骼的骨骼,点击骨骼名称左面的箭头按钮可收起此骨骼的所有子骨骼,点击骨骼名称可快速在场景中定位该骨骼的操控节点
一条骨骼显示在场景中就是一个黄色圆形加一根黄线
第四步:创建整个骨架
按照自己的想法随意添加骨骼,并在场景中调节骨骼的位置(点击骨骼名称可快速在场景中定位该骨骼的操控节点)
大概就调节成了这样一个形状,一个三只脚两只手的东西
第五步:快速蒙皮
其实蒙皮就是将顶点与骨骼建立变换关系,当然unity的父子关系本就是一种很好的变换关系,只是不能包含权重。
这里我们可以直接点击“保存为原型骨架”将骨骼信息保存出去,不带有蒙皮信息更好,每次在调节动画的时候重新蒙皮。
我们选中任意顶点,可以直接将其关联到某某骨骼,也就是蒙皮。
当然顶点太多的话,这样做又得累死,所以我们点击快速蒙皮,弹出一个快速蒙皮操作窗口,我们选中场景中任意多的顶点,再点击快速蒙皮,选择目标骨骼,那么选中的所有顶点都会被关联到该骨骼上。
第六步:保存原型骨架
将场景中的骨架形状调节到你觉得可以作为初始的状态(比如人形骨骼动画里大部分模型的初始状态都是站立并两手平伸),设置好每个顶点的蒙皮信息,然后就可以点击“保存为原型骨架”,他将作为一个Asset资源文件存在本地,相同网格间可以共用,在还未新建骨架以前,为Skeleton Asset属性选择此原型骨架文件便可以导入其中的骨骼和蒙皮等所有信息,不过切记不要轻易的保存原型,因为由于后期的调动骨骼会乱,所以原型应当是作为最初始时的状态,除非后续有改动整个骨架。
为了使骨架的位置正常,请在创建骨架的时候和添加动画帧的时候都将目标物体的位置至于世界坐标(0,0,0),当然一个你认为记得住的位置也行,目的是为了保持两者的位置相等(创建骨架时,添加动画帧时)。
第七步:调节动画
然后我们可以开始调节动画了,操作方式跟以前是一样的,只不过这次我们只用调节每块骨骼就可以了,骨骼可以随意拉伸,随意旋转(这就是为什么要保存原型骨骼的原因),我们可以发现调节动画好像是要方便了那么一点点......
第八步:导出动画,并用MeshAnimationPlayer播放
导出的动画同样可以用于MeshAnimator状态机来控制,只不过为了方便的话还是MeshAnimationPlayer更直接,我们勾选启动播放,然后运行程序。
DLL版插件链接:http://download.csdn.net/detail/qq992817263/9659011
源码请看第一篇。
-----by MeshEditor
Unity插件 - MeshEditor(七)变形动画骨骼及蒙皮的更多相关文章
- Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)
源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 网格顶点动画(变形动画)是针对于物体的形状可以随意变换并记录为关键帧的动画,虽然模型的顶点数据还是应该交给GPU绘 ...
- Unity插件 - MeshEditor(六) 变形动画状态机
变形动画状态机--MeshAnimator,是针对MeshAnimation的状态管理器,有大量类似Unity animator的功能,但MeshAnimator操作会更加简便,更加直观,居家旅(zh ...
- Unity插件 - MeshEditor(三) 面片破碎&网格破碎
网上的unity破碎插件很多,不过想着可以以自己的方式实现也不失为一种乐趣,虽然整体的表现性上显得有些差,但也并不会影响最终的效果,接下来我大致讲解一下破碎一个物体的流程,因为用到了协程计算碎片的原因 ...
- Unity插件 - MeshEditor(二) 模型网格编辑器(高级)
源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 继先前的一篇MeshEditor之后,MeshEditor第二版发布,这次在先前的基础上加入了为模型新增顶点以及删 ...
- Unity插件 - MeshEditor(一) 3D线段作画 & 模型网格编辑器
之前,因为工作需要,项目中需要动态生成很多的电线,不能事先让模型做好,更不能用LineRenderer之类的,因为画出来没有3D的效果,最主要是拐角的时候还容易破面,而我们要的是真真实实纯3D的电线, ...
- Unity插件 - MeshEditor(八)模型镜像特效
将静态模型(带MeshFilter)按指定轴向.指定距离克隆一个镜像物体出来,思路很简单,将模型的顶点坐标按指定轴取反,并累加上设定的距离值,然后就完毕了!不过,因为镜像体的顶点镜像于之前模型的顶点, ...
- Unity插件 - MeshEditor(四) 模型融化特效
现在的电影里有很多妖魔在死亡后身体逐渐融化并下滑最后化为一滩黑水的情景,本次出于兴趣大致研究了这个效果,原理是控制模型的顶点向一个方向坍塌,坍塌到最低点时再根据法线方向扩散形成黑水状. 第一步: 添加 ...
- Unity插件之NGUI学习(4)—— 创建UI2DSprite动画
创建一个新的Scene.并按 Unity插件之NGUI学习(2)创建UI Root,并在UI Root的Camera下创建一个Panel. 然后在选中Panel,在菜单中选择NGUI->Crea ...
- 【Unity 3D】使用 2DToolkit 插件 制作2D精灵动画
话说博客传图也太麻烦了吧,一个一个文件一个一个传....为什么不能直接粘贴了,自动上传呢... 刚直接粘贴了,结果一张图没有,又重新截一次图,在传了一次...真是太**了 好了,吐槽完了,开始博客吧 ...
随机推荐
- 洛谷mNOIP模拟赛Day2-星空
题目背景 pdf题面和大样例链接:http://pan.baidu.com/s/1cawM7c 密码:xgxv 命运偷走如果只留下结果, 时间偷走初衷只留下了苦衷. 你来过,然后你走后,只留下星空. ...
- 计蒜客NOIP2017提高组模拟赛(四)day1
T1:小X的质数 小 X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小 X 认为,质数是一切自然数起源的地方. 在小 X 的认知里,质数是除了本身和 1 以外,没有其他因数的 ...
- NOIP2014-10-30模拟赛
T1:逗比三角形 [题目描述] 小J是一名OI退役滚粗文化课选手,他十分喜欢做题,尤其是裸题.他现在有一个二维盒子和一些二维三角形,这个盒子拥有无限的高度和L的宽度.而且他的三角形也都是一些锐角三角形 ...
- hdu 5014(贪+位运算)
题意:给你n+1个数(0->n),让你为这n+1个数在0->n中分别找一个数与其异或,求最后的最大值 思路:假设一个数5 (二进制1 0 1),则找的另一个数在5的0位上最好是1 , 1位 ...
- 例10-2 uva12169(扩展欧几里得)
题意:已知xi=(a*xi-1+b) mod 10001,且告诉你x1,x3.........x2*t-1,让你求出其偶数列 思路: 枚举a,然后通过x1,x3求出b,再验证是否合适 1.设a, b, ...
- bzoj 4033: [HAOI2015]树上染色
Description 有一棵点数为N的树,树边有边权.给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并 将其他的N-K个点染成白色.将所有点染色后,你会获得黑点两两之间的距 ...
- SSH上一个随笔的基础上添加上hibernate支持
配置文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...
- 位运算n & (n-1)的妙用
本文转自:http://blog.csdn.net/zheng0518/article/details/8882394 按位与的知识 n&(n-1)作用:将n的二进制表示中的最低位为1的改为0 ...
- 初识RabbitMQ系列之二:下载安装
一:Erlang安装 因为RabbitMQ 是Erlang语言开发的,所以首先要装上Erlang的环境 1)下载Erlang 下载官网:http://www.erlang.org/downloa ...
- 浏览器本地下拉框查询选择js
首先需要引用jquery-1.7.2.js. 页面下拉框有对应的数据,此下拉框的查询将不与服务器交互.本地下拉框查询.暂不支持通过键盘上下按键和enter键控制 // JavaScript Docum ...