刚学的过程被这个问题困扰最多。
首先,基本的,大家都知道驱动人物需要骨架、绑骨的Mesh和动画(这三个要是不知道的话就得考虑看看计算机图形学先)
然后,基本上有点maya(或其他)功底的都知道,在maya里,骨架、mesh和动画都是一种单独的存在,谁混一起谁郁闷。
在unity里面,情况也是如此,不过再复杂一点展开。
1、骨架就是transform。不像maya和理论那样,是一种实体的单独的存在。在unity里,骨架就是transform的层次关系。一个骨头就是一个transform。这个人体的骨架(Transform)组织结构一般是abdome(spine,LeftUpLeg,RightUpLeg),abdome是根(有时用hip),向上是spine(neck,LeftUpArm,RightUpArm)。这个在哪里都差不多。关键是root,就是abdome。在unity里,引用骨架都是靠它。
2、Mesh。因为Unity里的Mesh有绑骨和未绑骨两种(在哪里都差不多)。在导入资源的时候,unity会为绑骨的Mesh自动生成一个SkinnedMeshRenderer,为未绑骨的生成一个MeshFilter和一个MeshRenderer。不精细的人物,头盔、手、武器(甚至靴子)等都不用绑骨,像骑马与砍杀,只需要把armor绑骨就好。
不绑骨情况:MeshFilter负责从文件中取出真实的Mesh(这里用的是Script里的类来表示,具体可以查reference)。MeshRender负责显示。这种想要固定在人体上,其实很简单,把这个GameObject的tansform的parent设置为需要绑定的骨头的transform就好。(比如武器,transform.parent=item_l,item_l是左手一个绑定武器骨头)所以,缺点也很明显,一个mesh只能绑定到一个骨头,也就是这个mesh不会变形。(这个可以作为绑骨和不绑骨的依据,看Mesh是否需要变形,所以头盔,武器都不需要绑骨(仅在unity中成立))
绑骨情况:SkinnedMeshRenderer有俩个重要成员,一个是Mesh,一个是Bones。当然,Mesh里有每一个顶点的绑骨数据,但这里存的是序号。就是第几个骨头,并没有指明是哪个骨头,但是如果给一个根骨头就能推测出所有的骨头了。这里的Bones把所有的骨头都列出来了,至于顺序,有点扯淡,没啥规律(调试结果)。问题出来了,那SkinnedMeshRenderer里的骨头这么没顺序,Mesh里的骨头序号怎么对应过来呢?好吧,仔细想想,其实没那么复杂。因为SkinnedMeshRenderer里包含Mesh和Bones两个成员,由于都是一起生成的,那么就一个坑埋一个人,正好就对应起来了。之所以要这么个Bones列表,是因为要把它画成transform树吧。
这样就再回答一个问题,如何换装备?原SkinnedMeshRender对应的骨骼已经存在,不可能销毁它(还有其他部分要用),所以就修改SkinnedMeshRenderer本身就好。要改的有两个值(加上材质三个):Mesh和Bones。其实,原Bones根本不用变,只需要把Mesh变了就好(除非你的绑骨不是一帮人做的)。详细代码看看Unity有个官方项目。
动画部分最有爱。其实呢,layer这个玩意,用来分组比较合适。优先级这个特点也是可以用的,不过寄太大信心。一个layer可以设置同样的叠加方式(累加,混合),控制方式(只控制上半身)。一般不同动画都放在不同层,相同功能动画在同一层,比如向左砍人和向右砍人。另外,我们动画一般都是自己搞到的一个一个片段,如果你不是动画师,还是不要用啥累加和混合了。用一些独立的动画,让他控制身体的某些部位就好。
所以,综合看,人物控制,在unity 里,换装备,换武器都是可行的。不知道咋了,网上就是搜不到如何换装的,搞到我自己研究了好久。。。
原文地址:http://blog.csdn.net/ljy1988123/article/details/8037081
相关推荐
OculusLipSync unity 面部驱动
unity3D人物模型(免积分下载),有小孩,大人,老人模型,可以用于unity的游戏人物,详细情况请看我的文章介绍
基于python的flask工具构建服务端,进行3D姿态和人脸关键点相关推断计算,然后在unity构建卡通角色的人脸和人体的驱动客户端。博客可见https://blog.csdn.net/zb1165048017/article/details/109834126 注意先运行...
此资源包含7个人物模型,每个人物模型有多套皮肤,男性和女性模型都有,并且包含人物运动动画
unity 3D人物有动画 好几种人物 自带animator 攻击死亡站立跑。都有!
unity3d 游戏人物模型 精灵族 怪物 模型 带动作 Monster BaseTeam v1.2 unity3d 游戏人物模型 Merchant Girl NPC unity3d 可爱女孩角色 带动画 unity3d 游戏人物模型 Villager A Girl NPC 红发女孩 v1.5 unity3d ...
这是一个unity的模型。里面包含几个动作,学习unity的童鞋可以用它作为练习。 这是一个unity的模型。里面包含几个动作,学习unity的童鞋可以用它作为练习。 这是一个unity的模型。里面包含几个动作,学习unity的...
Unity大量人物模型资源带动作 教程地址:
使用Unity制作一个简单的人物和怪物互相攻击的游戏demo。要求将人物放在场景中合适的位置,创建主摄像机,在合适的角度跟随人物移动,实现使用鼠标控制镜头围绕人物转动。实现人物点地移动(4m/s),要求不能穿墙,...
unity3d人物模型,包含纹理,直接导入即可使用
一共2部分资源 一、【中国古风仙侠】unity场景模型+人物模型资源+动作+骨骼动画(约1.5G) Unity中国古风仙侠场景模型、人物模型资源,217...二、Unity人物模型资源_Riko 1.3 Riko人物模型,可直接导入(包含骨骼动画)
//当controller处在空中间,grounded为false,即跳动和行走都无效///鼠标控制视角///// if (Input.GetMouseButt
unity3d动态换装Demo,想学习的可以下载来学习学习,直接打的unity3d包
UNITY3d人物模型+动作
Unity3D人物角色换装,包括头发,眼睛,衣服,裙子,鞋子,袜子什么的。
Unity人物换装 文章地址: http://blog.csdn.net/libeifs/article/details/6751312
unity人物模型资源包,挥着翅膀的女孩,椅子,美丽的女孩,这模型没有带动画~~~~~ unity人物模型资源包;unity人物模型资源包
unity人物光环特效,有完整的例子。一共包含10个光环类特效。unity2018 1.4f1测试可用。
unity3D人物模型和动作,unity3d 游戏人物模型
unity 3d 人物控制包 编辑后可运行 很好 用里面有很多 例子 perfa 供大家学习 在这分享了