シャドウ アトリビュート
 
 
 

シャドウの詳細については、Maya のシャドウを参照してください。

シャドウ カラー(Shadow color)

ライトによって生成されるシャドウのカラー。透明なカラー付きサーフェス(色付きグラスなど)によって生成されるシャドウをシミュレートする場合は、カラー付きのシャドウを使用します。デフォルト設定は黒です。

テクスチャをシャドウにマップすると、面白いエフェクトを作成できます。次の例では、スポット ライトのシャドウ カラーにマップされたチェッカ(Checker)テクスチャを示します。

カラー付きテクスチャをマップする場合は(たとえば、次の例にあるスタッコ(Stucco)テクスチャなど)、必要に応じてテクスチャのカラーを白黒に変更します。

デプス マップ シャドウ アトリビュート(Depth Map Shadow Attributes)

デプス マップ シャドウ アトリビュートは、ライトによって生成されるデプス マップ シャドウの外観を制御します。

デプス マップ シャドウの詳細については、デプス マップ シャドウを参照してください。

デプス マップ シャドウの使用(Use Depth Map Shadows)

オンに設定すると、ライトによってデプス マップ シャドウが生成されます。デプス マップ シャドウの使用のデフォルトはオフです。

解像度(Resolution)

ライトのデプス マップ シャドウの解像度を指定します。

解像度の値が小さすぎる場合は、シャドウのエッジがギザギザに見えます。解像度の値を大きくするとレンダリング時間が長くなるため、デプス マップの解像度は許容範囲の品質のシャドウが生成される最小値に設定してください。

解像度の初期値としては、レンダリングの解像度と同程度の値を使用してください。アニメーションの再生中にライトが移動する場合は、解像度の値を大きくしてシャドウが揺らめく現象(フリッカ)を防ぐ必要があります。スライダ レンジは 16~ 8192 です。デフォルト値は 512 です。

中間距離の使用(Use Mid Dist)

オフに設定すると、デプス マップ内の個々のピクセルごとに、ライトとライトに最も近いシャドウを投影するサーフェス間の距離が計算されます。シャドウを投影する別のサーフェスとライト間の距離がデプス マップの距離よりも大きい場合は、そのサーフェスはシャドウの投影を受けます。

注:中間距離の使用(Use Mid Dist)がオフの場合に、ライトからサーフェスまでの距離が保存されているデプス値より大きく、影になっている場合は、シャドウを投影するサーフェス上に暗い点や縞が現れる可能性があります。このタイプのアーティファクトはデプス マップの解像度が有限値であるために発生し、曲がったサーフェス上や、サーフェスに対して垂直でないライトによって照らされるサーフェス上では、このような現象が特に目立つ場合があります。

デプス マップのピクセルは、シーンの大きなエリアに近いものに変換されてしまう場合があります。解像度の値を大きくするとこの現象を緩和できますが、問題はただ小さくなるだけでなくなりません。またこれによりレンダリング時間が長くなります。そのような場合に適切な解決方法は、中間距離の使用(Use Mid Dist)をオンに設定することです。

オンに設定すると、デプス マップ内の個々のピクセルごとに、ライトと、ライトに最も近いシャドウを投影するサーフェスとの距離、およびライトと、2 番目にライトに近いサーフェスとの距離が計算されて、この 2 つの距離が平均されます。

シャドウを投影する別のサーフェスとライト間の距離がデプス マップの距離よりも大きい場合は、そのサーフェスはシャドウの投影を受けます。中間距離の使用(Use Mid Dist)のデフォルト設定はオンです。

注:

中間距離の使用(Use Mid Dist)がオンに設定されている場合は、シャドウを投影するサーフェス(シャドウの投影(Casts Shadows)アトリビュートがオンに設定されているサーフェス)のみ、そのサーフェスとライトとの距離が計算されます。

自動焦点の使用(Use Auto Focus)

オンに設定すると、デプス マップのサイズが自動的に調整され、ライトで照らされる全領域のうち、シャドウを投影するオブジェクトが存在する領域だけがデプス マップの影響を受けるようになります。

たとえば、シャドウを投影するオブジェクトがスポット ライトのビームの中心部分だけに存在する場合は、それらのオブジェクトが占める領域だけがデプス マップによって覆われます。解像度は絶対的な解像度値(1 インチあたりのピクセル数 ではなくピクセルの総数)であるため、デプス マップのサイズを小さくすると、レンダリング時間は増加することなく、デプス マップの解像度とシャドウの質が向上します。

オフの場合は、焦点(Focus)アトリビュート(ポイント ライトとスポット ライトの場合)または焦点幅(Width Focus)アトリビュート(ディレクショナル ライトの場合)を使用し、ライトで照らされる領域の内部でデプス マップのサイズを手作業で調整することができます。自動焦点の使用(Use Auto Focus)のデフォルト設定はオンです。

焦点(Focus)焦点幅(Width Focus)

ライトで照らされる領域内部でデプス マップのサイズを調整するための角度(焦点)または幅(焦点幅) (自動焦点の使用(Use Auto Focus)をオンに設定すると、デプス マップのサイズが自動的に調整されます)。

解像度は絶対的な解像度値(1 インチあたりのピクセル数 ではなくピクセルの総数)であるため、デプス マップのサイズを小さくすると、レンダリング時間は増加することなく、デプス マップの解像度とシャドウの質が向上します。

焦点(Focus)は、自動焦点の使用(Use Auto Focus)がオフの場合にポイント ライトとスポット ライトだけで利用できるアトリビュートです。スライダ レンジは 0~ 360 です。デフォルト値は 90 です。

焦点幅(Width Focus)は、自動焦点の使用(Use Auto Focus)がオフの場合にディレクショナル ライトだけで利用できるアトリビュートです。有効な範囲は 0 ~無限大です。デフォルト値は 100 です。

ライト位置の使用(Use Light Position)

ライト位置の使用はディレクショナル ライトだけで利用できるアトリビュートです。オンの場合は、ディレクショナル ライトの前にあるオブジェクトだけが照らされてシャドウを投影します。オフの場合は、ディレクショナル ライトの前と後にあるオブジェクトが照らされてシャドウを投影します。

ライト位置の使用はディレクショナル ライトだけで利用できるアトリビュートです。ライト位置の使用のデフォルトはオフです。

フィルタ サイズ(Filter Size)

シャドウ エッジの柔らかさを制御します (シャドウのサイズとデプス マップの解像度アトリビュートもシャドウ エッジの柔らかさに影響を与えます)。フィルタ サイズ(Filter Size)の値を大きくするとレンダリング時間が長くなるため、デプス マップのフィルタ サイズを満足できる結果を実現できる最小の値に設定してください。通常、フィルタ サイズ(Filter Size)の値は 3 以下で十分な結果が得られます。有効な範囲は 0 ~無限大です。スライダ レンジは 0~ 5 です。デフォルト値は 1 です。

ヒント:

非常にソフトなシャドウにする場合は、デプス マップの解像度を低くしてからこの設定を調節します。

バイアス(Bias)

デプス マップを一定の距離だけライトに近づけるかライトから遠ざけます。次のような問題が発生し、他のアトリビュートを調整しても問題を解決できない場合に限り、バイアス アトリビュートを調整してください。

スライダ レンジは 0 ~ 1 ですが、もっと大きい値を入力することができます。デフォルト値は 0.001 です。

フォグ シャドウの強度(Fog Shadow Intensity)

ライト フォグの内部に現れるシャドウの暗さを調整します。値の範囲は 1 ~ 10 です。デフォルト値は 1 です。

フォグ シャドウ サンプル(Fog Shadow Samples)

