unity3d模型重新导入场景mesh会丢失怎么解决
1个回答
展开全部
一、模型缩放异常
常见的缩放错误包括模型整体缩放异常、四肢缩放动画异常、缩放隐藏异常等。
1.模型整体缩放异常 有时在max中看起来尺寸正常的模型,导入到unity中会过大或过小,导致此类问题的原因通常有三种。
(1)unity参数异常 在fbx文件inspector面板model分类下的scale factor参数异常,
通常出现这种问题是因为max中的单位与unity中的单位不统一,在单位转化的过程中出现异常,解决方案也很简单参照其他显示正常的模型,scale factor的参数是多少,修正异常模型的参数即可。
(2)max中模型有缩放 在max里查看模型缩放参数不为100,通常是由于模型在完成后没有进行重置变换(reset xform)。
解决方案 只要将模型缩放到合适大小,添加重置变换命令并塌陷即可。
(3)模型的父级有缩放 通常出现在非角色的模型上,模型作为子级被链接到其他物体(如虚拟体、bone骨骼或其他模型等)时,其父级发生过缩放。解决方案 检查整个链接关系的缩放。
2.四肢缩放动画异常 骨骼缩放动画,尤其是bip骨骼缩放动画,在max和unity中的计算方式不同,max中父级的缩放不会影响子级,但导入到unity中就会影响。所以一些在max里看起来正常的缩放动画,在unity中会拉扯的非常夸张。目前尚无有效的解决方案,只能是尽量缩放末端骨骼(小臂、小腿)而不去缩放首端(大臂、大腿、躯干)
另 如果确实需要做橡胶人一类的全身都需要拉伸的角色动画,可以考虑用位移拉伸代替缩放拉伸,实现方案有几种,但都十分复杂,暂不在此介绍。
3.缩放隐藏异常 是指用缩放手法来控制模型的出现和消失时,由于max和unity的帧率不同(max一般默认每秒30帧、unity默认每秒60帧),会出现一个介于出现和消失之间的错误中间帧,
解决方案 修改max帧率为60,这样就可修改掉错误中间帧,之后再将帧率改为30,改好的中间帧仍将被保留下来,此时导出即可解决问题
参考资料:http://bbs.gameres.com/forum.php?mod=viewthread&tid=481755
常见的缩放错误包括模型整体缩放异常、四肢缩放动画异常、缩放隐藏异常等。
1.模型整体缩放异常 有时在max中看起来尺寸正常的模型,导入到unity中会过大或过小,导致此类问题的原因通常有三种。
(1)unity参数异常 在fbx文件inspector面板model分类下的scale factor参数异常,
通常出现这种问题是因为max中的单位与unity中的单位不统一,在单位转化的过程中出现异常,解决方案也很简单参照其他显示正常的模型,scale factor的参数是多少,修正异常模型的参数即可。
(2)max中模型有缩放 在max里查看模型缩放参数不为100,通常是由于模型在完成后没有进行重置变换(reset xform)。
解决方案 只要将模型缩放到合适大小,添加重置变换命令并塌陷即可。
(3)模型的父级有缩放 通常出现在非角色的模型上,模型作为子级被链接到其他物体(如虚拟体、bone骨骼或其他模型等)时,其父级发生过缩放。解决方案 检查整个链接关系的缩放。
2.四肢缩放动画异常 骨骼缩放动画,尤其是bip骨骼缩放动画,在max和unity中的计算方式不同,max中父级的缩放不会影响子级,但导入到unity中就会影响。所以一些在max里看起来正常的缩放动画,在unity中会拉扯的非常夸张。目前尚无有效的解决方案,只能是尽量缩放末端骨骼(小臂、小腿)而不去缩放首端(大臂、大腿、躯干)
另 如果确实需要做橡胶人一类的全身都需要拉伸的角色动画,可以考虑用位移拉伸代替缩放拉伸,实现方案有几种,但都十分复杂,暂不在此介绍。
3.缩放隐藏异常 是指用缩放手法来控制模型的出现和消失时,由于max和unity的帧率不同(max一般默认每秒30帧、unity默认每秒60帧),会出现一个介于出现和消失之间的错误中间帧,
解决方案 修改max帧率为60,这样就可修改掉错误中间帧,之后再将帧率改为30,改好的中间帧仍将被保留下来,此时导出即可解决问题
参考资料:http://bbs.gameres.com/forum.php?mod=viewthread&tid=481755
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询