脚本节点¶
仅限 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/