ライト フォグの内部に現れるシャドウの細かさを調整します。フォグ シャドウ サンプルの値を大きくするとレンダリング時間が長くなるため、満足できる結果を実現できる最小の値にフォグ シャドウ サンプルを設定してください。非常に幅の狭いオブジェクトからライト フォグに投影されるシャドウは、アニメーションの再生中にシフトする場合があります。そのような場合は、フォグ シャドウ サンプル(Fog Shadow Samples)アトリビュートの値を大きくしてください。デフォルト値は 20 です。

ディスク ベース デプス マップ (Disk Based Dmaps)

ライトのデプス マップをディスクに保存し、それ以降のレンダー時に同じデプス マップを再利用できるようにします。デプス マップをディスクに保存して後で再利用すれば、シーンのレンダリング時間を短縮することができます(デプス マップを再利用するを参照してください)。デプス マップは renderDate/depth ディレクトリに保存されます。

オフ(Off)

Maya はレンダリング中に新しいデプス マップを作成します。デプス マップはディスクからは読み取られず、ディスクに保存もされない。

既存のデプス マップの上書き(Overwrite Existing Dmap(s))

新しいデプス マップが作成され、ディスクに保存されます。デプス マップがディスク上にすでに存在する場合は、既存のデプス マップが上書きされます。

デプス マップをディスクに書き込むと、2 つのデプス マップが得られます。1 つは最初にシャドウを投影するサーフェスで、もう 1 つは 2 番目にシャドウを投影するサーフェスです。

既存のデプス マップの再使用(Reuse Existing Dmap(s))

Maya はデプス マップがすでにディスクに保存されているかどうかを確認します。既存のデプス マップが存在する場合は、新しいデプス マップは作成されず、既存のデプス マップが再利用されます。デプス マップが存在しない場合は、新しいデプス マップが作成されてディスクに保存されます。

ヒント:

デプス マップをディスクに保存するように設定した場合は、renderDate/depth ディレクトリを時々チェックして不要なデプス マップ ファイルを削除してください。

シャドウ マップのファイル名(Shadow Map File Name)

ディスクに保存されるデプス マップ ファイルの名前。このファイル名には、シーン名(シーン名の追加(Add Scene Name)がオンの場合)、ライト名(ライト名の追加(Add Light Name)がオンの場合)、フレーム拡張子(フレーム拡張子の追加(Add Frame Ext)がオンの場合)を含めることができます。シャドウ マップのファイル名アトリビュートを使用できるのは、ディスク ベース デプス マップ アトリビュートが既存のデプス マップの上書きまたは既存のデプス マップの再使用に設定されている場合に限られます。デプス マップは renderDate/depth ディレクトリに保存されます。デフォルトのデプス マップ ファイル名は depthmap です。

シーン名の追加(Add Scene Name)

ディスクに保存されるデプス マップ ファイルの名前にシーン名を追加します。シーン名の追加のデフォルトはオフです。

ライト名の追加(Add Light Name)

ディスクに保存されるデプス マップ ファイルの名前にライト名を追加します。ライト名の追加(Add Light Name)のデフォルトはオンです。

フレーム拡張子の追加(Add Frame Ext)

オンに設定されている場合は、個々のフレーム用のデプス マップが保存され、デプス マップ ファイルの名前にフレーム拡張子が追加されます。オフの場合は、アニメーション全体のデプス マップ ファイルが 1 つだけ保存され、デプス マップ ファイルの名前にフレーム拡張子は追加されません。フレーム拡張子の追加(Add Frame Ext)のデフォルトはオフです。

マクロの使用(Use Macro)

利用できるのは、ディスク ベースのデプス マップ(Disk Based Dmaps)が既存のデプス マップの再使用(Reuse Existing Dmap(s))に設定されている場合に限られます。ディスクからデプス マップを読み取る場合に、そのデプス マップを更新するために実行されるマクロ スクリプトのパス名。マクロの使用の主な使用目的はトラブルシューティング(デバッグ)です。

