透過

「透過」チャンネルは、マテリアルの透過色、透明度、屈折率を指定します。デフォルトでは、透明度が高くなるにつれて、カラーや発光、鏡面反射チャンネルの働きが自動的に弱くなります。例えば、透明度が50%の場合、カラーチャンネルの働きは半分になり、75%では1/4になり、100%では0になります。このような制限が設けられているのは、光が増えないようにするためです。例えば、マテリアルに入射した光の100%が透過し、100%が反射するなら、合計は200%になり、光が増えてしまいます。

ヒント:吸収を使用すれば、より良い結果を得ることができます(下記参照)。

3つのドットのボタンを使用して、透過チャンネルにテクスチャを読み込むと、それは透過テクスチャとして働きます。透過テクスチャはカラーで、写真のフィルムを透かして見るように、奥に見えるオブジェクトの色を変えます。赤いピクセルに対応する部分は赤い光だけを透過し、明るいピクセルに対応する部分はより透明になります。黒いピクセルの部分は不透明になります。

図6: 透過色や透明度の値は、透過色と透過テクスチャのどちらでも指定できます。

また、透過テクスチャを読み込んだマテリアルをライトに適用すると、「ライトマップ」を表現できます。ライトマップが適用されたライトから放射された光線は、その色や明るさが透過テクスチャによって変化します。これはちょうど写真のフィルムをスライドプロジェクタで投影するような働きをします。

透過色

マテリアルチャンネルページのほとんどの色をカラー選択を使って指定できます。

透明度[0..100%]

透明度の値は、透過色の明るさとそれの透明度を定義します。

屈折プリセット

ここには、正しい屈折値を自動的に適用する多数の屈折プリセットがあります。これらは、反射チャンネルのフレネル機能にあるプリセットと同じです。

屈折率[0.25..4.00]

図2のようにオブジェクトが閉じていない場合、屈折の計算が正しく行われません。つまり、光線は最初の面で屈折し、同時にマテリアルの内部に入ったと思い込みます。ところが、そこは内部ではなく真空です。そして2回目の屈折は永久に起こりません。この結果、光線は入射した方向と違う方向に飛び続けることになります。

図1

まず、カメラから放射された光線は、透明で屈折率が指定されている面にぶつかるとそこで屈折します。この時、光線は絶対屈折率が1.0の真空中(もしくは空気中)から、指定した絶対屈折率1.5のマテリアルの内部に入るので、屈折率の比は1.5 / 1.0 = 1.5となります。この光線が反対側の面にぶつかると、2回目の屈折が起こりますが、今度は屈折率の比が1.0 / 1.5 = 0.667とちょうど逆になります。この結果、平行な板ガラスに入射した光線は、同じ方向に出射されるのです。これが正しい屈折です。正しい屈折では、内側と外側のマテリアルに適用された絶対屈折率の比によって屈折する方向が決まり、必ず2回の屈折(入射と出射)がセットで起こります。

図2

このような問題が起こらないように、屈折を適用するオブジェクトは、図3のように必ず閉じるようにして下さい。

図3

フレネル

もしも透過フレネルの鏡面反射度の値が0%以上の場合には、視線の角度に従って、透明度と鏡面反射率が変化するようになります。実際に自分の目で平らなガラスを観察してみて下さい。ガラスを垂直な方向から見ると(つまり視線の角度が90度)、ガラスを透かして奥にあるオブジェクトが見え、鏡面反射はそれ程強くありません。ところが、同じガラスを浅い角度から見ると、ガラスの奥にはオブジェクトが見えなくなり、その替わり手前のオブジェクトが鏡面反射して見えるようになります。このように、現実の世界では視線の角度によって透明度や鏡面反射率が変化するのです。これがフレネル効果です。

このオプションを使うと、フレネル効果をシミュレートできます。

注意として、反射属性は(表面の粗さ異方性など)は、* 透過 *反射チャンネル設定で行えます。

例えば、透明度のRGB値が(80, 80, 80)である場合、視線の角度が90°なら、そのマテリアルの透明度は80%、鏡面反射率は0%になります。ところが、非常に浅い角度から見ると、逆に透明度が0%、鏡面反射率が80%になるのです。もし、鏡面反射チャンネルを指定している場合は、その鏡面反射率がフレネルによる鏡面反射率に加算されます。

