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文件中,在不同的fbx文件中分别做设置。

官方参数说明:
Unity版本为:2020.3.14f1c1
https://docs.unity3d.com/cn/current/Manual/FBXImporter-Model.html

蓝闪的博客 http://www.cnblogs.com/stan-si/
原文地址:https://www.cnblogs.com/stan-si/p/15245998.html