一种打包方式导致的模型效果异常记录

2022-01-19  本文已影响0人  taiyosen

今天遇到一个问题,某个模型在unity里效果正常的(如图1),但是打包之后效果异常(如图2)。异常的地方主要是流光效果,


图1
图2

首先经过一番检查和测试,排除了shader变体/材质球/预制体设置错误或者打包失败(美术修改效果后构建版本没有如预期般重新打包)等原因。

而当我将UI模型使用的mesh改成场景模型对应的mesh时(即使用了场景fbx里的模型),则显示正常。或者我把使用第2套uv改为使用第1套uv制作流光特效,也可以正常显示。于是原因更倾向于在模型身上。
如图3所示是我们的UI模型,包含所有部位,其中部分部位打包后显示异常。由于所有部位都在一个模型里,意味着美术会持续地往里面加新部位,所以这个模型文件处于持续修改状态。


图3

最后该问题还是解决了,原因在于美术忽略了我们制作模型的一个规则。注意到这个模型名字为model1.fbx,而我们的规则是名字中含有"@"符号的不单独打包。如图4所示,问题部位的.ab.manifest显示对model1.fbx有依赖。

图4
而解决此问题的方法便是重命名model1.fbxmodel1@xxx.fbx,打包后问题部位(现在已经是正常部位了)已经不在对新的model1@xxx.fbx产生依赖,而显示也一切正常。
图5

至于深层次原因,猜测是fbx文件一直在修改,导致打包后去获取mesh时可能产生了混乱,比如获取到的顶点错了之类的,进而导致显示异常。原理不甚了了,仅做记录备忘。

上一篇 下一篇

猜你喜欢

热点阅读