本帖最后由 PolyPor 于 2024-1-26 18:16 编辑
前言 vse的自动法线在处理某些特殊的结构时,它不能按你的预期,为模型生成合适的法线。这个问题有两个常规的解决方案,换结构和手动法线。
(看这玩意鬼才知道哪个法线代表哪个方向。) (以船模为例,很多时候自动法线处理不了曲面,就会变成波浪结构)
然而Yvory则使用了先进的球状图来表示法线的具体方向。
根据 鬼蟬的手法计算器,如何正确选取法线值需要去计算一个面的法向量,再转换为 经纬度去对号入座。(实际就是立体几何) 然而通过我们一点数学知识可以知道,经纬度实际上是精确定位一个球上的点的位置,而Yvory采用球状图就是将这个点换算成为正确的法线值。 首先我们知道将大象装入冰箱一共三步,手动法线也一样: 那么首先是第一步,确定模型的朝向:
为了方便演示,我们选择一张方块作为实例 正方体一共含有六个面,方向分别为上下左右前后。Yvory里给它添加自动法线,打开法线朝向。 可见Yvory的处理是将正方体分为6个面,12条边,8个顶点来给予不同的法线值,类似于blender和3dmax的面。
自然在处理法线的时候,我们最好也将模型变为由几个面组成的多边形处理,方便我们为一系列像素点上法线,提高效率。在上法线后,最终结果的法线也会相对干净整洁许多。
紧接着再看一个自动法线案例
可以看到由红线勾出来的地方充斥着波浪形状的凹凸纹理,破坏了船体的结构,显得十分奇怪。船体的结构应该是平滑的曲面才对。
很显然自动法线处理时跟我们预想的情况出现了严重偏差。
那就需要将自动法线处理锯齿状结构变为我们预想的曲面结构
打开法线朝向
我们发现法线的朝向在锯齿状结构发生了突变,出现方向不一的情况,导致了凹凸结构
确定了具体问题,那么我们就要把上述模型修复为如下图所示。
那么第二步就是如何给模型上正确的法线了
上法线就得要先学会如何选择法线
首先我们需要确定你在Yvory上选择的球状图上的点,它到底朝向哪里,是不是正确的法线方向。
首先我们在左视图下用取号笔选取正朝着摄像机方向的(即模型的正左方向)法线,会发现红点落在了亮面处的正中心位置
那么是不是意味着正中心就是朝左呢
我们移回前视图
发现红点落在圆的右侧的边缘,同样选取正前方的法线方向。
可见红点又落回到了亮圆的中心
看见亮圆的正中心其实是一直朝向摄像机的位置,位置关系如下图所示
1、2对应的是亮面、暗面的正中心,3、4对应的是相应方向上的边缘
确定了方向后我们选取左偏上一定角度的法线重新给侧面涂法线。
其他结构也依法炮制。
最后成品的对比
最后鸣谢
@2244106363 提供的将军战列舰模型
@鬼蟬 提供的法线理论依据
Yvory的作者Trufales
|