Proboolean + Dynamesh 硬表面建模教程

发表于2017-04-11
评论0 4.7k浏览

  本篇文章是给大家翻译的一篇在Polycount上发布的关于硬表面建模的教程,目的是让大家可以知道硬表面建模的方法,帮助自己以后做的项目,感兴趣的可以看一看。

  这篇教程介绍了创建硬表面游戏资产,尽可能自动化生成高模和低模这两个阶段。运用各种技术和工具让Artist能把更多时间花在造型和设计上,尽量少花时间处理烦人的细分和优化表面。这套方法我已经实用了几周时间,并且也收到了足够多的问题和反馈,我想是时候分享给大家了。

  先介绍一下作者Benjamin S. Bolton,出生在美国圣马特奥市,硬表面建模专家



下面是他的个人网站和ArtStation

http://www.benbolton.com/

https://www.artstation.com/artist/benbolton

  特别感谢Robert Deleanu, Ethan Hiley, Pedro Amorim, and Hans Palm 提供建议和帮助,才能完成这个教程。

I. 在3Ds Max中用Proboolean创建基础模型.

  Any mesh in 3ds Max can be converted to a Proboolean object. While the mesh is selected, click the button in the Create > Geometry > Compound Objects panel:

  任何mesh在3Ds Max中都可以被转换成Proboolean物体。选中模型,找到Create > Geometry > Compound Objects 面板,选择Proboolean按钮。



  我建议给这个功能设置一个快捷键,这样你就不用再点选这么多面板了。
  Proboolean 是一堆物体的合集。它包含了一列物体,我们在后面运用布尔操作的时候,这些子物体都会变成“操作对象“。

  这是Proboolean的界面:




  在Proboolean里的每一个子物体都是可以活动的,可编辑的。换言之这些物体都是非破坏性的。你可以改变这些子物体的顺序,布尔类型,删除他们或者重新插入,甚至对其中的子物体再编辑等等。用Proboolean来做布尔运算,通常只有很少的子物体需要少量修改编辑。下面是一个相对复杂的例子,使用了多个子物体来运算:




  有一点需要注意的 - 把你的曲面细分保持在上图这样的等级。当你使用圆柱体,请设置成高段数,一般我最少用36段,非常大的圆柱体我会用到108或者140段,这样设置会在后面进ZBrush得到更好的效果。
  后面我们在做低模的时候,可以把这些子物体的段数调低,这可以很简单的做到因为这些子物体都是可编辑状态的。


II. 把Proboolean 物体导入Zbrush 并 Dynamesh.
  一旦我们的模型用Proboolean做好后,就可以导入到ZBrush进行自动化高模了。(自动化!)第一步很快的准备工作,用Proboolean生成的模型会有很多凹陷的结构是4边以上的面,这会在导出到ZB时产生错误,所以这时要把这些多边形三角化。修改5边面有几种方法,但我建议用Turn to Poly 修改器,设置多边形数量为4,并开启保持多边形为凸物体。



  一旦这个修改好了之后,导出obj到ZBrush。在lightbox中选择默认的dynamesh项目文件。



  选择Tool>import 然后选择obj导入。


  点击Geometry菜单,打开Dynamesh子菜单,选择一个精度值 - 这里设置的精度要看你模型的大小,一般你多试几次就能找到合适的精度,我这里用了256.
  注意 - 另外有几个朋友给我推荐了一个叫Dynamesh Master的插件,能更好的控制模型精度,你也可以试试。




  要应用Dynamesh,你只要按住CTRL的同时,在屏幕空白处划一下。如果你不知道怎么做,是的,ZBrush的UI设计的确实很奇葩。。。

  运算结束后,你的模型已经有了新的细分。现在去Defomation菜单下,看到有一些polish的选项。



  polish选项在右上角有个小按钮,实心状态下会让polish更光滑,空心状态则会更锐利:



  按住鼠标拖动划杆来应用polish的效果,拖的越大效果越强,你可以多次应用这个效果,相信多试几次你就会找到合适的效果。



  这就是高模的制作了!现在只需要再用decimate减面,就可以导回到3ds Max中了。
  当然你也可以用其他减面工具,比如我这里用Max中的ProOptimizer来减面:




III. 减少布尔子物体段数来生成低模.
  >>注意:可以看到我换了个物体来讲解,只是因为我正好有这些图(就是懒)。这个方法适用于用这个流程做的任何模型。

  创建低模,我们先把之前的带Proboolean的模型复制一份放到新的一层里。



  检查每一个子物体,降低他们的精度。这就是用这个方法的好处,完全自由的,无损的流程。对于圆柱体,减少段数。对于次级细节,分离并完全删掉他们。



  这步主要的问题是会出现一些悬浮的点,多于4边的面和凹陷多边形。我通常会用Vol. Select修改器拖点,Vertex Weld修改器缝合点,并用Turn to Poly把多于4边的多边形变成凸物体。


  你也可以用下面的脚本来完成上面的操作。

macroScript QuickLowpolyStackcategory:"Bolton Tools"toolTip:"Quick Lowpoly Stack"(if (selection.count > 0) then(modPanel.addModToSelection (Vol__Select ()) ui:on$.modifiers[#Vol__Select].level = 1modPanel.addModToSelection (Vertex_Weld ()) ui:on$.modifiers[#Vertex_Weld].threshold = 0.05 modPanel.addModToSelection (Turn_to_Poly ()) ui:on$.modifiers[#Turn_to_Poly].selectionConversion = 1$.modifiers[#Turn_to_Poly].limitPolySize = on$.modifiers[#Turn_to_Poly].keepConvex = onmodPanel.addModToSelection (Edit_Poly ()) ui:on))

  这个过程中还会存在一些例如三角面太长,太细或位置很奇怪这样的问题。我通常会再加一个EditPoly修改器在堆栈顶上,手动的调整一些布线。如果有什么修改需要改动到之前的修改器,那么这一步是唯一需要重新做的。好在这步只是加了一个修改器,下面所有的堆栈都时在Proboolean基础上加的一些自动化的修改器。

  我希望这个流程对有些人会有用。如果你有任何改进意见也请和大家分享。下面是一些用这个流程做出来的资产:




如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引