cvELD

新XSI道場 - Color Variation of ELDorado

選択中のパスにレンダーチャンネルとレンダーバッファーの追加スクリプト

選択中のパスにレンダーチャンネルとレンダーバッファーの追加。 Softimageの仕様として、まずレンダーチャンネルを設定しておかないと レンダーバッファーが登録できないので、基本セットで使います。 新規シーンにシェーダーバッファー定義済みのRenderChannelシェーダーを持ち込んだ時は 設定だけは生きてるので Create_cvELD_Toon_Channels(); だけ実行すれば良いです。そのために関数を分けてます。

//Create_RendrChan_and_Buffer.js

Create_cvELD_Toon_Channels();
Create_cvELD_Toon_Buffers();

	function Create_cvELD_Toon_Buffers(){
	//空のCollection作る
	var oCol= new ActiveXObject( "XSI.Collection" );
	//Collectionに選択したものをぶち込む
	oCol.items = Selection;

	//Collectionの中に入ってるオブジェクトをカウント分繰り返す
	for (var i = 0; i < oCol.count; i++ ){

		oBf = oCol(i).CreateFramebuffer( "Toon_DI" );
		oBf.Format = "png"
		oBf = oCol(i).CreateFramebuffer( "Toon_SH" );
		oBf.Format = "png"
		}
	}

function Create_cvELD_Toon_Channels(){
   var props = ActiveProject.ActiveScene.PassContainer.Properties;
   var channels = new ActiveXObject("XSI.Collection");
   for(var i=0; i<props.Count; i++)
   {
      if(props(i).FullName=="Passes.RenderOptions")
         var channels = props(i).RenderChannels;
   }

   if (channels("Toon_DI") == null)
      CreateRenderChannel("Toon_DI",     siRenderChannelColorType, null);
   if (channels("Toon_SH") == null)
      CreateRenderChannel("Toon_SH",     siRenderChannelColorType, null);

	  logmessage("レンダーチャンネルに Toon_DI他、を追加しました。")
	}

関連記事

  1. BLK000084
  2. BLK000396
  3. BLK000396
  4. cover
  5. BLK000168