Houdini | 程序化建模之路(一)
Houdini技术Thepoly 16028 0
实名

通过了实名认证的内容创造者

发布于 2022-3-23 20:37:17

您需要 登录 才可以下载或查看,没有账号?注册

x
             QQ截图20220323200234.png
5fd96ebb287692385d08d3a57e63a5fa.jpg

Hello . 大家好
本文为Houdini程序化建模的分享
我是王掌柜


一、Proceduralism 理解程序化

程序化是一种面向生产流程的抽象,简单说来就是将生产资源分为数据(date)和方法(method),以流水线的形式进行3D制作。


举个例子来说:有一堆钢铁,那么此时的钢铁就是生产资料、也可以看成待处理的原始数据、也可以看成是3Dmax里刚生成的New Box。那么这些钢铁进行第一步操作就是加热,加热即是方法,可以理解为max中添加展开UV命令,或是unreal中的一个Function,或是Houdini中的一个Node。加热之后生成三种新数据,烟雾、融化的钢铁以及热量。这时我们对融化的钢铁采取两种并行的方法:浇铸1和浇铸2,浇铸1方法下生成的是汽车引擎部件1和部件2两个新数据;而浇铸2方法下生成的是一把剑,这个分支也已经生产结束。引擎部件再经过组装方法生成最终的汽车引擎,该生产分支也终结。这一套流程,便是Input Data—Method—Output Result的具象化体现。

二、Some Structures
在Houdini中,我们要对不同类型的数据进行功能性处理(或是采用方法)来达到最终的需求。你可以用Houdini去建模、制作材质(Or程序纹理)或是粒子特效、甚至是一个游戏Demo(Or Prototype)。所以你要先确定你要制作的隶属于哪一种Structure。


举例来说,在Houdini中,建立一个几何体需要添加一个Geometry Node,可以是一个面,之后再进行挤出、细分、应用噪声等操作;做一些特效的话,你可以添加一个面,在其之上进行散步点、散射粒子、模拟等;可以给几何体一个MantraSurface着色器等等。该段文字中所涉及的Structure主要有以下三个:
  • sops: surface operators
  • dops: dynamic operators
  • shop: shader operators
并根据制作的3D资产类型在其对应的Structure下进行操作。


三、实际案例操作
打开Houdini(这里我用的是17.5版本)。习惯上,我会先进入用户界面设置进行一些小调整。之后我会用程序节点的形式,新建出一个方砖组成的圆形地面。


一个是题头颜色显示,还有一个是展示全节点名。


1,首先,在主界面的/Obj面板中右键呼出Node列表,键入“Geometry”(英语必得练练,所有节点都是英文命名,空格打开节点列表一个个找太慢了,键入单词快一些),Geometry节点显示。





2,在geo1选中的状态表下回车或是双击该节点进入二级层面,同样方法呼出Circle节点,就可以看到场景中出现一个圆片,之后再上方属性栏中修改一下面片朝向。


3,将图元类型转换为Polygon,显示点,并在属性栏中适当增加一下边数到20。




4,添加新节点divide,利用该节点可以对圆片进行划分和连接,在属性栏中,修改状态:取消Convex Polygons模式并激活Bricker Polygons模式,这样就可以将分割形式由这种对点连接转换为四方连接,并在属性栏中适当调节单位方块的size,从而改变密度。




5,添加Polyextrude节点。现在用这个节点我的主要目的是做出每个小方砖之间的间隙。这里需要注意调节inset可以控制插入每个方砖的面的大小,之后要把divide into切换为individual Elements模式(对每个单元起作用否则是全体),之后将Output Geometry and Groups中的output side取消,这样每个新插入的小方砖之间的边界面就会消失,如下图:




6,之后我们再加一个Polyextrude节点,这个节点主要控制的是单位方砖的拉伸高度,同时激活属性栏中的Output Back选项,这样这些小方砖就是相互分开的且封底的。



7,地砖的表面不会是这样平整的,由于时间流逝,地表坑洼不平以及各类侵蚀,地砖表面会有不规则的起伏。这种效果我们用mountain节点来实现。mountain实际上相当在polygon表面加了随机噪声,可以做到起伏的效果。这里我不想在第一级mountain节点中做过大的起伏,所以可以将整体高程height数值适当拉低,element的单元变化可以适当调节,这样,表面就有了不规则起伏感。


  


今天的示例先介绍到这里,下一节我们还会对这些石头进行细化,比如增加细分、增加表面凹凸等等的细节效果,以及一些VEX(Houdini内部编程)小知识。

相信读者实际操作的过程中就会发现,我可以在上一级或是上上一级等等其他的节点中调整参数来改变最终效果,这就意味着做完一个基本案例通过参数的调节就可以生成多种相似但不同的程序模型。


好了今天的Houdini分享就到这里,下期再见~

- End -


喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。公众号是我们最为官方的窗口,更多内容都必须关注公众号后才能获取。另外现以开通微博:手机版http://weibo.cn/thepoly网页版http://weibo.com/thepoly

         

本帖被以下画板推荐:

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表