ライト エディタ(Light Editor)ではプラグイン ライトを作成できます。プラグインのロード後、ライト エディタ(Light Editor)に既定のアイコンとともにプラグイン ライトが自動的に追加されます。
次に、ライト アイコンをクリックしたり、またはグループを右クリックしてマーキング メニューを使用すると、ネイティブ ライトとして、シーン内でプラグイン ライトを作成できます。
プラグイン ノードでライトの分類文字列を使用する場合、すべてのライトが自動的に追加されます。
プラグイン ノードは、次の MEL コマンドを実行すると、ライトの分類文字列を使用していることを確認します。
getClassification <nodeType>
たとえば、getClassification pointLight は drawdb/light/pointLight:light を返します。
返される文字列内の light が分類を表します。
drawdb/light/<light type> は、ビューポート 2.0 のライト分類を示します。プラグインが既存の内部分類(drawdb/light/directionalLight など)のいずれかを使用すると、ライトに対応するシェーダと、ビューポートで UI 描画用に内蔵されたビューポート 2.0 ジオメトリ エバリュエータが自動的に使用されます。
テンプレート ファイルを作成すると、エディタ、作成 MEL コマンド、および使用するアイコンに表示されるプラグイン アトリビュートをカスタマイズできます。
カスタマイズは可能ですが、必須ではありません。アイコンを何も指定しない場合は、既定のアイコンが使用されます。MEL コマンドを何も指定しない場合は、次のコマンドを使用します。
shadingNode -asLight <lighttype>
実行すると、光源が作成されます。
テンプレート ファイルのサンプルは、先頭に LE という名前が付けられ、インストール フォルダの ../scripts/AETemplates フォルダ内に格納されています。たとえば、スポットライトの場合は LEspotLightTemplate.mel になります。
Developer Kit 内の例 apiDirectionalLightShape は、light と drawdb 内部分類を使用してプラグイン ノードを作成できるサンプル プラグインです。Maya のポイント、方向、およびスポットの各タイプと一致するように調整されたノード アトリビュートです。ライト エディタ(Light Editor)のサンプル テンプレートにはプラグインが付属しています。たとえば、インストール フォルダの ../scripts/AETemplates フォルダ内には、LEapiDirectionalLightShapeTemplate.mel があります。
次の例では、3 つすべてのプラグイン ライト ノードが作成されたシーンについて説明します。各ライトには、使用されるさまざまなアトリビュート セットとカスタム アイコンが一覧表示されています。プラグイン ライトが 2 つが選択され、ビューポートに表示されています。
ライト エディタ(Light Editor)には、さまざまなテンプレートに記載されたすべてのアトリビュートの列が表示されます。ただし、ライトのアトリビュートを修正できるのは、そのアトリビュートが特定のライト タイプに対して存在する場合のみです。この例では、拡散の放出(Emit Diffuse)が LEapiDirectionalLightShapeTemplate.mel テンプレート ファイル内にあるため、拡散の放出(Emit Diffuse)がライト エディタ(Light Editor)のカラムになっています。一方で、拡散の放出(Emit Diffuse)は LEdirectionalLightTemplate.mel テンプレート ファイル内にありませんが、拡散の放出(Emit Diffuse)アトリビュートがディレクショナル ライトに含まれるため、このアトリビュートはライト エディタ(Light Editor)を使用してネイティブ ディレクショナル ライトとして編集できます。