Softimage 3D顶点着色教程

2016-04-01 00:58 43 1 收藏

图老师电脑网络栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享Softimage 3D顶点着色教程的教程,热爱iphone的朋友们快点看过来吧!

【 tulaoshi.com - 软件应用 】

Softimage 3D顶点着色教程

  顶点着色允许烘焙复杂的纹理和渲染树信息为顶点颜色属性。与Render Map相似,但顶点着色是将表面的信息烘焙为顶点颜色(Color At Vertice,简称CAV) 的属性。因此,结果的质量大部分取决于多边形的密度。

  顶点着色在游戏开发方面很有用,因为它允许你将基本的纹理信息和光照信息直接烘焙进场景物体。这样就可以删掉一些灯来减少计算量和整体场景的大小。

  这种方法不倚赖于图片或者最终聚集,在某些方面优胜于传统的方法,但也存在一些局限性,就是设置繁琐。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

  在这里,我们使用一个简单的场景。这个场景只有一个大盒子(Box),盒子内是一辆没轮子的小车(小车多边形的密度比较大,墙脚多边形的密度相对小,大家可以注意两者的效果)。盒子的内壁已被指定了顶点颜色(名为lanlan_wall),但没有灯光和材质。我们将在盒子内顶部放置一个大的Light_Box。

  首先,要为场景准确设置传统的光。每一个光源必须有一个反向的方形衰减,因此必须将它们的阴影本影设置为黑色,这就意味着场景物体的表面所反射的光要比它们接收的少。如果使用Phong,要确信Specular不会太亮,Ambient被设置为黑色。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

  然后,我们就使用Render Map(烘焙成CAV)把渲染树的信息烘焙成一个顶点颜色属性(CAVs)。

  CAV表示原始光的第1次光反弹(bounce),并用于后来的渲染。此外,它还将用于在下一步骤中加速计算下一次光反弹。当这个光反弹不再重复影响原始光(直接光照),就使用另一个CAV表示原始光的第2次光反弹(bounce),然后添加到第1次反弹(以及添加到原始光)来增加场景的真实性。

  创建灯光和材质

Softimage 3D顶点着色教程   图老师

  1.因为场景没有灯光和材质,所以要先创建这些要素。

  在Explorer中删除默认的灯光。然后从Render工具栏中选取Get Light Light Box命令,创建一个Light Box,将它放置到盒子的内顶部上,设置它的大小为顶部的1/4左右。并且在打开的属性编辑器中设置相关的属性。如右图所示。

www.3lian.com

  2.为物体指定一个phong材质。按7键打开Box物体的Render Tree,获取一个Map Lookups Vertex RGBA节点,并将它连接到Phong材质的diffuse节点。双击Vertex RGBA节点打开它的属性编辑器,将Vertex Property设置为lanlan_wall(内壁的颜色属性),如右图所示。

  3. 双击Phong节点,打开Phong属性编辑器,将Diffuse Ambient的RGB设置为黑色;将Specular Color的RGB都设置为0.05;将Specular Decay设置为23。如右图所示。

  创建lightmap

  如果没有使用大的区域光(Area Light),第4和5步骤可以省略。但在这个场景中,我们使用了一个大的区域光,因为它能加速第一个光反弹(bounce)的计算。这样就可以从区域光烘焙直接光照(dirct illumination)为一个新的CAV。

