3DSMAX光能传递流程攻略(二)

  • 来源: 安徽新华   2016-04-29/14:23
  • 在上一小节中我们探讨了用3dsmax自带的光能传递渲染引擎来表现全局光照的初级算法,从本节开始我们将更深一步的研究一下模型网格的细分技术。

    首先,我们必须明确这样一个概念,那就是为什么需要对模型的网格表面进行细分,它对最终光能传递的效果有哪些影响?

    结论是这样的:在没有细分的情况下,场景中很多对象的表面面积都特别大,这样在计算求解的时候,它反弹的光的细节和表面的网格密度是有关系的。我们的网格数越小,那么反弹的光也就越细腻,最终的光能传递的效果就越好;这就好比一个渔夫在撒网捕鱼的时候,如果它的渔网网格间距越小,则说明网格的密度就越高,那么它捕获小鱼的概率就会更多一样。所以我们是一定要对网格进行细分的,细分之后我们的光就会出现特别细腻的效果,包括一些细腻的阴影都可以计算。

    当解决了要不要细分的问题之后,我们要更深层次的指出需要细分的对象是有讲究的,下列对象用户一般是不用对它进行细分的:

    A.有些对象它的基础表面网格已经很细密了,像这些对象基本上是不用细分的。我们主要是针对那些网格比较粗糙的模型来进行细分。

    B.还有像金属对象或清亮的玻璃一般也是不用细分的,因为它们一般完全是光线追踪的,像这样完全光线追踪的材质是不用进行网格细分的,因为它们自身效果的基础是整个环境,它们是反射环境的,它自身的效果并不重要,所以这些对象也是不用细分的。说到这里我想大家应该明白了一个道理,也就是说利用光能传递来进行渲染表现,一般对象的网格表面是一定要细分的,但是细分也并不是所有对象都需要,像上述A类和B类对象一般是不用细分的。接下来我们为大家介绍一下在3dsmax中细分对象网格的三种常用方法,请读者比较学习。

    方法一:全局细分法

    使用这种方法是最简单也是最粗糙的,它不分青红皂白对场景中的所有实体模型都进行统一的均匀细分,虽然操作速度最快,但细分的效率是最差的,因为它忽略了不同对象之间所存在的巨大差异。

    具体到我们上节所讲的案例,我们首先单击“光能传递处理参数”面板中的“全部重置”按钮,将上节我们光传的效果清除。然后再展开“光能传递网格参数”面板,勾选全局细分设置下的“启用”命令,取消“使用自适应细分”的命令,将“最大网格大小”值设为100,这样你场景中所有对象的表面它们的网格大小都是100个单位,如果你的系统单位是mm的话,那么基础网格大小就是100mm,全局网格细分参数如图15-1所示。

    1

     图15-1 全局细分参数

    然后将求解品质设到60%,单击“开始”按钮进行光能传递,观察效果。

    当求解品质达到60%时,系统计算自动停止,我们按下键盘上的F4键启用对象的边面显示,场景效果如图15-2所示,我们发现系统已经按照我们的要求完成了网格细分。

    2

    图15-2 网格细分完成

    对细分之后的场景进行渲染,效果如图15-3所示。

    3

       图15-3 初始渲染效果

    观察渲染后的效果,我们仍然发现场景中由于光能传递的原因,产生了大量的黑色斑块。在上一小节中我们已经介绍了一种利用设置灯光过滤参数来去斑的方法,这里不再引用,而是使用一种全新的去斑方法来解决。

    其实根本的去斑方法应该是通过设置迭代次数来实现的。迭代次数就是指在当前初始化质量的基础之上对当前的光能传递效果进行优化,它将重复计算初始化质量中没有涉及到的黑斑的网格,也就是说我们只需要对场景中有黑斑的对象进行迭代就可以了。由地篇幅的关系,我在这里仅以天花板为例做一个演示说明,其它类似的现象由读者自行解决。

    我们选择出现黑斑的天花板对象,然后在“优化迭代次数(选定对象)”一栏中输入值为20,然后单击“继续”按钮让场景继续的优化完善,迭代过程如图15-4所示。 

    4

     图15-4 迭代计算

    待迭代完成之后观察场景,发现天花板上的黑斑现象已经解决了,其它的类似处理我就不多说了,天花造型处理效果如图15-5所示。

    5

    图15-5 迭代去斑  

    方法二:局部细分法      上述介绍的方法由于没有考虑到场景中的每个对象的特殊实际情况,对网格模型细分上搞一刀切,既浪费了时间而且求解效率也很低下。如果采用局部细分法则可以达到速度与质量上的一定平衡,它仅对场景中的需要细分的对象增加细分值,而对不需要的对象不用细分,这样计算速度会大大提高,而且重点突出,便于修改。值得注意的是,如果你设置了局部细分,就不再需要设置全局细分了,二者不要同时设置。      我们以场景中的沙发模型为例,选择沙发对象,单击鼠标右键,在弹出的菜单中选择“对象属性”,接着在弹出的对象属性面板中切换到高级照明选项卡,取消“使用全用细分设置”后即允许用户自定义网格细分大小,我们将最大网格大小输入70,此时沙发全体对象的网格在光传中将被划分为70单位,至于场景中其它对象的细分值由读者自行考虑并设置。而且我们会发现在其下也可以设置“光能传递细分迭代次数”值,在这里设置与在F10渲染面板中的迭代效果是一样的,设置好了参数的效果如图15-6所示。

    6

    图15-6 属性可以去斑和迭代

    方法三:修改器法     上述的两种方法虽然都能完成网格细分,但在视觉上都不够直观,因此我们可以采用第三种修改器法,即直接为需要细分的对象增加“细分”修改器,在修改器中可以设置网格的大小并且设置是否在视图中显示,非常灵活,设置效果如图15-7所示。如果采用了这种方法,最好也要屏蔽掉全局细分,但可以配合局部细分。如果设置了局部细分就不要再加细分修改器了,以免重复计算网格。

    7

       图15-7 细分修改器

    到此,我们在3dsmax中完成网格细分的三种操作方法就介绍完成了,大家可以根据自身的需要灵活运用,最终我综合使用了第二种和第三种设置方法完成了场景的网格细分,场景观察效果如图15-8所示。

    8

    图15-8 综合完成细分

    最后,根据前面讲过的知识,将求解品质设为85%,配合我们学过的两种去黑斑方法进行细微调节,最终渲染效果如图15-9所示。

    9

       图15-9 细分光传效果


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多