脚本节点

仅限 Cycles

脚本节点。

通过 脚本节点,您可以在 Cycles 渲染器中加载并使用以开放式着色语言 (OSL) 编写的自定义着色器。该节点是 OSL 着色器代码与 Blender 中基于节点的材质系统之间的桥梁。

每个脚本节点代表一个 OSL 着色器,其输入和输出由着色器脚本中的参数定义。这些着色器可以直接存储在 blend 文件中,也可以从外部引用。

该功能非常适合技术艺术家和着色器开发人员,因为他们需要对着色行为进行细粒度控制,而不仅是标准着色器节点所能提供的功能。

Note

只有在 Cycles 渲染设置中启用 开放式着色语言 后,脚本节点才可用。此功能需要使用 CPU 或 OptiX 后端进行渲染。

Tip

为了制作方便,我们建议利用节点组包装着色器脚本节点,并连接到其他的 blend 文件。这样一来,后续可以更容易更改(增加或删除)节点的接口,而不需要更新全部文件里面的代码节点。

属性

模式

如何链接到 OSL 着色器。

内置:

一个文本数据块将用于存储 OSL 着色器,而 OSO 字节码则存储在节点中。这对于分发包含所有内容的 blend 文件非常有用。

脚本节点更新

重新读取文本文件数据块,必要时创建新的输入和输出。

外部:

用于指定驱动器中的 .osl 文件,该文件将自动编译成同一目录下的 .oso 文件。也可以指定 .oso 文件的路径,然后直接使用该文件,编译工作由用户手动完成。第三个选项是指定模块名称,这将在着色器搜索路径中查找。

着色器的搜索地址可以在 OSL 脚本内所指定的地址下找到,如下:

Linux:

$HOME/.config/blender/4.5/shaders/

Windows:

C:\Users\$user\AppData\Roaming\Blender Foundation\Blender\4.5\shaders\

macOS:

/Users/$USER/Library/Application Support/Blender/4.5/shaders/