目录

VEX Concepts & Refs

VEX 的相关概念、基础知识、语法等


Basics

Intro

VEX 是一种 类 C / C++ 的编译型语言,主要用于写 shader 和自定义节点。其主要的灵感来自于 C、C++ 和 RSL。详细的来说,在 Houdini 中,VEX 的主要用于以下几个方面:

Contexts

通过上面的介绍可知,VEX 实际上是为指定的 Contexts (也就是 SOP / DOP 等等)服务的。根据不同的使用场景(contexts),可供 VEX 调用的函数 / 全局变量 / 语句 等等也会有不同。

SideFX 提供了关于 Context 的参考:VEX contexts

Functions

导入外部自定义函数

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