Go Procedural:Houdini简介

概观

Houdini是一个先进的程序建模,动画,特效,模拟,渲染和合成软件包。

Houdini的威力基于程序化的工作流程。通过创建连接在一起的节点网络来描述完成任务的步骤。例如,创建一个盒子的节点可能会连接到一个挤出盒子的边的节点,然后连接到一个细分多边形的节点,再连接到编辑点位置的节点。这为你提供了极大的威力:

  • 你可以返回网络中的前一个节点,更改选择,更改设置或更换资产。这些更改会自动通过网络传递以更改最终结果。你永远不必通过撤销或重新开始工作来改变你之前做出的决定。

  • 它鼓励快速成型。你不必为了探索想法而放弃工作,只需重用网络的某些部分或重新配置网络即可将其重构为产品级质量。

  • 由于Houdini基于程序生成事物,因此它具有许多用于管理非常大型和复杂场景的工具,支持生成或加载模型并在渲染时添加细节,而不是将所有内容都保存在内存中。

  • 你可以打包网络,并使用自定义界面将它们变成新工具,而无需编写任何代码。在Houdini中,这些工具被称为数字资产。

节点和网络

Houdini允许你使用货架工具在3D视图中工作,而不必担心节点和网络。但是,了解网络对于充分利用Houdini至关重要。

network_editor

Houdini的网络就像一台计算机的文件系统,网络就像文件夹,节点就像文件一样。节点可以是一个包含其他节点的子网络。

根网络包含一些预制的网络,例如/geo(“Scene”网络)和/out(渲染节点所在的位置)。网络有一个“类型”(如geometry network“ 或 “dynamics network”),用于控制可以放入网络的节点类型。

场景层级(/geo)包含诸如角色,道具和灯光之类的对象。几何对象是包含定义对象几何的几何节点的子网络。这种两级设计与Maya和3DS Max等其他软件包不同,它们的所有节点都位于同一层级。

场景层级还可以包含不表示场景中的对象的节点,它们纯粹是子网络。例如,当你设置仿真模拟时,定义仿真的节点位于场景层级的Dynamics子网内。

Houdini的用户界面分为不同类型的窗格,如3D查看器,网络编辑器和参数编辑器。每个窗格可以专注于不同的网络,但默认情况下,它们都设置为遵循相同的网络。

每个节点都有一个设置属性的界面,称为参数面板,你可以在参数编辑器窗格中编辑这些参数以更改节点的功能。

parms

节点有输入和输出。通过将一个节点的输出连接到另一个节点的输入,可以在节点之间创建关系。

在不同的网络类型中,连线可以有不同的含义。一般情况下表示由一个节点创建或处理的数据传递到下一个节点。但是在场景层级,连接对象节点将会建立父子关系。

几何和属性

Houdini支持不同类型的几何图形,如Polygons(多边形),NURBS(非均匀有理B样条曲线)和Bézier(贝塞尔曲面),Geometric Primitives(几何基元)如circles(圆环)和Sphere(球形),以及Metaball(元球)。Houdini将任何这些类型的y一块几何形状都称为Primitive(基元)。例如,多边形面是基元,多边形曲线是基元,元球是基元。

这是一种不太理想的术语,因为一些“基元”具有可编辑的组件。例如,多边形面有点和顶点。

组成场景的大部分信息都存储在Attributes(属性)————一种存储在模型,基元,点和顶点中的隐藏数据。例如,Houdini在空间中显示的点的位置由其P(Position)属性定义。

你始终可以通过使用Geometry Spreadsheet(右键点击节点,选择Spreadsheet…)在Houdini中查看几何图形上的实际属性值。

geometry_spreadsheet

你还可以使用visualizers来可视化属性。