[Unity] 利用Mixamo进行人物骨骼绑定并导入Unity(搞定材质缺失+骨骼缺失)
提供一种对人物模型自动绑骨并导入到Unity的一种方法,并且解决导入Unity后的材质缺失和骨骼缺失
前言
本文介绍了一种将自己人物模型(无绑骨)利用Mixamo平台自动绑骨,并且导入到Unity当中生成对应骨骼并进行动画播放的方法。
Mixamo
Mixamo是Adobe旗下的一个基于web版的在线3D人物动画制作平台,可以更轻易的创建出3D人物动画。其自身提供众多3D模型和动画文件。当然我们也可以上传自己的3D模型来进行创作,将Mixamo中的动作文件直接套用到自己的角色上。Mixamo能够无缝的和所有主流的 3D 软件和游戏引擎协同工作,包括 Unity 3D、UE4、Blender、3ds Max、Maya、Trinigv Vision、Cinema 4D、Lightwave、CAT、Shiva 等。
一、导入人物模型至Mixamo平台
在Mixamo官网注册好账号之后来到此界面,点击UPLOAD CHARACTER,随后选择自己模型的fbx文件上传:
来到此界面,可以看到自己的模型已经显示在了窗口中,点击Next:
此时需要手动拖拽圆圈选择对应的关节部位位置,如图
也可在下栏选择手部的骨骼数量,一般默认为65节,可选择为一手两指或一手三指或没有:
随后点击Next,等待后台进行自动绑骨,稍等片刻处理结果出来之后,发现此时人物已经能够播放动画:
点击Next回到主页面,选择Animations下的任意一个动画,发现动画能够正确映射到人物上:
至此,Mixamo上的人物自动绑骨已经完成,接下来需将人物导入到Unity中。
二、导入人物模型至Unity
点击当前页面的DOWNLOAD,选择Format下的FBX for Unity并下载导出的FBX文件:
随后打开Unity,将刚刚得到的FBX文件导入到项目资源当中:
此时会发现导入的模型却是白模(材质缺失)并且并没有骨骼文件,解决方案如下:
材质缺失
方法一:
此时点击模型文件并来到检视窗口:
点击Materials下的Textures的Extract Textures,会出现文件窗口(默认是模型所在的文件夹),选择模型所在的文件夹之后:
项目资源会自动生成角色的纹理:
再点击Extract Materials,此时模型的材质将自动绑定好:
方法二:
点击Materials下的Location,选择Use External Materials(Legacy)然后Apply:
随后会发现项目资源自动生成了模型的纹理以及材质文件,人物也附上了材质:
至此材质缺失问题解决。
骨骼缺失
此时点击检视窗口下的Rig,在Animation Type中选择Humanoid,并且在Avatar Definition中选择Create From This Model,随后点击Apply:
随后会发现自动生成了人物的骨骼文件:
至此骨骼缺失问题解决。
三、将Mixamo的动画资源导入到Unity中供人物使用
大家可以在Mixamo选择自己需要的人物动画并且下载,得到的FBX文件直接导入到Unity当中,例如这里我下载了一个这样的动画:
同样点击,来到检视窗口, 在Rig下选择Copy From Other Avatar,选择自己人物原有的骨骼Avatar,这里我选择了上一步创建的骨骼,随后点击Apply:
测试
新建一个AnimatorController并复制给角色预制体的Animator,在动画窗口下把刚刚下载的动画设置默认播放测试一下:
角色正常播放导入Mixamo动画:
结语
Mixamo YYDS,只能说太方便了,这篇文章也是我在Mixamo模型导入Unity发现缺失了骨骼和材质问题并解决的经验,希望能帮到大家o(* ̄▽ ̄*)ブ
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)