マクロ スクリプトには、ディスク上のデプス マップの作成または更新に必要な全情報が記述されます。次のサンプルは Perl で書かれています。このマクロによってデプス マップの作成または後処理(更新)が行われます。任意の高さまたは幅のデプス マップを変更または作成できます。IFF Z- デプス マップ ファイルで指定されたサイズが調べられ、使用されます。デプス マップがディスクから読み取られるたびに、マクロがコールされます。たとえば、ポイント ライトの場合はマクロが何回かコールされて、最大 6 個のデプス マップが操作されます。

引数の名前は新しい引数を簡単に追加できるように命名されています。スクリプトに渡される引数は次のとおりです。

mapname=FullPathMapName,middistmapname=FullPathMidDistMapName,
lightname=LightShapeNameUsed,pathname=ShadowMapPathUsed,
readanimextname=RedExtUsed,curranimextname=CurrExt,
lastdumpanimextname=lastExtDumped,bias=biasValue

Perl マクロ スクリプトの例を次に示します。

#!/bin/perl
# # Example of a callback macro called before reading shadow maps from disk #
# # One argument with fields separated by '&'
# each field being 'variableName=variableValue
#
# Creates a vartab hash table out of the ARGV[0] argument
#
# print "\n------------------\n",$ARGV[0],"\n------------------\n";
if( $#ARGV == 0 )
{
	@fields = split( /\,/, $ARGV[0] );
	$nbfields = $#fields + 1;
	foreach $field( @fields )
	{
		@varvalue = split( /\=/, $field );
		$vartab{$varvalue[0]} = $varvalue[1];
	}
	$mapname = $vartab{"mapname"};
	$middistmapname = $vartab{"middistmapname"};
	$lightname = $vartab{"lightname"};
	$pathname = $vartab{"pathname"};
	$readanimextname = $vartab{"readanimextname"};
	$curranimextname = $vartab{"curranimextname"};
	$lastdumpanimextname = $vartab{"lastdumpanimextname"};
	$bias = $vartab{"bias"};
	print "\tmapname = ",$mapname,"\n";
	print "\tmiddistmapname = ",$middistmapname,"\n";
	print "\tlightname = ",$lightname,"\n";
	print "\tpathname = ",$pathname,"\n";
	print "\treadanimextname = ",$readanimextname,"\n";
	print "\tcurranimextname = ",$curranimextname,"\n";
	print "\tlastdumpanimextname = ",$lastdumpanimextname,"\n";
	print "\tbias = ",$bias,"\n";
#
# List the shadow map files to be postprocessed
#
	print "\n";
	if ( -e $mapname ) {
		print "PostProcess shadow depth map file ",$mapname,"\n";
	}
	if ( -e $middistmapname ) {
		print "PostProcess shadow depth map file ",$middistmapname,"\n";
	}
#
# return 0 to confirm everything is ok
#
	exit 0;
}
単一のデプス マップのみを使用(Use Only Single Dmap)

利用できるのはスポット ライトの場合のみです。

オンに設定すると、スポット ライト用に単一のデプス マップが生成されます。通常、コーン アングルが 90 度未満の場合は単一のデプス マップで十分ですが、コーン アングルが 90 度を越えると、解像度の値が十分に大きくないために質の高いシャドウが作成されない場合があります(シャドウのエッジがギザギザに見えます)。コーン アングルの値が大きい場合は、単一のデプス マップのみを使用をオフにしてください。単一のデプス マップのみを使用のデフォルト設定はオンです。

オフの場合は、各スポット ライト用に最大 5 個のデプス マップが生成されます。個々のデプス マップは 6 方向(正負の X 軸方向、正負のY軸方向、正負のZ軸方向)のうち 1 つの方向にあるライトを基点として広がります。各デプス マップの解像度は、解像度で指定される値になります。

スポット ライトはコーン アングルが大きい場合でも質の高いシャドウを生成します。ライト用に複数のデプス マップが作成されるために、レンダリング時間が長くなる場合があります。ただし、XYZ+- マップの使用(Use XYZ+- Map)アトリビュートのオン/オフを切り替えて、デプス マップの方向と数を制御することができます。

X+ マップの使用(Use X+ Map)Y+ マップの使用(Use Y+ Map)Z+ マップの使用(Use Z+ Map)、X- マップの使用(Use X- Map)Y- マップの使用(Use Y- Map)Z- マップの使用(Use Z- Map)

これらのアトリビュートは、スポット 単一のデプス マップのみを使用(Use Only Single Dmap)がオフの場合)とポイント ライトだけで利用できます。これらのアトリビュートのデフォルト設定はオンです。

