「αテストのメモ」(2009/06/14 (日) 23:59:48) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#contents
----
*αテストについて
[[マニュアル>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_alpha_tester.html]]によると、
テクスチャのα値が 0 であると描画されません
とあります。
テクスチャで&bold(){完全に透明な部分は無いも一緒}であり、
テクスチャの裏が透けたりすることに悩まずにすむというわけですね。
*勘違いしやすい事
**シャドウ機能との親和性が良くない
RSIIのシャドウはポリゴンを元に生成しているので、
αテストを設定した面から落ちるシャドウは、&bold(){テクスチャの形ではなくマッピングしているポリゴンの形}となります。
またαテストを使用する材質には、[[NoCastShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]などのプロパティを設定しないと、
影を受けるときに不具合が発生します。
つまりαテストを使用するには
-[[NoCastShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]で影を落とさないようにする
-[[NoReceiveShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]で影を受けないようにする
-[[NoShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]で影に関わらないようにする
のいずれかの対策が必要になります。
影を落とさないようにNoCastShadowの設定にするのが無難ですが、
どうしてもシャドウが必要ならば別な対策が必要になります。
例えば以下のような方法が考えられます。
+モデルを変える
++別途αテストを使わないモデルを作成
++[["_SHADOW">http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_model_switch.html]]スイッチにより切り替え
++※別モデルのテクスチャを作成する場合は作業が増えることになります
+影専用ポリゴンの作成
++材質が透明な(α値=0)のモデルを作成
++そのモデルにNoReceiveShadowを設定して一緒に定義する
++※ポリゴンだけサクっとモデリングすれば可能ですが表示ポリゴンが増えます
**α値が0じゃ無いと?
恥ずかしながら最近まで理解していなかったのですがαテストでは、
α=0でない部分は普通の透過テクスチャと同等の扱いになる
つまりαテストに用いるテクスチャには
&bold(){完全に透明か、完全に不透明}
な部分以外あってはいけないということです。
半端なα値が含まれていれば、↓のようになるのですぐにわかりますw
#ref(alpha.jpg)
//*αテスト用テクスチャの作成
#contents
----
*αテストについて
[[マニュアル>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_alpha_tester.html]]によると、
テクスチャのα値が 0 であると描画されません
とあります。
テクスチャで&bold(){完全に透明な部分は「無い」ものと一緒}であり、
テクスチャの裏が透けたりすることに悩まずにすむというわけですね。
*勘違いしやすい事
**シャドウ機能との親和性が良くない
RSIIのシャドウはポリゴンを元に生成しているので、
αテストを設定した面から落ちるシャドウは、&bold(){テクスチャの形ではなくマッピングしているポリゴンの形}となります。
またαテストを使用する材質には、[[NoCastShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]などのプロパティを設定しないと、
影を受けるときに不具合が発生します。
つまりαテストを使用するには
-[[NoCastShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]で影を落とさないようにする
-[[NoReceiveShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]で影を受けないようにする
-[[NoShadow>>http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_shadow_inhibitor.html]]で影に関わらないようにする
のいずれかの対策が必要になります。
影を落とさないようにNoCastShadowの設定にするのが無難ですが、
どうしてもシャドウが必要ならば別な対策が必要になります。
例えば以下のような方法が考えられます。
+モデルを変える
++別途αテストを使わないモデルを作成
++[["_SHADOW">http://www19.atwiki.jp/rs2c/pub/rs_help/pi_sym_model_switch.html]]スイッチにより切り替え
++※別モデルのテクスチャを作成する場合は作業が増えることになります
+影専用ポリゴンの作成
++材質が透明な(α値=0)のモデルを作成
++そのモデルにNoReceiveShadowを設定して一緒に定義する
++※ポリゴンだけサクっとモデリングすれば可能ですが表示ポリゴンが増えます
**α値が0じゃ無いと?
恥ずかしながら最近まで理解していなかったのですがαテストでは、
α=0でない部分は普通の透過テクスチャと同等の扱いになる
つまりαテストに用いるテクスチャには
&bold(){完全に透明か、完全に不透明}
な部分以外あってはいけないということです。
半端なα値が含まれていれば、↓のようになるのですぐにわかりますw
#ref(alpha.jpg)
//*αテスト用テクスチャの作成
表示オプション
横に並べて表示:
変化行の前後のみ表示: