clq
浏览(503) -
2020-02-01 21:41:23 发表
编辑
关键字: u3d
另外一个法线平滑的算法,供参考
https://zhuanlan.zhihu.com/p/41564307
"
那么现在需求就出来了:我们需要让每两个相对位置相同的顶点的法线相同,并且这个法线的方向是这两个顶点法线方向的平均值。
恭喜,你们被我带沟里了。计算法线平均值没有这么麻烦,让相同坐标的顶点上的法线相加取模不就是了?压根不用考虑什么轴和角度问题。
好吧,其实我不是有意要皮这么一下的,只是想顺带说个趣事:
前一段时间写别的程序时查到一个把四元数分解成轴和角度的API后,总想着哪里有机会试着用一下。当后面遇到这个计算法线的问题时,不假思索的就用上面这个方法去写了。颇有一种拿着锤子看什么都像钉子的感觉,结果就是代码写的超级复杂还算不对。当后面一个围观的小伙伴提醒了我一句后,顿时心中感觉如万马奔腾...
回到项目上来。这段法线计算的代码就不放上来了,大致就是根据顶点在数组中的下标去判断位置是否相同,然后把该顶点的法线相加即可。大家自己构建Mesh时的顶点顺序可能会不太一样。
最后效果如下:
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.