ライト用に生成されるデプス マップの方向と数を制御します。たとえば、X+ マップの使用(Use X+ Map)をオンに設定すると、正のX軸方向にライト用のデプス マップが生成されます。

Maya では、スポット ライト用に最大 5 個のデプス マップ、ポイント ライト用に最大 6 個のデプス マップを生成することができます。ただし、通常は、いくつかの特定の方向だけにシャドウを投影すれば十分です。特定の方向のデプス マップをオフにすると、レンダリング時間が短縮されます。たとえば、シーンの一番上にポイント ライトがあり、影を落とすすべてのオブジェクトがライトの下にある場合、Y+ マップの使用(Use Y+ Map)をオフに設定することができます(シーンでは Y の正の座標系が使用されていると想定)。その場合、Maya は Y 軸の正の方向(上)にはデプスマップを生成しません。

レイ トレース シャドウ アトリビュート(Raytrace Shadow Attributes)

ライトによって生成されるレイ トレース シャドウの外観を制御します。

レイトレース シャドウの詳細については、レイトレース シャドウを参照してください。

レイ トレース シャドウの使用(Use Ray Trace Shadows)

オンに設定すると、シーンがレイ トレーシングされる(つまりレンダー設定(Render Settings)ウィンドウでレイトレーシング(Raytracing)がオンに設定されている)場合、ライトによってレイ トレーシング シャドウが生成されます。レイ トレース シャドウの使用のデフォルトはオフです。

シャドウの半径(Shadow Radius)ライトの半径(Light Radius)ライトの角度(Light Angle)

ライトのサイズ(シャドウの半径ライトの半径)または角度(ライトの角度)を指定して、シャドウのエッジの柔らかさを調整します。たとえば、ライトのサイズを大きくすると、ライトが小さい場合よりもソフトなエッジのシャドウが生成されます。ライト グローで遮断/可視性を定義するときにもライトの半径が使用されます(ポイント ライトとスポット ライトの場合)。

シャドウの半径アトリビュートは、アンビエント ライトでのみ使用できます。

ライトの半径アトリビュートは、ポイント ライト、ボリューム ライト、スポット ライトでのみ使用できます。スライダ レンジは 0(ハード シャドウ)~ 1(ソフト シャドウ)です。デフォルト値は 0 です。

ライトの角度はディレクショナル ライトとボリューム ライトだけで利用できるアトリビュートです。スライダ レンジは 0(ハード シャドウ)~ 180(ソフト シャドウ)です。デフォルト値は 0 です。

シャドウ レイ(Shadow rays)

シャドウのエッジの粒子度を調整します。シャドウ レイの値を大きくするとレンダリング時間が長くなるため、シャドウ レイを満足できる結果を実現できる最小の値に設定してください。スライダレンジは 1 ~ 40 です。レンダー パスのデフォルト設定は 1 です。

レイ デプスの最大値(Ray Depth Limit)

レイ デプスの最大値はライトからの光線が反射/屈折される最大回数を指定します(この値を超えて光線が反射/屈折されると、オブジェクトからシャドウが投影されなくなります)。光線の方向が変わる点の間にある透明なオブジェクトが、ライトの光線を途切れさせてしまうことはありません。レイ デプスの最大値の動作は、レイ トレースされたシャドウが地表プレーンと反射プレーンの両方で表示される例で、最もわかりやすい形で見ることができます。レイ デプスの最大値が 1 のとき、シャドウは地表プレーンでのみ可視になります。レイ デプスの最大値が 2 のとき、シャドウは地表プレーンと反射プレーンで可視になります。