もしも透過フレネルの鏡面反射度の値が0%以上の場合には、透明度と鏡面反射率は、視線の角度に関係なくそれぞれ指定した値に従って計算されます。

放出鏡面反射

上は放出鏡面反射がオンの場合。下はオフの場合。

ガラスを通して屈折した後で、鏡面反射がサーフェイスと交わると、若干異なる2種類の鏡面反射のうちの1つが計算されます - それらは、ガラスに差し込む際とガラスから放射される際の結果となるものです。単一の鏡面反射がしばしば視覚的に最もアピールするものとなります(たとえそれが不正確であるとしてもです)。このエフェクトを作成するには放出鏡面反射オプションをオフにしてください。

フレネル鏡面反射度[0..100%]

図4:透過フレネルの鏡面反射度を、高い値に設定した場合(左)、低い値に設定した場合(右)。

「透過フレネルの鏡面反射度」オプションは、透過フレネルの鏡面反射の強度を調整します(図4参照)。

フレネルシェーダを使用すると追加の設定を行えることに留意してください。

加算

通常、マテリアルにカラーがある場合、その透明度が高くなるほどカラーは自動的に弱くなります。これはリアルな効果を演出します。ただしこの自動的な働きを機能させたくない場合には、この加算オプションを使用してください。

テクスチャ

ここで、画像テクスチャや2Dシェーダを定義します。テクスチャの章を参考にして下さい。

混合モード

カラーパネルで指定した「色」とテクスチャパネルで指定した「テクスチャ」は、4種類の混合モードを使って合成できます。デフォルトのモードは通常ですが、環境チャンネルだけは乗算になっています。また、混合モードがないチャンネルもあります。テクスチャパネルでテクスチャを読み込むと、それはカラーチャンネルで指定した色の上に置かれます(つまり、色は隠されテクスチャだけが表示されます)。

通常

通常モードでは、強度がテクスチャの濃度を変更します。つまり、強度が100%の場合は、テクスチャだけが表示されます(テクスチャが色の上に重なっているからです)。もし、強度が70%の場合は、テクスチャが70%、色が30%の割合で合成されます。

例えば、RGB値(255, 0, 0(赤))のテクスチャが、RGB値(255, 255, 0(黄色))の色の上に重ねられている場合、「強度」を50%にすると、合成された色は(255, 127, 0(オレンジ))になります。

加算

「加算」モードでは、色の値にテクスチャの値が加算されます。値は制限されません。(例: 255/255/255)

減算

「減算」モードでは、テクスチャの値から色の値が減算されます。ただし、減算した値が0%を下回った場合でも、合成された色は0%を下回りません。例えば、RGB値(255, 127, 0(オレンジ))のテクスチャが、RGB値(127, 0, 127(紫色))の色の上に重ねられている場合、「強度」を100%にすると、合成された色は(127, 127, 0(うぐいす色))になります。

乗算

「乗算」モードでは、色の値とテクスチャの値が乗算されます。白を乗算すると合成した色は変わらず、黒を乗算すると合成した色は必ず黒になります。例えば、RGB値(255, 127, 0(オレンジ))のテクスチャが、RGB値(255, 127, 127(桜色))の色の上に重ねられている場合、「強度」を100%にすると、合成された色は(255, 63, 0(オレンジ))になります。

強度[0..100%]

強度は、色とテクスチャもしくは、明るさと透過(選択するモードにより)を合成する割合を変更します。

吸収

緑色の吸収色。

光が透明の媒体に差し込むと、その光は弱くなっていくらかその色が変わります(ガラスが完全に色無しの状態であることは非常にまれです)。マテリアルに厚みがあるほど、光が通過する際により弱くなります(ガラスは完全には透明ではありません)。これらのエフェクトは、次に挙げる2つのパラメータを使ってCinema 4Dで模倣することが可能です。以下の説明では、という用語は、透過チャンネルの一番上にある透過色パラメータを意味します。

ヒント:吸収 は、閉じたボリュームに対して有効に機能します。対象となるボリュームに穴が存在する場合は、正確な計算結果が得られないことがあります。

ヒント:ある光源に対して透過がオンの場合には、吸収色に関連する色が影につきます。ただし、これはソフトシャドウを併用する場合には機能しません!

吸収色

