VEX 的相关概念、基础知识、语法等
VEX 是一种 类 C / C++ 的编译型语言,主要用于写 shader 和自定义节点。其主要的灵感来自于 C、C++ 和 RSL。详细的来说,在 Houdini 中,VEX 的主要用于以下几个方面:
VEX Generator
和 VEX filter
可以自定义 COPS。
通过上面的介绍可知,VEX 实际上是为指定的 Contexts (也就是 SOP / DOP 等等)服务的。根据不同的使用场景(contexts),可供 VEX 调用的函数 / 全局变量 / 语句 等等也会有不同。
SideFX 提供了关于 Context 的参考:VEX contexts
Houdini 中,自定义 VEX 函数存储到外部的 .h
文件中,然后在需要使用的时候导入并调用就可以。该过程分两部:
首先需要指定 .h
文件的位置。 Houdini 有一个专门的环境变量:HOUDINI_VEX_PATH
来指定该地址,只需要在 houdini.env
中添加一行即可:
HOUDINI_VEX_PATH = ”your address of .h file“
接下来在 Wrangle 节点中,包含对应的头文件即可。写法与 C 一致:
#include "target.h"
Houdini 的 env 文件位置:
%HOME%/houdiniX.X/houdini.env. #Windows
~/Library/Preferences/houdini/X.X/houdini.env. #Mac
~/houdiniX.X/houdini.env. #Linux