Hodini实现python编程已经有好几年了。相对于之前的HScript,python更具有可读性,更容易掌握,比HScript更加强大的脚本语言了,他能实现的功能是无限的。在这个实例教程中我将告诉大家如何在Houdini中快速的使用Python。假如你不是经常使用python,你也会在这里发现一些非常有用的代码片段来创建和修改Houdini对象。

在Houdini中有几种方式来使用python。一般都是用下面3中方式:

1. 打开python的终端(python shell), (Windows-> Python Shell, or Alt + Shift + P)

2. 使用python编辑器(Windows->Python Source Editor)

3. 使用Type Properties对话框中的任意Digital Asset。


Python源代码编辑器的交互性较差的访问是非常方便的。我们将用它来创建自定义对象。

打开源代码编辑器。到源代码编辑器中输入下面的文字


然 后点击应用(Apply),应该是没有语法错误的,你可以在3D视图中看到一个新的对象,一个新的geo节点在网络编辑器中。不要点击接受 (Accept),否则你将创建一个新的对象。接受(Accept)相当于应用(Apply)加关闭(Close)了,所以我们不需要这样,就直接点击关 闭(colse) ,为什么不点击接受摆在首位?因为它会立即关闭该对话框,你会不会很容易地知道在脚本中任何可能的错误或错别字。

上述情况表明,这样一个简单的方法是很容易出错 - 你每次申请/接受,产生一个新的对象。因此,我们可以定义一个函数对象生成代码,然后使用的时候调用它就可以了。打开你的python编辑器将下面代码输入进去:


正 如你可以看到的,唯一的区别是加入的第一行,缩进其余的代码 - 很重要的!只要你想,...没有对象将被创建。好了,怎么办,我们使用上面定义的函数的“makeflatbox”?同样,许多不同的选项,最简单的一 个,将成为通过使用Python终端(Windows->Python Shell)

打开终端输入下面代码:


你应该看到你创建的盒子了!

下面我们创建一个稍微复杂点例子,向您展示如何访问一些SOP参数,如何连接各个节点,以及如何设置合适的节点可见/渲染。代码创建了一个简单的红血细胞,并解释在造型部分,在“如何创建一个红细胞”


以下两段的代码,代码中为我们的当前视图中添加一个摄像头节点。这作为一个例子在我们使用中如何调用所有的工具:


同时,我们可以使用更加简单的方式来调用工具,例如我们在原点(0,0,0)添加一个摄像机,下面的代码就能轻松的使用

{codecitation class="brush:python"}hou.node('/obj').createNode('cam')

如果对于Houdini 快捷键有疑问的话,可以点击阅读Houdini 快捷键使用说明。