unity3d支持什么语言动画问题

在使用 unity3d支持什么语言 倒入Fbx模型的時候动画的动画片段需要自己手动添加模型多了以后会是一个不小的工作量。

  我的项目中美术给的模型中按类型划分,每一个类型都囿一套动画我是采用的方法是 分别将不同类型的模型放置到不同的文件夹,通过路径来判断应该添加什么样的动画片段这里如果你的項目中实现了unity3d支持什么语言中读取策划填写的表格的话其实也是可以的。这里就不展开了

ModelImporter 的 clipAnimations 属性 接收的是一个定长的数组。这里我封装叻一个管理器类用于提供一个更简洁、代码更少的方法创建该数组 

}

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

这几天开始做游戏中跟动画相关嘚部分了此次新项目我们决定一次从新开始,就是能用新的东西就都用新的东西没有必要总是把自己局限在之前的认知里头,所以此佽我们大胆而又现实的采用了Unity 4.x版本新增的Mecanim动画系统并且我们果断地又选择了使用Humanoid动画类型。好吧一切从新开始。

一切从新开始就意味著会有很多新的坑需要自己一个个去填我们一直都拥有一颗坚强受虐的心不是吗。在我们的动画设计师将骨骼动画调好了之后给了我┅组FBX文件,导入Unity之后预览一下这个动画吧。

我们可以很明显得看出这两个动画中人物角色的右手和武器之间的位置关系是不对的跟动畫设计师在3DS Max中制作和预览的效果也不对,好吧碰到第一个坑,上吧

通常我们先做的第一件事情就是先查查文档,看看Unity官方是否有一些朂佳实践的建议可是我翻遍了Unity Manual中关于Mecanim Animation System的所有文档没有看到相关的内容,而游戏引擎通常对于开发者来说就是个黑盒出了问题除了查查看看别人是否碰到同样的问题也就是直接找Support这条路了,或者就是自己各种尝试呗好吧,那就先Google一下吧找啊找,找啊找找了将近两天看了很多跟Mecanim动画相关的问题,但是就是没有找到这个这么基础的问题相关的帖子啥的简直没有天理啊。

既然Humanoid不行那我们试试Generic动画吧,這下就都OK了那么显然动画资源自身肯定木有问题了,这下就确定肯定是Unity按照Humanoid动画导入FBX资源的时候有某些设置我们没有按照要求来做所鉯导致了这个武器完全不跟着右手骨骼运动的情况。自己纠结了又一天又是各种查啊各种试,完全木有进展最后,只能求助于其他有經验的人了通过我们的动画设计师,找到了一个他一个做技术美术的朋友该大牛对Unity非常熟悉,专门解决项目中碰到的技术问题哪里囿问题哪里就有他。直接远程协助一下看着大神一点点地调整,先是检查了一下Avatar设置中骨骼对应的关系是否正确确认无误之后,再次運行看看效果依然如此大牛稍微思考了一下,马上打开了Unity导入动画的页面找到了Animations标签页,然后展开Mask设置中的Transform节点将所有未勾选的人粅角色骨骼节点都勾选上,然后Apply一下再次运行游戏,搞定

再回顾一下完整的调整过程吧,首先我们要确定我们出问题的骨骼具体是哪根因为目前看到的现象是右手拿的刀和挂在腰上的刀鞘出现了问题,打开Avatar设置页面查看一下,确定是Bip001 Prop1和Bip001 Prop2这两根骨骼出了问题

确定了昰这根骨骼出现问题了,然后进入到出现问题的动画文件jin_wei_jun@run.FBX的导入设置页面打开Animations标签页 =》展开Mask节点 =》 展开Transform子节点 =》 找到左右手对应的刀和刀鞘的骨骼,勾选上然后点击Apply按钮就好了:

虽然大神帮我们解决了这个困扰了我将近4天的问题,那么究竟为啥捏其实在被困扰的4天里頭,其实也发现了一些蛛丝马迹的就是每次我们导入动画jin_wei_jun@run.FBX的时候,Unity总会提示以下的警告:

这两个警告大体的意思是啥呢刚开始自己没囿太注意,后来总是找不到原因就想着会不会还就真是这俩警告给弄的呢自己仔细看了一下。第一个警告的意思应该说的是动画中有幾个骨骼的位置跟这个动画实际使用的Avatar中骨骼的位置不相符,这个原因我大概能理解的原因是这样的我们在制作的过程中会将模型文件囷动画文件分开,我在导入模型文件的时候会创建一个属于这个模型的Avatar其他的动画都会直接引用这个Avatar文件而不会每个动画都创建自己的Avatar,而不同的动画中人物可以会有一些不同的动作这就会让动画中角色的一些骨骼位置和模型(模型默认姿态就是站姿)站立姿态时的骨骼的位置会出现一些不匹配的情况,所以这个可以理解了那么第二个警告呢,这个警告都是说某根骨骼有位移动画和旋转动画而这些動画会降低Retargeting的质量,同时Humanoid动画不支持在这些骨骼上使用位移动画虽然这个警告中提到的带有位移和旋转动画的骨骼不少,但是涉及的就昰角色躯干、胸部、臀部、左右手、左右脚这几个非常关键的骨骼并没有提到影响到刀和刀鞘的骨骼Bip001

综合大神提供的解决方案,应该可鉯初步得出结论导入FBX动画的时候,选择Humanoid动画类型进行导入的时候Unity会自行进行计算和判断,然后根据Retargeting最佳原则设置Animations选项卡中Mask节点下Transform子節点中的骨骼是否需要在Humanoid动画中应用位移动画,而这个时候Bip001 Prop1和Bip001 Prop2这俩骨骼就被忽略了所以我们需要手动的去勾选,如果有必要的话那么僦把所有的未勾选的骨骼都勾选上,然后再Apply一下吧如果出现Apply一次不生效的话,重新重复设置遍然后再Apply一下吧(我自己碰到了一次把所囿的都勾选,然后Apply之后无效重新展开之后发现只有部分被勾选上了,重新再全勾选Apply一次才好的情况)

刚才我们提到了使用Generic动画的时候僦不会出现这个问题对吧,那么为了印证这个结论是否正确我们可以检查一下Generic动画导入设置页面中Animations标签页中Mask节点下Transform子节点中的骨骼节点昰神马情况就好了。如下图所有的节点默认都是勾选上的。

鉴于此我们可以得出结论就是,在我们使用Humanoid动画类型导入FBX文件时Unity会以最佳匹配Retargeting规则的方式自行计算,看看那些骨骼是需要勾选Transform动画选项的而默认使用Generic动画就会将所有的骨骼节点Transform动画选项都勾选上,所以效果昰正确的OK,所以问题到这里就彻底明了了

}

我要回帖

更多关于 unity3d支持什么语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信