针对在 3ds Max 中使用 OSL,有两个基本的工作流:一个适用于使用 OSL 类别中预先创建的贴图,另一个适用于使用 OSL 贴图本身。
OSL 贴图是未填充的空贴图,具有编辑功能。与其他贴图一样,只需将其拖放到“Slate 材质编辑器”中。但是,此贴图的有趣之处在于编辑参数。
您可以选择 . . . . 按钮以从磁盘加载插件文件夹层次中可能不存在的 OSL 明暗器,它们可能位于各个位置。OSL 贴图动态变形为新参数、根据需要繁殖附加输入和输出,并根据加载的 OSL 文件开始渲染。
在此工作流中,OSL 代码会实际加载到 OSL 贴图中。仅在加载时使用文件,从此,代码在 OSL 贴图内以字符串参数形式存在。
单击“编辑”以打开 OSL 源编辑器。它是一个简单、可停靠的语法着色文本编辑器,可以在其中实时编辑 OSL 代码。按下“编译明暗器”或使用快捷键 F7,将明暗器更新为最新代码,即使正在 ActiveShade 模式下进行渲染。
这会将 OSL 贴图转变为完整的明暗器开发环境。您能够以交互方式处理代码,因为可以同时打开多个编辑器。
可以使用“保存 OSL 文件”或快捷键 Ctrl+S 保存编辑后的文件。但是,由于代码位于 OSL 贴图内,因此也可以将其存储在场景中,或者拖放到材质库。与任何文件均不存在外部从属关系;它是完全独立的。跨世界发送到渲染场的场景将永远不会丢失明暗器 - 它们位于场景本身中。
如果在其中一个 Plugins/OSL 文件夹中保存 OSL 文件,明暗器将自动显示在“材质/贴图浏览器”中。
运行贴图浏览器中预加载明暗器的 OSL 贴图与“常规”部分中存在的 OSL 贴图完全相同。实际上,从 OSL 部分拖入对象的唯一不同之处是:OSL 贴图默认以链接模式打开,其文件预加载到相应 OSL 文件中。
链图标状态指示“链接”模式。
启用此模式时,将从磁盘、通过文件按钮指定的文件读取明暗器。
禁用此模式时,在 OSL 贴图本身内嵌入式存储明暗器代码。
最重要的是,可以切换。
如果要更改其中一个预加载明暗器的纵横比 - 完全可以实现!只需取消链接,并根据自己的意愿对其进行编辑。您只能编辑场景中存在的副本,而无法编辑磁盘上的原始文件。仍处于链接状态的所有其他明暗器将保留类似插件的行为。处于取消链接状态的明暗器将允许在 OSL 贴图内进行本地编辑。
如果尝试重新链接已修改的贴图,将还原为文件中的版本,且将放弃所做的编辑。
从而可以非常轻松地进行简单的一次性修改,甚至是简单的实验。可以尝试进行一些修改操作,如果将其破坏,只需重新链接,它便会返回到原来状态。