変位

「変位」チャンネルの働きは、「バンプ」チャンネルとよく似ていて、オブジェクトの表面に凸凹を追加します。変位がバンプと違うのは、実際にポイントを法線方向に移動し、オブジェクトを変形させるという点です。この違いは、オブジェクトの輪郭部分を見るとはっきり分かります。下図1の左半分は、バンプマップを適用した球体です。これに対して、右半分には変位マップを適用しています。

球体の左半分ではバンプマップが、右半分では変位マップが使われています。バンプマップを適用した側の球体のエッジはスムーズで、変位を適用した側のエッジは変形しているのがわかります。多少の変形によって、オブジェクトサーフェイス自体の中にシャドウ効果が表れます。

一般事項

球体を作るときには、ポリゴン化せずにレンダリングオプションを常に無効にしておきます。このオプションを有効のままにしておくと、変位マップの計算が行われなくなります。

複数の変位マテリアルがオブジェクトに割り当てられている場合は、最大値が常に適用されます。例:2つの異なる変位マテリアルを持つオブジェクトがあり、選択肢が2つあります。1つ目の変位マテリアルの分割レベルは4で、2つ目は6、オブジェクト全体の分割レベルは6です。オブジェクト全体が分割された場合も、指定された選択マテリアルにのみ変位が適用されることになります。

RGB(ローカルのXYZ)モード使用時に、局所的に変位が生じないなどの問題が発生した場合は、マテリアルタグのバンプにUVWマップを使うオプションを有効にすると解決する場合があります。

次のような機能もあります。

- スカルプト

- マテリアルをベイク

これらの機能は、変位テクスチャを作成するのに使うことができます。

変位量[-100..100%]

変位量スライダで、最大高さで定義された最大変位を調整できます(変位量と最大高さの値が乗算されて、最大変位を調整します)。

最大高さ[-∞..+∞m]

変位の高さを定義します。これは変位量の値によって変化する場合があります。

タイプ

強度

「強度」モード(上)と、「強度(中心)」モード(下)。

強度モードでは、プラス方向に変位します。変位マップの黒い部分は、変位しません。白い部分は最大変位します

「強度」モード。

強度(中心)

「強度(中心)」モードでは、プラス方向とマイナス方向の両方に向かって変位します。グレーの値が50%の場合、変位しません。白い部分はプラス方向に最大変位します。黒い部分はマイナス方向に最大変位します。

R(赤) / G(緑)

テクスチャの赤と緑の値を反映して、マイナス方向あるいはプラス方向に変位します。緑の値は変位を大きくします。赤の値は変位を小さくします。黒色は、変位に影響しません。純粋な赤と緑の値が変位をコントロールします。ピュアグリーン(RGB:0、255、0)と、ピュアレッド(RGB:255、0、0)はそれぞれプラス方向とマイナス方向に、最大変位させます。

RGB (オブジェクトの XYZ)

RGB (グローバルの XYZ)

RGB (XYZタンジェント)

これらのモードは、テクスチャのRGBの構成に従って、空間的に変位を調整します。RGBの構成は各方向を次のように定義します(、、)。

レッド: X

グリーン: Y

ブルー: Z

変形には、選択されたモードに応じて異なる座標システムが使われます。最も多目的でお勧めのモードは、(デフォーマなどを使って)欠陥なくオブジェクト変形を行うことのできる(他のモードでは欠陥が生じる場合があります)RGB(XYZタンジェント)です(もちろん、変位テクスチャがこのモードで作成された場合に限ります!!)。これは、特に、ジョイントを動かすことによって命が吹き込まれるキャラクターアニメーションに不可欠なモードです。

上の画像の円柱は、変位テクスチャが適用され、曲げデフォーマで変形されています。RGB(XYZオブジェクト)モードを使って作成した上端右の変位テクスチャは不完全なものとなっています。下端右の変位テクスチャが正しい形ですが、これは、RGB(XYZタンジェント)モードを使って作成したものです。

テクスチャ

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

SPD (サブポリゴン変位)

SPD (サブポリゴン変位)

ノイズのタイプ別によるSPDとの効果は、こちらにあります。

サプポリゴンの変位を有効にします。このオプションがオフの場合、標準の変位が使われます。(オブジェクトが持っているポイントのみが影響を受けます)

詳細は、Advanced Render / サブポリゴンの変位をご覧下さい。

分割数[1..12]

2個のスライムボール。これらのオブジェクトは「ポリゴン化せずにレンダリング」オプションを外した球体オブジェクトでできていて、分割数が下から上に2、4、8となっています。

ここで、レンダリング時にSPDがオブジェクトを分割する数を指定します。SPDが指定されたマテリアルを適用されたオブジェクトは、その全体がこの分割数で細分化されます。したがって、カメラから見えないとわかっているポリゴンはあらかじめ消去しておいたほうがいいでしょう。なぜなら、カメラから見えないとしても、そのポリゴンから多くのポリゴンが生成されるからです。一般的に、分割数を大きくすればよりスムーズな形状が得られますが、その分メモリを消費し、レンダリング時間も長くなります。

したがって、分割数の値はオブジェクトごとに適切な値となるように慎重に設定する必要があります。

たとえば、正8面体プリミティブと平面プリミティブを、SPDを使って同じ分割数で細分化した場合、レンダリングされた結果は大きく異なります。なぜなら、正8面体の元のポリゴン数が8個であったのに対し、平面には400個ものポリゴンが含まれていたからです。キャラクターのように部品ごとの分割数が大きく異なるオブジェクトにも同じことが言えます。普通キャラクターの顔は細かく分割されているものですが、腕や脚の分割はそれほど細かくありません。このようなオブジェクトの各部分を同じ分割数で細分化すれば、必ず余分なところと足りないところができます。

オブジェクトが含んでいる全てのポリゴンは、次のような規則によってレンダリング時に三角ポリゴンに分割されます。:

三角ポリゴンの場合:(2のn乗)*(2のn乗)

四角ポリゴンの場合:(2のn乗)*(2のn乗)* 2

ここで、n = 分割数

たとえば分割数の値を8に指定した場合、レンダリング時に生成されるポリゴン数は次のようになります。

正8面体の場合:6*256*256 = 393,216ポリゴン

平面の場合:400*256*256 = 26,214,400ポリゴン

形状を丸める

左は形状を丸めるオプションを外した場合、右は適用した場合。

SPDを適用するとポリゴンが細分化されるため、通常のフォンシェーディングによるスムージングができなくなります。そこで、SPDを適用する段階で、サブディビジョンサーフェイスと同様のアルゴリズムを使ってオブジェクトの形状を丸めることができます。

その効果は、細かい凹凸がある部分ではわかりませんが、変位のない平らな部分でよくわかります(上図の太平洋の部分)。ただし、HyperNURBSと違って、このオプションを選択していない場合、ポリゴンの縁は丸くなりません。

左は形状を丸めるオプションを適用した場合、右は外した場合。

意図的にエッジを残したい場合には、このオプションを外してください

形状を丸めるとサブディビジョンサーフェイス

上で述べたように、形状を丸めるのオプションはサブディビジョンサーフェイスと同じアルゴリズムでオブジェクトを丸めます。したがって場合によっては、従来サブディビジョンサーフェイスを使って表現していた形状を、サブディビジョンサーフェイスなしにSPDだけで表現できるでしょう。SPDで丸めた方が効率よくレンダリングできます。また、サブディビジョンサーフェイスを適用したオブジェクトにさらにSPDを適用することもできます。ただし、この場合はHyperNURBSで細分化したオブジェクトを、さらにSPDで細分化することになります。ポリゴン数が多くなりすぎないように気をつけてください。

角を丸める

このオプションを選択すると、開いたポリゴンの角(隣り合うポリゴンがないエッジ)が丸められます。角を丸めたくない場合には、このオプションを外してください。たとえば下の図で、正方形の角を残したまま凹凸をつけたい場合などは、このオプションを外します。

左は角を丸めるオプションを適用した場合、右は外した場合。

丸めた後でマップする

このオプションは、SPDの元となるテクスチャを丸めたオブジェクトに投影するかどうかを指定します。多くの場合は、このオプションを選択した方が自然な結果となり、問題が生じません。

ただし、このオプションを適用すると計算が10%程遅くなります。また、SPDに使うテクスチャの全てをオブジェクト上に表示させたい場合もあります。そのような場合は、このオプションを外してください。

