发新话题
打印

[分享] 如何在Maya中以单面线框模式做渲染

如何在Maya中以单面线框模式做渲染

本文介绍如何在maya中以单面线框模式渲染,这个方法适用于所有几何体,包括NURBS几何体。本文翻译自Jared Martin的教程。  这种方法不需用任何的插件或脚本,用wireframe 模式渲染物体,并且取消了背面网格的可视性。下图显示出了有无背面可视的区别,以及渲染的质量。到教程的最后你也会做出任何一种效果。: ^3 _, U4 W8 d4 }% R, s
  $ T, O; r, F% s1 ]  Z
  比较上面两张图,右图不带有背面的图片看起来简洁不混乱。大多数人更愿意以这样的方式展示他们的模型线框图。
! p3 w" I" }0 [4 v# ~& E; d5 @  不幸的是在 maya 中渲染线框图不像在其他三维软件3ds Max 那么简单。但这种方法并不是什么左道而且它花费的时间并不长。唯一的缺点是这种线框不能投射阴影并且你要分别为各个物体做相应的设置。
" `9 z( t& ^9 c( ~  下面我们将要使用 hardware renderer 渲染我们的场景。如果你希望以双面方式渲染,那么你要做的仅仅是打开 hardware render buffer, 设置成以 wireframe 模式渲染 (render>attributes) 。但是如果你希望以单面线框模式实现,那么继续看下去。
, t8 _/ {. A( M4 K, L  实际上我们将要做的是复制物体,使其中一个仅成为线框,另一个作为遮挡物体。遮挡物体的颜色将会 “ 内嵌 ” 到线框物体中作为背景色,渲染时遮挡线框体的背面。  J; ?' o8 X, h% |$ p+ ^
  以下是总体的思路:
1 a, R" V5 f2 B7 g' H    n* v5 F) B# K0 q
  一、制作遮挡物体4 G- D1 y6 n+ d# k" r- r
  1. 打开场景,或者创建一个简单的物体作为练习# T0 ~$ k: D. w; i
  2. 创建一个 Lambert 材质赋予给你的物体。
, H* B' r, U/ B! g) M1 O# s  3. 命名这个物体为 "Blocking Material" ,在线框渲染中你将会使用它作为任何遮挡物体的材质。$ _3 h8 ]# V6 K; x2 t( X& ^
  4. 根据你的需要改变材质的 color 。
# r) k. @* |8 H! i% U  L) K  5. 改变 incandescence ,使其于 color 相同,这样创建出一个纯的单色 shader,像这样:
" k, I) c* S3 K/ @! i5 d  
4 ]# Q) ^, \  R: Z, j  6. 现在重新命名你的物体为 "yourobjectname_Blocking" 。如果你不想重命名也可以,但当有两个以上的物体你想要制作线框渲染时恐怕就会出现混乱。5 Q9 V! l+ Q4 y# O- \, R
  现在遮挡物体就完成了。
' v4 [: i" P& A0 b% A/ m  二、制作线框物体) ~4 x3 K" R  {9 S# S' F
  1. 选择你的遮挡物体,复制。(使其在遮挡物体之上)。
) Q1 _$ M2 t) B! d  2. 重命名这个物体为 "yourobjectname_wire", 或者类似的名字。
* v# e( M+ U5 h+ @1 }  3. 选择线框物体,打开 attribute editor(Ctrl+a) 。
; V( o, ^1 S/ O, r  4. 切换到第一个 tab (名称就是你命名物体的名字)。7 X1 F" I& S5 j) j8 \) K
  5. 打开 Display 部分,打开 Drawing Overrides 子选项。
$ J- N+ a9 d5 r6 G: R8 o- U; O8 v  6. 勾选 Enable Overrides 项使我们能覆盖默认的物体显示设置。$ }' s. K6 E9 m
  7. 现在我们需要关闭 shading 项(这样物体只以线框模式显示),然后调节 color 滑块以选择线框的颜色。3 k/ |% n+ l! k2 t5 A, u# D1 G. h
  设置和状态如下图(除了你自定义的颜色):