左から右に、異なる吸収色:緑、黒、青(各オブジェクトの透過色として白色をセット)。

吸収距離(次に挙げるパラメータ)で定義された距離を"光線”が移動した場合に、透過色によって乗算される色が、吸収色です。

そして透過チャンネルには2つの色が存在することになります。これらは次のように定義されます:

色:非常に細いオブジェクトに表れる色(例:1枚の窓ガラスや水の細いフィルム)

透過色:大きなオブジェクトが採用する色。

ガラスを作成する場合にはたいてい透過色を白色にセットするでしょう、ただし常にそうとは限りません:

液体の色の設定:透過色=黄色、吸収色=洋紅色。

液体で満たされたガラスをモデリングする

液体で満たされたガラスをモデリングする最良の方法は、液体とガラスを別々にモデリングするという方法です。ガラスオブジェクトの中へ、液体オブジェクトを若干拡張させます。通常のケースでは、既製のガラスはこのような見た目となるでしょう(スプラインを使ってモデリングを行いました、それぞれを回転オブジェクトの中に配置しました):

液体をモデリングするために使ったスプラインをスケールして、それがガラスの中に少し広がるように設定。
ヒント:凹状/中空のオブジェクト
左:凹状、吸収オブジェクト、ブール無し;右:異なる吸収マテリアルを持つ2つのオブジェクト。


凹状のオブジェクトを、大きなオブジェクトの子にして、それに吸収マテリアルをわりあてることによって、ブールオブジェクトを使用しなくても「吸収する凹状のオブジェクト」を作成することができます。

吸収距離[0..+∞m]

左から右へ吸収距離の値を増やした結果。左は非常に低い値、0よりも若干大きな値。全てのガラスは同一の透過色(白色)と吸収色(緑色)を持っている状態です。

この設定は、吸収が完全にカラーに乗算される前のライトのレイの距離を定義するために使います。この値が低いほど、吸収色がより濃くなります(たとえ薄いガラスに対してでも)。値が0の場合には、吸収機能が完全にオフの状態になります。

ぼけた屈折[0..100%]

このパラメータは、ぼけた屈折の値が0%以上の場合のみ、使用できます。ここで、オブジェクトに透過して見える像がボケる量を指定します。この値を0%にすると、拡散機能自体が停止し、他のボックスはグレー表示になります。この場合、透過して見える像のレンダリングは通常のレイトレーシングで行われます。つまり、カメラから放射された光線は、面を透過した後も1本のままです。

左上から右下へ:ぼけた屈折効果0, 5, 10, 15, 20, 25, 30, 35。値が増えるごとに、レンダリング時間は長くなります。

もし、ぼけ効果(フレネルがオンになっている場合)が有効なのに透過領域がハッキリしていて不思議に感じる場合、ぼけ効果は、マテリアルの反射チャンネルがオフになっていても、反射チャンネルの表面粗さが影響します。

左: ボケの効果を透過チャンネルでのみ適用; 右: ボケの効果を反射チャンネルでも適用

最小サンプル数[1..10000]

最大サンプル数[1..10000]

このパラメータは、ぼけた屈折の値が0%以上の場合のみ、使用できます。

計算精度の値を高くすると、レンダリング時間が長くなります。

Cinema 4Dは、透過して見える像をボカすために、光線を分岐させます。しかし、全ての光線を同じ数に分岐させるわけではありません。色の変化の激しい部分ではより多くの光線に分岐させ、変化の少ない部分では少ない光線に分岐させるように、自動的に最適化します。この光線を分岐させる数の範囲を、「最小サンプル数」と「最大サンプル数」の値で指定します。

透明なオブジェクトの奥に、不自然に黒い部分がある場合は、レンダリング設定 / オプションページで、光線の計算回数の値を大きくして下さい。また、透明なオブジェクトの奥に見える暗いオブジェクトの一部分が消えてしまう場合には、同じページでしきい値の値を小さくして下さい。

計算精度[0..100%]

このパラメータは、ぼけた屈折の値が0%以上の場合のみ、使用できます。

計算精度の値を高くすると、レンダリング時間が長くなります。

計算精度の値は、透明な面の上で光線を分岐させる数を、最小サンプル数最大サンプル数を基準にして調整します。この値を100%にすると、光線が分岐する数が増え、0%にすると、光線が分岐する数が減ります。