unity & Maya中模型动画可能存在的问题总结


问题概述

1、模型在播放动画时,位置无法更改(无法改动位置,被固定在某个位置)
2、未运行游戏时可以更改模型大小,但是运行时模型大小Scale无法更改的情况
3、两个模型用同一个动画文件(具有相同的骨骼或结构),但是unity中一个模型正常,一个模型动画不正常
4、在Maya中使用绑定好的骨骼做好动画文件,但导出fbx文件时,模型中的动画丢失(骨架上仍有动画,但没附到人物的骨骼中,并且人物的骨骼是没有动画的)
5、在unity中,模型贴上贴图后,接缝处有白边/黑边(总之就是模型贴上不完全显示)。
6、在Maya中模型法线正常,且无更改法线的情况下,导出模型到unity中后,模型法线反了(即光照照向模型正面,模型在unity中背面像有光照,正面无光照,法线错乱)
7、在Maya或者其他三维软件中做好的动画观察腿部的是没有出现“细微的滑动/漂浮”的情况,但是放到unity中脚部会出现细微的晃动(不知道咋形容)
8、Maya中烘焙动画时,会出现错误直接闪退关闭项目的。
9、当在Maya中烘焙好了动画,在Maya中看是没有问题的,但导出后动画丢失或者部分丢失。


1、模型在播放动画时,位置无法更改(无法改动位置,被固定在某个位置)

原因分析
Unity中Animator播放动画后无法修改transform的问题

解决方案
方法①
unity中,在Animator中将Apply Root Motion给勾选上
在这里插入图片描述