# d- I; r5 W( a3 h" O0 S4 r; }# Q  ( Y9 E  H8 V) Q: }& j# r, |
  以上就是关于线框物体的全部设置。3 h: ?5 L% F4 h' u( s% s
  现在只剩下两件事要做,那就是轻微的缩小遮挡物体,和渲染。你需要轻微的缩小遮挡物体,因为它占用了相同的体积这会导致渲染的边缘有不正常的闪光。
赠人玫瑰,手有余香。

TOP

对于 sphere或 box 等其他的 primitive 物体,遮挡物仅仅使用 scale 到 0.98 就会有不错的效果。但是如果你尝试缩小例如角色或其他类似的复杂模型,那遮挡物体将不会在线框物体内部,因为 scale 作用于自身的参照点。所以在 scale 我们的模型前我们要维持它们的比例,先使用以下的小技巧。  三、缩放8 E8 g" k7 b/ r! v- n, W3 B  T
  1. 选择要缩小的遮挡物体。9 [: W  |+ W# Y7 G
  2. 切换到 Modelling 菜单组,选择 Sculpt Polygon Tool (如果是 NURBS, 使用 Edit NURBS>Scuplt Surface Tool )
/ @: p1 S  m) h/ O0 \5 ^  3. 在 Operation 中选择 Push.3 R4 ^8 v* h* T& z: I, I6 H
  4. 设定 Strength 为 1
; V! }1 E  a/ ?  5. 设定 Max Displacement 为 0.02 。我们仅仅希望以很小的比例缩小遮挡物体,使得渲染器知道哪个物体在外部。! E  s& T2 N2 e5 s5 B# m& x
  6. 确保 Opacity 为 1.0 ,然后 Flood !
9 n3 ]/ L+ l) I1 T, V1 A; S  这将 "Flood Push" 所有遮挡物体的面到线框物体的内部,现在渲染会以适当的方式进行。其实这并不是什么技巧,但我发现它很有效。你大可以使用 "Flood Pull" 方式作用于线框物体。. E& ^6 b9 F# L  B0 ^) e0 Q
  * 注意:这取决于你场景的大小,或是你模型细节的数量,你可能需要试验多种设值以便不破坏细节从而拥有好的效果 *0 M! h, f6 D* J3 l0 x6 r  P# o
  四、渲染8 f: g* {5 z0 x$ |  a
  现在你终于能够渲染你的线框杰作了,使用 Hardware Render Buffer,HRB 渲染很快,因为它使用你的显卡而不是软件的算法来计算。缺点是它没有丰富的设置,并且它的反锯齿也不是很好。1 f$ E- Z, _) l6 G$ O
  打开你的 HRB(Windows>Rendering Editor>Hardware Render Buffer) ,你可以选择以哪个摄像机视图进行渲染。通过 Render>Attributes 进行设置。这是我用来渲染静帧的设置:% S1 J+ L3 A9 O
  
. O1 @$ Y9 Q# e3 ~* y  这里我不讲解每一项参数,注意两个要点:
3 \% E3 u9 W1 T* o& p6 [  1. 记住将 Background 的颜色设置成与你的遮挡物体相同的颜色。$ \/ l2 Z: ^) S; K; r
  2. 打开 Multipass Rendering 进行多次渲染以产生发锯齿或是动态模糊效果。36 是最大的 passes 数并会达到最好的效果。这同样不会花费你太多时间因为它使用的是你的显卡。$ {9 Z" z" h' p
  如果你不是很理解HRB 的设置,建议查看一下帮助文件。如果你对反锯齿的效果不满意,可以以双倍的分辨率渲染视图,然后通过后期软件例如Photoshop缩小画幅。
赠人玫瑰,手有余香。

TOP

发新话题