Skip to main content

Houdini isn't scary 系列笔记

这是Houdini的入门系列教程“Houdini isn't scary”的笔记。

原教程来自Youtube

b站上的翻译视频

1 面板

Scence view快捷键

  • 左键旋转
  • 右键拉近拉远
  • 中键平移
  • G - 回到物体的中心
  • H - 回到平面中心
  • Space - 按住暂时回到视图(View Mode)(可以旋转视角之类的)
  • Esc 回到View Model
  • 1 透视视图 2 俯视图 3正视图 4右视图 5 uv视图(注:可以和空格键合用)

image

节点网络

  • L 规整节点排布(Layout?)
  • p 弹出参数面板
  • c 更改颜色
  • 节点上长按中间展示节点信息 image

2 甜甜圈

甜甜圈主体

首先创建一个torous control+左键 image

重命名节点为donut 进入该节点

然后新建color节点 image

增加山噪声

image

甜甜圈主体就制作完了

还需增加个null节点,这个节点啥也不做。只是为了外界引用方便。 我们可以将其命名为donut_out

image

酥皮

回到最外层,创建geo节点,命名为icing image

然后进入该节点

创建一个object merge节点,从而引用我们的甜甜圈主体 image

创建group节点并命名group name(注意不是节点名) image

Group type改为Points, 然后点击Base group开始选择 image

按住空格按3到正面视角,然后框选点,最后Enter

然后新建delete节点,删掉没选的部分

image

增加icing部分,需要polyextrude来增加一定的厚度。 默认不会画出背面,所以要勾选下

image 还可以单独为正面和反面命名组 image

最后加一个color

image

然后同理,输出到null上,重命名为icing_out

image

酥皮就做好了

糖针

同理,新建一个springkles的geo节点,然后进入,然后用obj_merge引入之前的icing image

删除除了正面以外的所有组 image

撒点,并且可以点击display points来高亮这些点 image

调小点的数量(Force totoal count)并增加随机性(缩小Relax Iterations) image

接下来,我们希望把这些点的地方替换为糖针。于是就先制作tube, 稍微缩小一下,然后使用copy to points。 这个节点顾名思义,就是把一些geometry copy到点所在的位置上。

image

接下来是重点

我们希望有一种统一的调整参数的方法,而houdini中有一个概念叫做attribute。其实就是图元的大小、颜色等等属性。我们可以随意地创建和修改属性。我们首先创建属性来统一地缩放糖针。

使用节点attribute create。

我们修改名称为pscale,然后Class为Point, Value则按缩放到0.1

image

其中pscale是一个houdini能够识别的内置变量,它的含义就是几何体的大小缩放。

同理,我们可以让颜色随机化,也使用一个attribute。这次我们使用attribute randomize节点。

我们随机化Cd这个属性。这个属性代表的是Color diffuse,也就是最基础的漫反射颜色。 image

接着,我们发现糖针的朝向都是竖直向上的,这显然不对劲。我们希望糖针和酥皮的法向垂直,也就是躺在酥皮之上。

于是我们在scatter节点之前增加normal节点。

为什么要在这里加呢?因为点是没有法向的,只有面才有法向,因此要回到撒点之前加法向。 image

实际上,这个加法向的操作就是增加了一个normal属性。

怎么查看当前图元有什么属性呢? 一种方法是点击节点的info。比如点击scatter节点的info.

image

info中显示了当前有三个属性,Cd,P 和N。分别代表颜色、位置和法向

还有一种方法是利用Geometer Spreadsheet

你会发现每个图元的数值都清晰可见

image

最后也是新建一个null节点,命名为sprinkles_out

回到obj根目录,大功告成

image

动力学:空中撒点

现在让我们学习如何从空中撒糖针,然后粘到酥皮上。

首先建立一个geo节点,重命名为dynamic_sprinkles

进入节点后,增加一个平面grid,并将其放置在空中

然后增加transform,向左上方平移。这个平面相当于是生成撒点的源。 image

接着是k帧。(注意:我当时点了好几次都不行,可能是houdini的bug,重启houdini就好了)

在translate的数值上点击alt+鼠标左键

会高亮为绿色

image

这就是设置了一个key帧,下面也会同步显示出来一个绿色的钥匙标志

拖动时间轴到230帧。这时候会变蓝色。

image

然后把平移数值改成另一个位置。这时候会变黄色。在此点击alt+鼠标左键,就在230帧又key了一帧。又变为绿色。

key帧

这下动画就做好了。

接着是如何撒糖针.

首先创建一个POP network节点。POP代表Particle Operator (注意不要和DOP弄混了,POP可以看做是DOP的一种配置好了的“套餐”。所以它的类型还是DOP NetWork)

image

双击进入这个节点

image