左下は変形させる前のオブジェクト。左は丸めた後でマップするオプションを適用した場合。右は外した場合。

この例では、1個の四角ポリゴンにSPDが適用されていて、形状を丸めると角を丸めるの両方のオプションが選択されています。上図の左はより自然な結果で、ノイズの密度は角の部分で変化していません。これは模様のついた紙の角を切り取った状態に似ています。これに対して、上図の右では形状を丸める前にテクスチャが適用されているため、角の部分でノイズの密度が高くなっています。これは模様のついたビニールの角を熱っし、収縮させたのに似ています。

変位後にマップする

このオプションを使って、テクスチャが投影されるタイミングを調整します。:

サブポリゴン変位の前(このオプションがオフの場合)

サブポリゴン変位の後(このオプションがオンの場合)

さてこれは正確には何を意味するのでしょうか? この説明は次の通りです。サブポリゴン変位(SPD)は全く新しい形状を作り上げます。そのために、他のマテリアルチャンネル(カラーやバンプなど)を変位前に投影するのか、それとも変位後に投影するのかをCinema 4Dが把握していなければならないのです。また、使用するシェーダやビットマップ、投影法によっては、豊かな効果を引き出すことができます。この後に続く例では、平面オブジェクトにテクスチャが適用されています。

投影法次第で、多様な効果が可能。左は「変位後にマップする」をオフにした場合。右はオンにした場合。

立方体投影(上図参照)を使用した場合、変位後にマップするオプションの効果が明らかに見て分かります。その一方で、UVWマッピングを使用した場合には、このオプションのオン/オフに関係なくその結果は全く同じです。SPDはUV座標を変更しないので、このような結果が出ます。

ところが3Dベースのシェーダ(ノイズ、錆、木材など)を使った場合には、全く異なる結果になります。これらのシェーダはUV座標に従う必要がありません。ですから「変位後にマップする」オプションがオンの場合には、たとえ極端に変位した立体側面上でも、歪曲していないテクスチャを貼り付けることが可能です(次の例を参照)。

3Dのシェーダ(ノイズ)。左は「変位後にマップする」オプションをオフにした場合。右はオンにした場合。

一般的に、変位がアニメートされる場合にはこのオプションをオフにしてください(ただし標準となる位置や回転、アニメーションに対して使用する場合は、申し分ありません)。なぜなら、テクスチャが飛んでしまうことがあるからです。ただしシーンによっては、このような問題が発生しない場合もあります。ですからこの機能を理解するには(この機能に限らず一般的に言われることですが)、「試してみる」ことが最良の方法です。

シャープエッジを維持

左から右へ順に、元のエッジを保存オプションを適用した場合、外した場合、そのまま分割数を下げた場合。

このオプションが選択されている場合、Phongタグで指定したスムージング角度以上に折れているエッジや、シャープエッジが、SPDを適用した後でも同じようにシャープに描画されます。このオプションを外した場合、全てのエッジはスムーズに表示されます。

このオプションは、形状を丸めるオプションに関係なく働きますが、形状を丸めるオプションを外した場合にはっきりとわかります。なぜなら、形状を丸めた場合全てのエッジが平面に近く開いてしまい、シャープにしてもスムージングしても変わらなくなってしまうからです。

法線方向に押し出す

左は法線方向に押し出すオプションを働かせた場合、右は外した場合。

上の例からわかるように、法線方向に押し出すオプションを選択すると、ポイントを押し出す方向がスムージングされた法線方向になります。つまり、ポリゴンの中央部では面に垂直に押し出されますが、エッジに近い部分では、隣のポリゴンの影響を受けた結果傾いて押し出されます。これは、スムージングによって法線が傾いているためです。

このオプションを外した場合、ポイントは常にポリゴンに垂直な方向に押し出されるようになります。ただし、変位のタイプが「強度」か「強度(中心)」でない場合は、外さないことをお勧めします。このオプションを外した場合の問題点は、上図の右からわかるようにエッジ周辺のポイントが二つの方向に押し出され、結果的に先端が拡がってしまうことです。ボーグの宇宙船を作りたい場合にはこのオプションを入れておいた方がいいでしょう。

形状を丸めている場合、法線は常に面に垂直になるので、このオプションは選択できません。