方法② Maya中,将模型的属性编辑器中平移、旋转的限制信息断开连接 / 解除锁定属性 ![在这里插入图片描述](https://img-blog.csdnimg.cn/3d2e5600f33744b28b9578388d9bc3ef.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQeacrQ==,size_20,color_FFFFFF,t_70,g_se,x_16)

在这里插入图片描述

2、未运行游戏时可以更改模型大小,但是运行时模型大小Scale无法更改的情况

解决方案
在Maya中将模型的属性编辑器中限制信息Scale断开连接
在这里插入图片描述


3、两个模型用同一个动画文件(具有相同的骨骼或结构),但是unity中一个模型正常,一个模型动画不正常

解决方案
方法①
查看两个模型文件在导出的时候源工程项目中的单位是否一致。
比如两个骨骼相同的模型,但uv不一样相同模型,在unity中共用一份动画文件,一个模型播放动画的时候正常,另一个模型播放该动画的时候不正常;这个时候就要检查一下两个模型在制作时Maya文件中的单位是否都是米或者厘米。

方法②
看看是否能在模型的导入设置中model——Scene Factor的数值来调整模型变为一致


4、在Maya中使用绑定好的骨骼做好动画文件,但导出fbx文件时,模型中的动画丢失(骨架上仍有动画,但没附到人物的骨骼中,并且人物的骨骼是没有动画的)

解决方案
①、首先,将绑定好约束的原始文件复制一份,在复制出来的文件中做好相应的动画
②、将上面做好动画文件的源文件再复制多一份,再打开复制出来的文件,在该工程中将关节烘焙动画(关键帧——烘焙模拟,设定好想好烘焙的关键帧起始),这样子约束环会脱离约束模型后,将约束环删掉(这个时候的约束环已经丢失了对模型的绑定了,删掉再导出是为了不导出无用的东西),导出模型和动画。
③、再新建一个空的Maya项目,,将刚才导出的模型导入到项目中,这个时候会发现也产生了一些丢失绑定的骨骼,再次对这些无用的骨骼骨架进行清理,剩下的就可以直接导出模型和动画了(这个步骤导出的模型文件就没有多余的废弃骨架了,并且动画也绑定到人物上了)


5、在unity中,模型贴上贴图后,接缝处有白边/黑边(总之就是模型贴上不完全显示)。

参考1原文.

解决方案
①、如果在场景中无论摄影机远近,模型都是粽这种情况的话,先检查,模型的uv是否正确。
②、第二种情况是模型距离摄像机近的时候,这些白边/黑边就没有了,当距离远一点的时候,这个接缝处的白边/黑边就出现的话。第一种方法是在unity中将贴图的导入设置中的Geberate Mip Maps (纹理过滤)取消勾选。(选中此复选框可允许生成 Mipmap,取消勾选就是不允许生成MipMap)
在这里插入图片描述
第二种方法是在unity中更改贴图的导入设置中的Aniso Level 参数调高(以大角度查看纹理时提高纹理质量),具体数值根据项目情况而定。(这种方式相对更好一点,因为还是存在纹理过滤,既能解决问题,又比第一种直接去掉MipMap性能消耗少。该数值还能通过代码动态更改)
在这里插入图片描述
原因
这是因为在渲染的时候进行了纹理过滤(MipMap),对于离摄像机近的物体渲染的质量越高,距离远了就对模型的纹理进行过滤,从而导致模型接缝处出现白边/黑边。
知识扩展
渲染的本质: 纹理过滤(Texture filtering)技术.
Mipmap详解(有无Mipmap区别、原理、优点、缺点、优化).


6、在Maya中模型法线正常,且无更改法线的情况下,导出模型到unity中后,模型法线反了(即光照照向模型正面,模型在unity中背面像有光照,正面无光照,法线错乱)

解决方案
在模型的导入设置 InspectorModel 模块的 Normals 改为 Calculate 。(也就是将默认设置从Import改为Calculate)
当然最好的办法是能在Maya中导出的时候把法线信息正确导出来(还可以试试烘焙导出法线贴图,得到正确的法线信息)
在这里插入图片描述
扩展

Normals(定义是否以及如何计算法线。这对于优化游戏大小很有用。)

  • Import:从文件中导入法线。这是默认选项。如果文件不包含法线,则将计算法线。
  • Calculate:根据 Normals Mode、Smoothness Source 和 Smoothing Angle__(下文)属性来计算法线。
  • None: 禁用法线。如果网格既未正常贴图,也不受实时光照的影响,则使用此选项。

7、在Maya或者其他三维软件中做好的动画观察腿部的是没有出现“细微的滑动/漂浮”的情况,但是放到unity中脚部会出现细微的晃动

解决方法
在unity中,在该模型的导入设置->Animation中,找到Anim.Compression(动画压缩)的默认设置Keyframe Reduction改为Off
在这里插入图片描述
原因
当模型导入的时候,unity会对模型动画进行压缩,导致在unity中观察原本应该脚部不动的,但在unity中却有晃动的情况。(一开始我还以为是unity对动画文件与三维软件对动画文件的后台算法解析不同导致的,真是无知)。


8、Maya中烘焙动画时,会出现错误直接闪退关闭项目的。

解决方法
尝试部分控制器、骨骼不进行烘焙。比如人物模型的父节点的约束的控制器不烘焙,选择子集的骨架进行烘焙。


9、当在Maya中烘焙好了动画,在Maya中看是没有问题的,但导出后动画丢失或者部分丢失。

人物做好动画导出,衣服是有动画的,但是人体上的没有动画,并且人体网格像是丢失了权重一样。(用的人物的面部也是有绑定的,但是也没有用到面部的动画)
解决方法
选择网格后->编辑->按类型删除->非变形器历史,再烘焙导出。

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity是一种流行的游戏引擎,其包含了许多可以用于游戏制作的工具和资源。在Unity,工人模型动画是一个非常重要的元素,有助于游戏的角色动作表现和角色跑动效果的实现。 工人模型动画可以通过Unity内置的动画控制器或第三方插件来创建和编辑。动画控制器是一种用于管理游戏角色动画的软件模块,可以用于处理各种动画事件,包括开始、停止、暂停、重新启动等。 创建工人模型动画时,可以使用Unity提供的标准动画库或自己的动画文件。标准动画库包括一些基本动作,如行走、跑步、跳跃、攻击等,可以直接应用于工人模型。如果需要更复杂的动画效果,可以使用外部动画制作软件,例如Blender和Maya,然后将其导入到Unity。 在游戏使用工人模型动画时,需要将动画控制器与角色模型绑定,在代码使用动画接口来控制角色的动作。这样可以实现各种复杂的动画效果,包括连续的动作序列和动作过渡。 总之,Unity工人模型动画是游戏制作不可或缺的重要组成部分。它可以为游戏增添更多的乐趣和视觉体验,使玩家更加沉浸在游戏。通过充分利用Unity的工具和资源,可以创建非常优秀的工人模型动画。 ### 回答2: Unity是一款流行的游戏开发引擎,它提供了丰富的工具和资源,方便开发者创建高品质的游戏。在Unity,工人模型动画是一种常见的技术,用于赋予游戏的工人角色生动的动作和表现力。 首先,我们需要创建一个工人模型。在Unity,我们可以使用现有的3D模型资源或者使用内置的模型来创建我们的工人角色。然后,我们可以使用Unity的强大的动画系统来为工人模型添加动画Unity动画系统支持多种动画技术,包括关节动画、骨骼动画和混合动画等。我们可以使用这些技术来为工人模型赋予不同的动作,例如走路、跑步、举重等。我们可以通过操作动画曲线和参数来控制工人模型动作。 另外,Unity还提供了一些现成的动画资源,例如动画剪辑和动画控制器。我们可以使用这些资源来快速创建复杂的动画效果。同时,Unity还支持使用第三方工具创建和导入动画,例如使用Blender创建工人模型动画,并将其导入到Unity使用。 在创建工人模型动画时,我们还可以为其添加物理效果,例如碰撞检测和重力等。这样工人模型动作将更加真实和逼真,使玩家能够更好地沉浸在游戏体验。 总的来说,Unity工人模型动画是一种基于Unity引擎开发的技术,用于为游戏的工人角色添加生动的动作和表现力。通过使用Unity动画系统和相关工具,开发者可以轻松地创建出逼真的工人模型动画,为游戏增添更多乐趣和体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值