unity & Maya中模型动画可能存在的问题总结
问题描述1:
1、模型在播放动画时,位置无法更改(无法改动位置,被固定在某个位置)
原因分析: Unity中Animator播放动画后无法修改transform的问题
解决方案:
①、在Animator中将Apply Root Motion给勾选上
问题描述2
2、未运行游戏时可以更改模型大小,但是运行时模型大小Scale无法更改的情况
解决方案
在Maya中将模型的属性中限制信息Scale断开连接
问题描述3
3、两个模型用同一个动画文件(具有相同的骨骼或结构),但是unity中一个模型正常,一个模型动画不正常
解决方案
方法一:查看两个模型文件在导出的时候源工程项目中的单位是否一致。 比如两个骨骼相同的模型,但uv不一样相同模型,在unity中共用一份动画文件,一个模型播放动画的时候正常,另一个模型播放该动画的时候不正常;这个时候就要检查一下两个模型在制作时Maya文件中的单位是否都是米或者厘米。
方法二:看看是否能在模型的导入设置中model——Scene Factor的数值来调整模型变为一致
问题描述4
4、在Maya中使用绑定好的骨骼做好动画文件,但导出fbx文件时,模型中的动画丢失(骨架上仍有动画,但没附到人物的骨骼中,并且人物的骨骼是没有动画的)
解决方案
①、首先,将绑定好约束的原始文件复制一份,在复制出来的文件中做好相应的动画 ②、将上面做好动画文件的源文件再复制多一份,再打开复制出来的文件,在该工程中将关节烘焙动画(关键帧——烘焙模拟,设定好想好烘焙的关键帧起始),这样子约束环会脱离约束模型后,将约束环删掉(这个时候的约束环已经丢失了对模型的绑定了,删掉再导出是为了不导出无用的东西),导出模型和动画。 ③、再新建一个空的Maya项目,,将刚才导出的模型导入到项目中,这个时候会发现也产生了一些丢失绑定的骨骼,再次对这些无用的骨骼骨架进行清理,剩下的就可以直接导出模型和动画了(这个步骤导出的模型文件就没有多余的废弃骨架了,并且动画也绑定到人物上了)
问题描述5
参考1原文. 在unity中,模型贴上贴图后,接缝处有白边/黑边(总之就是模型贴上不完全显示)。
解决方案
①、如果在场景中无论摄影机远近,模型都是粽这种情况的话,先检查,模型的uv是否正确。 ②、第二种情况是模型距离摄像机近的时候,这些白边/黑边就没有了,当距离远一点的时候,这个接缝处的白边/黑边就出现的话。第一种方法是在unity中将贴图的导入设置中的Geberate Mip Maps 取消勾选。(选中此复选框可允许生成 Mipmap,取消勾选就是不允许生成MipMap) 第二种方法是在unity中更改贴图的导入设置中的Aniso Level 参数调高(以大角度查看纹理时提高纹理质量),具体数值根据项目情况而定。(这种方式相对更好一点,因为还是存在纹理过滤,既能解决问题,又比第一种直接去掉MipMap性能消耗少。该数值还能通过代码动态更改)
原因:
这是因为在渲染的时候进行了纹理过滤(MipMap),对于离摄像机近的物体渲染的质量越高,距离远了就对模型的纹理进行过滤,从而导致模型接缝处出现白边/黑边。 知识扩展: 渲染的本质: 纹理过滤(Texture filtering)技术. Mipmap详解(有无Mipmap区别、原理、优点、缺点、优化).
|