OSL 工作流

针对在 3ds Max 中使用 OSL,有两个基本的工作流:一个适用于使用 OSL 类别中预先创建的贴图,另一个适用于使用 OSL 贴图本身。

使用 OSL 类别中的贴图

使用 OSL 类别中的贴图这一工作流非常简单。实际上,这与其他 3ds Max 贴图没有任何区别。
  1. 打开“Slate 材质编辑器”。
  2. 在“材质/贴图浏览器”中,展开 OSL 类别。
  3. 选择一个贴图,然后将其拖放到“Slate 材质编辑器”中。
  4. 根据需要编辑贴图参数。
  5. 在受支持的渲染器中渲染或使用 ActiveShade。
在 OSL 类别中找到的所有 OSL 贴图均来自 3ds Max 插件文件夹。其中包括大约 100 个 OSL 明暗器;但是,您也可以添加更多。
注: 在此工作流中,所有明暗器代码均托管在插件文件夹的文件中,通常它们的行为与任何其他插件类似。如果在相应文件夹中放置了更新的版本,渲染时将使用新版本。

使用 OSL 贴图

OSL 贴图是未填充的空贴图,具有编辑功能。与其他贴图一样,只需将其拖放到“Slate 材质编辑器”中。但是,此贴图的有趣之处在于编辑参数。

您可以选择 . . . . 按钮以从磁盘加载插件文件夹层次中可能不存在的 OSL 明暗器,它们可能位于各个位置。OSL 贴图动态变形为新参数、根据需要繁殖附加输入和输出,并根据加载的 OSL 文件开始渲染。

在此工作流中,OSL 代码会实际加载到 OSL 贴图中。仅在加载时使用文件,从此,代码在 OSL 贴图内以字符串参数形式存在。

单击“编辑”以打开 OSL 源编辑器。它是一个简单、可停靠的语法着色文本编辑器,可以在其中实时编辑 OSL 代码。按下“编译明暗器”或使用快捷键 F7,将明暗器更新为最新代码,即使正在 ActiveShade 模式下进行渲染。

这会将 OSL 贴图转变为完整的明暗器开发环境。您能够以交互方式处理代码,因为可以同时打开多个编辑器。

可以使用“保存 OSL 文件”或快捷键 Ctrl+S 保存编辑后的文件。但是,由于代码位于 OSL 贴图内,因此也可以将其存储在场景中,或者拖放到材质库。与任何文件均不存在外部从属关系;它是完全独立的。跨世界发送到渲染场的场景将永远不会丢失明暗器 - 它们位于场景本身中。

如果在其中一个 Plugins/OSL 文件夹中保存 OSL 文件,明暗器将自动显示在“材质/贴图浏览器”中。

提示: OSL 源编辑器会高亮显示匹配的括号以便于使用,而且可以通过按住 Ctrl 键并滚动鼠标滚轮来缩放字体大小。

OSL 类别贴图与 OSL 贴图相同

运行贴图浏览器中预加载明暗器的 OSL 贴图与“常规”部分中存在的 OSL 贴图完全相同。实际上,从 OSL 部分拖入对象的唯一不同之处是:OSL 贴图默认以链接模式打开,其文件预加载到相应 OSL 文件中。

链图标状态指示“链接”模式。

启用此模式时,将从磁盘、通过文件按钮指定的文件读取明暗器。

禁用此模式时,在 OSL 贴图本身内嵌入式存储明暗器代码。

最重要的是,可以切换。

如果要更改其中一个预加载明暗器的纵横比 - 完全可以实现!只需取消链接,并根据自己的意愿对其进行编辑。您只能编辑场景中存在的副本,而无法编辑磁盘上的原始文件。仍处于链接状态的所有其他明暗器将保留类似插件的行为。处于取消链接状态的明暗器将允许在 OSL 贴图内进行本地编辑。

如果尝试重新链接已修改的贴图,将还原为文件中的版本,且将放弃所做的编辑。

从而可以非常轻松地进行简单的一次性修改,甚至是简单的实验。可以尝试进行一些修改操作,如果将其破坏,只需重新链接,它便会返回到原来状态。