3ds Max には OSL を使用するための基本的なワークフローが 2 つあります。1 つは、OSL カテゴリ内の事前作成されたマップを使用する方法で、もう 1 つは、OSL マップ自体を使用する方法です。
OSL マップは、編集機能を備えた、空の、データが入力されていないマップです。他のマップと同様に、必要なのは、[スレート マテリアル エディタ](Slate Material Editor)にドロップすることだけです。ただし、このマップで興味深いのは、パラメータの編集機能です。
. . . . ボタンを選択して、ディスクから OSL シェーダにロードします。OSL マップはプラグイン フォルダ階層内にあるとは限りません。任意の場所に存在する可能性があります。OSL マップは新しいパラメータに動的にモーフし、必要に応じて追加の入力および出力をスポーンして、ロードされた OSL ファイルに基づいてレンダリングを開始します。
このワークフローでは、OSL コードが OSL マップに実際にロードされます。ファイルが使用されるのは、ロードするときのみです。これ以降、コードは OSL マップ内に文字列パラメータとして存続します。
[編集](Edit)をクリックして、OSL ソース エディタを開きます。これは、OSL コードをライブで編集できる、シンプルで、ドッキング可能な、構文が色で示されたテキスト エディタです。[コンパイル シェーダ](Compile Shader)をクリックするか、またはショートカット[F7]キーを使用して、シェーダを最新コードの内容に合わせて更新します。この操作は、ActiveShade のレンダリング中も実行できます。
これにより、OSL マップは完全なシェーダ開発環境になります。複数のエディタを一度に開くことができるため、コードとインタラクティブに連携することができます。
編集したファイルを保存するには、[OSL ファイルを保存](Save OSL File)またはショートカットの[Ctrl]+[S]キーを使用します。ただし、ただし、コードは OSL マップ内にあるため、これらをシーン内に保存したり、マテリアル ライブラリにドロップしたりすることもできます。ファイルに対する外部従属関係は存在しません。完全に自己完結しています。世界中のレンダー ファームに送られたシーンからシェーダが失われることはありません。シェーダはシーン自体に含まれています。
OSL ファイルをいずれかのプラグイン/OSL フォルダに保存した場合、シェーダはマテリアル/マップ ブラウザに自動的に表示されます。
マップ ブラウザに事前にロードされたシェーダを実行する OSL マップ、および[一般](General)セクション内の OSL マップは 1 つの同一マップです。実際、OSL セクションから何かにドラッグする場合の違いは、1 つのみです。OSL マップは既定でリンク モードになっていて、ファイルは適切な OSL ファイルに事前にロードされます。
チェーン アイコンの状態は、「リンク」モードを示します。
このモードがオンの場合、シェーダはディスク内の、ファイル ボタンで指定されたファイルから読み取られます。
このモードがオフの場合、シェーダ コードは OSL マップ自体の内部に埋め込まれた状態で保存されます。
最も便利な点は、切り替えられることです。
事前にロードされたいずれかのシェーダの性質は、必要に応じて変更することができます。リンクを解除するだけで、心ゆくまで編集できます。シーン内のコピーのみを編集し、ディスク上の元のファイルは編集しないでください。引き続きリンク状態にある他のすべてのシェーダは、プラグインと同様な動作を継続します。リンクされていないシェーダは、この OSL マップ内でローカルに編集できます。
修正したマップを再リンクしようとすると、ファイル内のバージョンに戻り、編集内容は破棄されます。
これにより、単純な 1 回限りの修正または単純な実験を、非常に簡単に行うことができます。いろいろ操作してみましょう。リンクが切断されたら、リンクし直すことで、以前の状態に戻ります。