ライト エディタ(Light Editor)でプラグイン ライトを作成する

ライト エディタ(Light Editor)ではプラグイン ライトを作成できます。プラグインのロード後、ライト エディタ(Light Editor)に既定のアイコンとともにプラグイン ライトが自動的に追加されます。ライト アイコンをクリックして、シーン内にプラグイン ライトを作成できます。

プラグイン ノードでライトの分類文字列を使用する場合、すべてのライトが自動的に追加されます。

プラグイン ノードは、次の MEL コマンドを実行すると、ライトの分類文字列を使用していることを確認します。

getClassification <nodeType>

たとえば、getClassification pointLightdrawdb/light/pointLight:light を返します。

返される文字列内の light が分類を表します。

drawdb/light/<light type> は、ビューポート 2.0 のライト分類を示します。プラグインが既存の内部分類(drawdb/light/directionalLight など)のいずれかを使用すると、ライトに対応するシェーダと、ビューポートで UI 描画用に内蔵されたビューポート 2.0 ジオメトリ エバリュエータが自動的に使用されます。

注: プラグインのロード時にライト エディタ(Light Editor)が既に開かれている場合は、プラグイン ライト作成アイコンを表示できるように、このエディタを閉じてから再度開き、表示内容を更新する必要があります。

ライト エディタ(Light Editor)のプラグイン ライトの表示をカスタマイズする

テンプレート ファイルを作成すると、エディタ、作成 MEL コマンド、および使用するアイコンに表示されるプラグイン アトリビュートをカスタマイズできます。

カスタマイズは可能ですが、必須ではありません。アイコンを何も指定しない場合は、既定のアイコンが使用されます。MEL コマンドを何も指定しない場合は、次のコマンドを使用します。

shadingNode -asLight <lighttype>

実行すると、光源が作成されます。

サンプル テンプレート ファイルは、インストール フォルダの ../scripts/AETemplates フォルダにあり、LE というプリフィックスが付いています。たとえば、次のようになります:スポットライトの場合は LEspotLightTemplate.mel

プラグインの例

Developer Kit 内の例 apiDirectionalLightShape は、lightdrawdb 内部分類を使用してプラグイン ノードを作成できるサンプル プラグインです。ノード アトリビュートは、Maya のポイント、面積、方向、およびスポットライトの各タイプと一致するように調整されています。ライト エディタ(Light Editor)のサンプル テンプレートにはプラグインが付属しています。たとえば、インストール フォルダの ../scripts/AETemplates フォルダ内には、LEapiDirectionalLightShapeTemplate.mel があります。

次の例では、3 つのプラグイン ライト ノードが作成されたシーンを示します。各ライトには、使用されるさまざまなアトリビュート セットとカスタム アイコンが一覧表示されています。プラグイン ライトが 2 つが選択され、ビューポートに表示されています。

ライト エディタ(Light Editor)には、さまざまなテンプレートに記載されたすべてのアトリビュートの列が表示されます。ただし、ライトに対するアトリビュートを変更できるのは、xml テンプレート ファイルに特定のライト タイプのアトリビュートが存在する場合のみです。この例では、拡散の放出(Emit Diffuse)が LEapiDirectionalLightShapeTemplate.mel テンプレート ファイル内にあるため、拡散の放出(Emit Diffuse)がライト エディタ(Light Editor)のカラムになっています。その一方で、LEdirectionalLightTemplate.mel テンプレート ファイルには拡散の放出(Emit Diffuse)が含まれていないため、ライト エディタ(Light Editor)を使用してネイティブ ディレクショナル ライトのこのアトリビュートを編集することはできません。