fbx的法线设置方式引起的显示不正确
人物模型包含眼球、耳朵等整体作为一个fbx文件导入Unity工程,fbx的设置项:
Blend Shape Normals为Calculate时,动态调整耳朵的blendshape参数,耳朵的显示的光照不对;Blend Shape Normals为Import时,耳朵显示正确;
Blend Shape Normals为Calculate时,眼球显示正确;Blend Shape Normals为Import时,动态调整眼球的blendshape参数,眼球显示的颜色不对;
眼球显示不正确(左)和正确(右)的效果:
耳朵显示不正确(左)和正确(右)的效果:
因为调整blendshape参数时,改变了模型的顶点位置,法线信息如果用导入的值就不匹配了,会显示不正确,此时需要动态计算法线。但耳朵动态计算不对,是因为耳朵的模型结构有很多凹凸褶皱,这些地方的法线角度计算时要做限制。
所以把Blend Shape Normals改为Calculate,并且设置Normals Mode为Area And Angle Weight,Smoothing Angle调整下,耳朵和眼睛就都能正常显示了。
如果发现调整法线模式和角度还不能让两者同时显示正确,那就只能把眼球和耳朵拆开,不要放在同一个fbx文件中,在不同的fbx文件中分别做设置。
官方参数说明:
Unity版本为:2020.3.14f1c1
https://docs.unity3d.com/cn/current/Manual/FBXImporter-Model.html
蓝闪的博客
http://www.cnblogs.com/stan-si/