最近在啃Houdini程序化建模经典教程《湖边小屋》,B站上有很多该教程的搬运,强烈推荐UP主七里雪凝的拆解版本,不过对于老王这样的纯小白,除了实现思路方面的大障碍,一些功能和语法上问题也是不容忽视的劝退障碍,所以在学习过程中,我会把自己遇到一些知识点记录下来,本文介绍一下如何设置全局变量。
文章目录
什么是全局变量
- 什么是全局变量
- 声明方法
- 使用VOP声明全局变量
- 使用VEX声明全局变量(推荐)
和程序中的全局变量意义相同,有些数据在项目的很多地方都会被引用到,无论当它在任何地方被修改,我们希望对它的所有引用都能够同步更新。不过在Houdini中声明全局变量的设置对初次使用的人来说比较隐蔽,下文将介绍一下设置方法。
声明方法 使用VOP声明全局变量后记:下文更新了使用VEX声明全局变量的方法,简单太多了
这种变量都比较重要,我们需要在一个比较醒目的地方声明它,所以可以定义一个空Null节点,专门用于声明全局变量
此时Null上还没有任何自定义变量,接下来我们要定义一个名为seed的float类型变量
选择Null节点,打开它的Edit Parameter Interface
面板 在
By Type
标签下(从变量类型创建),找到Float
,右键点击Install Parameter
按照同样的方法,我们又定义了其它两个全局变量:Float
类型的prob
和Integer
类型的iterations
这样全局变量就设置完毕了,在Null节点以下的节点或者子网络中,我们就可以引用到这些变量了
在Transform
中引用全局变量
或者在其下方的AttribueWrangle节点中引用该变量
@P.y += @vertical;