www.3lian.com

  4.为Box物体创建一个RenderMap属性(选择Box物体,然后选取Render Get Property Render Map命令)。如左图所示。

  5.在打开的RenderMap属性编辑器中,将Basic页面中的Sampling设置为vertices only(RenderVertex);在Resulting CAV区域中单击New按钮,创建一个新的Color At Vertices(简称CAV),然后单击Edit按钮重命名为lanlan_light;勾选Disable区域中的Refraction和Reflection项以及Sampling区域中的Average colors around vertices项。

  锁定RenderMap属性编辑器,使它处于活动状态,以便于下次使用。如右图所示。

  6.单击Regenerate Map按钮重建Render Map(这样就将渲染树的信息烘焙成lanlan_light)。

  在Material属性编辑器中预览,它看起来与步骤3的渲染图像一样。如左图所示。

  创建第1次光反弹(bounce)

  7.在Render Map属性编辑器,创建一个新的CAV,并且命名为lanlan_bounce1;取消勾选Disable区域中的Reflections项。如右图所示。

  8.在Render Tree视图中,从Nodes菜单获取Reflection_diffuse和Ray_type节点,将前者连接到后者的eye上,将Vertex RGBA节点连接到Ray type的reflection上,然后再将Ray type节点连接到Material的Surface上。

  在Vertex_rgba属性编辑器中,将Vertex Property设置为lanlan_light。在Reflection_diffuse属性编辑器中,将Reflection的RGB都设置为1,设置Gloss为1,设置Samples为12。如右图所示。

  注意:

  通常,光泽反射会分配到被反射的eye light的采样点上,渲染它们而不用于GI计算。当使用Render Map,被反射的eye light就会指向表面法线的同一个方向,这是GI采样点的来源地。

  Render Map会将光泽反射物体作为反射物体,因此通过Ray_type节点将一个标准的表面shader附加到reflections,将光泽反射shader附加到eye上。

  9.在RenderMap属性编辑器中,单击Regenerate Map按钮重建lanlan_bounce1。如右图所示。

  注意:

  RM/reflection diffuse shader有个bug,就是当多边形面与坐标平面正对齐的时候,会显示为黑色。所以在这里我们要稍微旋转一下Box物体(0.1,0.1,0.1),使多边形不再平行于正交平面(XY,YZ,XZ)。

  创建第2次bounce

  创建好第1次 bounce后,接着为直接光创建第2次bounce。这是来自第1次bounce的光。直接光照(lanlan_light)不被列入计算范围,因为它已经被反弹过了。在最终渲染中就不用重复渲染它了。

  10.在RenderMap属性编辑器,创建一个新的CAV,并且命名为lanlan_bounce2。

  11.在Render Tree视图中,从Nodes菜单中获取两个Vertex_RGBA节点(Map Lookup节点),分别命名为wallcolors和bounce。连接节点后,在wallcolors节点的属性编辑器中,将Vertex Property设置为lanlan_wall;在bounce的属性编辑器中,将Vertex Property设置为lanlan_bounce1;在Mix_2colors节点的属性编辑器中,将Weight color的RGB都设置为1,并且设置Mode为Hide/Reveal(Multiply)。如右图所示。

  12.重建lanlan_bounce2。在Material属性编辑器中预览,它看起来有点黑。如右图所示。

  创建更多的光反弹(bounce)

  要产生一个真实的效果,最好创建一个总数大约为6-8次的bounce。在这里,因为bounce能很快地变黑,所以4个就足够了。否则,材质容易会出错。

  13.打开Render Map属性编辑器,创建一个新的CAV,并且命名为lanlan_bounce3。

  14.将渲染树的wallcolors节点的Vertex Property设置为上次产生的bounce (也就是lanlan_bounce2),然后重建lanlan_bounce3,它看起来会更黑。如左图所示。

  15.重复13和14步骤,创建lanlan_bounce4,并重建它。如右图所示。

  创建总光照的CAV

  16.在Render Map属性编辑器中,创建一个新的CAV,并且命名为lanlan_total。

  17.在Render Tree视图中,从Nodes菜单中获取4个Vertex RGBA节点(Map Lookup节点)和一个Mix_8colors节点。将这4个节点(在此重命名为bounce1、bounce2)分别连接到Mix_8colors节点的color1、color2,然后在它们各自的属性编辑器中,将Vertex Property分别设置为lanlan_bounce1、lanlan_bounce2,以此类推 。如左图所示。

  18.在Mix节点的属性编辑器中,将Base Color的RGB都设置为0。将Layer1、Layer2、Layer3和Layer4设置为In Use,将这4层的Weight RGB都设置为1,将Mode设置为Add。如右图所示。

  19.重建total,在Material属性面板中预览,效果如下图所示。如左图所示。

  最终渲染

  20.在Render Tree视图中,从Nodes菜单中获取两个Vertex RGBA节点(Map Lookup节点),分别将它们命名为lanlan_color和bouncetotal。在lanlan_color的属性编辑器中,将Vertex Property设置为lanlan_wall;在bouncetotal的属性编辑器中,将Vertex Property设置为total;在Mix_2colors属性编辑器中,将Mode设置为Hide/Reveal(Mutiply),设置Weight的RGB都为1;在Mix_2colors1属性编辑器中,将Mode设置为add,设置weight的RGB都为1;Phong节点的设置与步骤一相同。如右图所示。

  21.最终的渲染效果如下图所示。大家可以看到,小车的效果比盒子的效果要好,那是因为小车的多边形密度比盒子的大。如左右图所示。

来源:https://www.tulaoshi.com/n/20160401/2073972.html

延伸阅读
1 将黑色软陶揉成鸡蛋形做身体 2 将深肉色软陶揉成椭圆,适当调整形状做头部,粘在身体一端 3 揉两个深肉色椭圆粘在头顶做眼球 4 用工具将眼球切开,镶入白色桔瓣形软陶,再在白色上面粘上黑色圆片,眼睛即...
【PS文字特效】PS制作3D塑料文字教程 效果图 第1步创建一个新的1024×768像素的文件,或者任何你需要的大小取决于你将创建的文本。然后,设置前景色为#4a4f65和背景颜色为#161a28,径向渐变填充背景(从中心到边角之一)。 打开更多垃圾VI的纹理然后去图像调整色阶,更改阴影值70和伽玛值至0.70。 去图像调整...
FW制作立体质感3D球体,很久没来图老师论坛发表教程了 唉! 鄙视吧.... 效果图: 教程很简单 看图设置↓ 拉1个圆圈巨型 属性渐变填充--波纹渐变 黄色至暗黄色 然后把羽化设置为1,这样看起来没有锯齿!其他不设置。 然后复制1个圆圈 属性设置 颜色实心填充 红色 其他不设置 点击第二个指针工具 点击圆形描点路径进行移动变形。 ...
标签: PS PS基础
效果预览 看到效果先别忙跟着教程做 首先我们自己脑海里要好好想想 如果是你,这个效果该怎么去做。 看完这个教程,希望你能学习到这些思路 第一步:找文字素描素材或自己绘制 线稿是这个效果的主体部分,那去哪里找呢? 作者使用的素材来自他的朋友Sempai-tem 当然,你完全可以自己画,如果自己画画好的话。 找到线稿之后,把线...
标签: CorelDRAW
效果图 第一步,首先画一个圆,这个不图老师用说,呵呵 再画一个小圆,这个是准备做立体感的, 将两个圆复制出来,开始调色,先调小圆的颜色,按F11调节,自己看,颜色的比对,还有位置,渐变的类型,中心点的位置 调色比较麻烦,自己看调的色,也可以按自己的需要填色 然后调大圆的颜色,自己看,不多说 ...

经验教程

529

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部