Default Shader

「Default Shader」の編集履歴(バックアップ)一覧はこちら

Default Shader」(2022/10/26 (水) 14:56:45) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#image(Default_shader_01.jpg) Node Type: Surface Shader *ノード説明と目的: 『Default Shader』は、主にサードパーティ製アプリケーションからインポートした3Dアセットで使用するために設計されています。非常に柔軟性の高いシェーダで、新しいサーフェスマテリアルを定義したり、既存のテクスチャマップをその属性に割り当てる事が出来ます。Terragen 4.5のリリースに伴い、シェーダの設定、タブ、レイアウトが更新され、物理ベースのレンダリング(Physically Based Rendering=PBR)モデルに基づいたメタリック(金属)/ラフネス(粗さ)/スペキュラ(鏡面)/グロシネス(光沢)のワークフローとの互換性を最大化しました。 以前のバージョンと同様に、シェーダの共通部分の多くは、"Base colour"、"Colour image"、"Colour function"の設定などグループ化されています。以下の例のように、カラーコンポーネントの値が互いに掛け合わされて最終的な色が決定される事を理解しておく事が重要です。最終的なサーフェスの色は、"Base colour"、"Colour image"、"Colour function"の3つのパラメータに基づきます。 数学的には次のようになります。 &image(Default_shader_01_01.jpg,width=800,height=697) UVマップされたキャラクター、ヒーローオブジェクト、Megascansオブジェクトなど、アセットに"final colour"の値を含むテクスチャマップを適用する場合は、"Base colour"の値を1.0に設定する必要があります。"final colour"の値を暗くしたり色合い変えたりしたい場合は、必要に応じて"Base colour"を変更する事が出来ます。 このノードの多くのアスペクトは、関連パラメータのグループで構成されています。例えば、拡散色アスペクトは、色(Base colour)、画像ファイル(Colour image)、ファンクション(Color function)に関するパラメータを備えています。これらのパラメータはすべて連携して、関連する特定のアスペクト、この場合は拡散色をコントロールします。 これは予期しない事が出来る含意を持っています。例えば、植物モデルの葉のポリゴン上に葉の画像をマッピングするために、拡散色に画像を使用するとします。画像の本来の色を再現するには、"Base colour"を白に設定する必要があります。他の色に設定されている場合、その色は画像の色に影響します。"Base colour"を赤に設定したとしましょう。これにより、画像の色が赤くなります。この作用の利用法として、画像よりもより青々とした葉にしたい時や、画像が明る過ぎると思った場合は、グレーにして暗くする事が出来ます。 概して言えば、あなたは各アスペクトの異なるパラメータが互いに相互作用する事を覚えておく必要があります。これはシェーダを多目的にしますが、その仕組みを理解するまでは、一度にたくさんの変更を加えるのではなく、一段階ごとに変更を加えてプレビューをレンダリングしてどのような効果があるのかを確認してみて下さい。 下記は、シェーダのさまざまなアスペクトに一般的に適用されるいくつかの秘訣です: -ベースカラーを指定します --"Base colour"のカラーパレットで色を選択します。 --"image"と"function"パラメータには何も指定しないで下さい。 -画像を使用して画像から直接色を取得する場合 --"Colour image"で、画像パラメータのあるファイルを選択して下さい。 --"Base colour"は白に設定します。 --"function"パラメータには何も指定しないで下さい。 -シェーダ、Functionから直接色を取得する場合 --"Colour function"にシェーダまたはFunctionを関連付けます。 --"Base colour"は白に設定します。 --"image"パラメータには何も指定しないで下さい。 -画像またはFunctionを使用して色の表示場所をコントロールする場合 --"Base colour"のカラーパレットで色を選択します。 --グレースケール画像またはFunctionを指定して下さい。指定された色のより多くは、画像またはFunctionで関連付けた色がより明るい所に現れます。白は指定した本来の色、黒は色なし(真っ黒)を意味します。 -"function"で『Image map shader』から画像ファイルを読込む場合 --"Colour function"は、ガンマ補正を必要とするので「Colour」タブの"Convert to linear"にチェックを入れます。 --それ以外の"Specular"、"roughness"、"Displacement(Bump)"の画像は"Data is linear"にチェックを入れます。これは、物理的な属性を表す純粋なマテリアルとして扱う事を意図しています。 **設定 ***Colourタブ |&bold(){Base colour}|ベースカラー|メタリック/ラフネスワークフローでは、ベースカラーを使用して、金属と非金属の両方の色(アルベド)を定義する事が出来ます。金属表面には、ベースカラーを主な反射色として使用する鏡面反射があります。非金属表面には、ベースカラーを拡散反射として使用する拡散ベースレイヤーがあります。&br()スペキュラ/グロシネスワークフローでは、ベースカラーを使用して拡散カラーのみを設定します。このワークフローでは、拡散反射率のない未加工の金属表面の場合、ベースカラーを0.0に設定する必要があります。未加工の金属表面に付着した汚れや垢を含む非金属表面の場合、色の値は拡散マテリアルの色を表します。&br()"image"や"function"で関連付けた色に被せる事も出来るので、色調をコントロールする時にも役立ちます。&br()&image(Diffuse_colour.jpg,width=750,height=211)&br()このサンプル画像は、"Colour image"で読み込んだ画像の葉の色調を変更しました。木の実については画像を用いずに、"Base colour"を朱色に設定しただけのものです。&br()"Base colour"でコントロールするスライダーの数値は、アルベドとしても扱い、1は天体の外部からの入射光に対する、反射光の比が100%を意味し、地球上をシミュレートをする場合はおよそ0.7が実際に近い数値となります。&br()[[アルベド - Wikipedia>https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%83%99%E3%83%89]]| |&bold(){Colour image}|拡散色画像|この設定では、画像マップをサーフェスのカラーチャンネルに割り当てる事が出来ます。画像マップは、[Images]タブで定義された通りにサーフェスに投影されます。&br()&image(Colour image.jpg,width=450,height=253)&br()"Base colour"で緑色を指定した葉と、"Colour image"によって赤枠で囲まれた画像を指定した葉を比較しています。&br()&image(Colour image-02.jpg,width=750,height=211)&br()"image"に直接画像ファイルを設定すると、通常UVマッピングによる一枚の画像でオブジェクトを包むこみますが、UV値を持たないオブジェクトは読込んだ画像を連続して並べる事でマッピングを行います。ビルドインオブジェクトでは、"Cube"、"Disk"、"Sphere"がそれに当たります。UV値を持たないオブジェクトに画像をマッピングするには、下の"Colour function"を使用する必要があります。&br()&image(Cube.jpg,width=450,height=253)&br()TGのビルドインオブジェクトの"Cube"にテクスチャを貼り付けると予期せぬ結果になる場合があるので、シーンにキューブのオブジェクトが必要な場合は他3Dソフトウエアで単純なキューブ状のオブジェクトを作成し、OBJ形式でエクスポートしたものを『Obj reader』で読み込んで使用する事をお勧めします。ただし、ビルトインのオブジェクトがベクトル計算上作成されるためデータサイズが小さいのに対し、直接読込んだオブジェクトファイルを使うと、データサイズ、メモリの使用量は大きくなります。| |&bold(){Colour function}|カラー関数|この設定では、拡散色を生成するためのFunctionやシェーダ使って、サーフェスのカラーチャンネルに割り当てる事が出来ます。上記の"Colour image"は直接画像ファイルを読込むのに対し、こちらはノードツリーを構成する事で画像の混合や色調のコントロール、また、"Sphere"などの球体オブジェクトに投影によって適切にマッピングする事の出来る『Image map shader』を使うのが一般的です。| |&bold(){Translucency}|半透明|半透明とは、サーフェスを透過する光のフィルタリング効果の事です。デフォルトは0で、透過はまったくありません。例えば、葉のテクスチャに半透明を使用して、光が通過するようにシミュレートする事が出来ます。これは不透明度と同意義ではありません。半透明の3つの設定を掛け合わせて、サーフェスの最終的な半透明を決定します。&br()半透明の値は、サーフェスの半透明の量を指定し、"Translucency image"と"Translucency function"の設定の乗算器として機能します。値が1の時、光源の正反対側面のサーフェスが、光源に直接面している場合と同じ明るさになります。マテリアルによっては1を超えるものが現実的かもしれませんが、微視的に薄いサーフェス(葉など)上では非常に限られたマテリアル(つまり、とても薄く、あまり反射せずに散乱するだけ)です。より正確的に設定するならば、葉は常に1以上にすべきではありません。また、値を8に設定すると、オブジェクトの影となる面は光源が直射している面の8倍の明るさになります。半透明性については、[[半透明]]で詳しく説明しています。&br()この半透明の使用には現在落とし穴があります。マテリアルが100%半透明の場合(例えばポリカーボネートのようなマテリアル)は、現行のバージョン(TG4.4)では50%よりも明るい色を使用しないで下さい。現実において、サーフェスに残留する光の量は、そこに当たる量を超える事は出来ません(それが発光性/放射性でない限り)。半透明は拡散色の割合として機能し、それをサーフェスの反対側に伝達して合計に加算します。例えば:&br()100%の白い拡散、0%の半透明の合計: 100% + 0% = 100%&br()100%の白い拡散、50%の半透明の合計: 100% + 0% = 150%(これは現実的に在りえません)&br()100%の総出力で物理的に正しく保つ設定方法の例:&br()1.0拡散、0.0半透明&br()0.8拡散、0.25半透明 (0.8 + 0.8 x 0.25 = 1.0)&br()0.75拡散、0.33半透明 (0.75 + 0.75 x 0.33~= 0.998)&br()0.66拡散、0.5半透明 (0.66 + 0.66 x 0.5 = 0.99)&br()0.6拡散、0.66半透明 (0.6 + 0.6 x 0.66 = 0.996)&br()0.55拡散、0.8半透明 (0.55 + 0.55 x 0.8 = 0.99)&br()0.5拡散、1.0半透明 (0.5 + 0.5 x 1.0 = 1.0)&br()これらを考慮しないと問題が発生します。複数回の光の跳ね返りは、過度の明るさをもたらし、はるかに大きな過剰光になります。これは奇妙に見えるだけでなく、画像内のノイズも増加させます。&br()将来のバージョンでは、半透明のコントロールにチェックボックスを追加して、光が当たる拡散を自動的に減らすようにするための"Physically correct(物理的に正しい)"、"Physically correct diffuse/translucent balance(物理的に正しい拡散/半透明のバランス)"のいうチェックボックスパラメータが追加されるかも知れません。&br()&image(Translucency.jpg,width=750,height=211)&br()[[Topic: Another RT/PT comparison>https://planetside.co.uk/forums/index.php/topic,26401.0.html]]| |&bold(){Translucency image}|半透明画像|画像マップを割り当てて、サーフェス上の半透明の量と位置をコントロールする事が出来ます。&br()&image(Translucency_image.jpg,width=750,height=211)&br()サーフェスに光が透過する過程をシミュレートし、テクスチャを貼り付けた裏面の透過度と明るさを半透明画像によってコントロールする事が出来ます。| |&bold(){Translucency function}|半透明関数|シェーダやFunctionノードを割り当てて、サーフェス上の半透明の量と位置をコントロールする事が出来ます。| |&bold(){Luminosity}|光度|光度は、サーフェスの自己照明または発光の効果を与えます。値が大きい程光度は増し、周辺への光の影響を及ぼします。光度パラメータの使用に関する詳細については、『Surface Layer』の「Luminosity」タブを参照して下さい。&br()&image(Luminosity.jpg,width=750,height=211)&br()この設定では、カラーピッカーウインドウにアクセスして、サーフェスの光度の色または量(グレースケール)を指定する事が出来ます。調整スライダーを使用し、光度のレベルを調整する事が出来ます。| |&bold(){Luminosity image}|光度画像|画像マップを割り当てて、サーフェス上の光度の位置と量をコントロールする事が出来ます。&br()&image(Luminosity_01.jpg,width=750,height=211)&br()例えば夕闇に紛れて偵察ドローンを飛ばした場合、光度に何も設定がないと黒い物体(画像左)でしかありません。そこで、"Luminosity"を単に数値を入れてもオブジェクト全体が発色してしまいます(画像右)。&br()&image(Luminosity_02.jpg,width=750,height=211)&br()"Colour image"で設定したテクスチャ画像の発行部分のみを残し他を黒で埋める事で、指定部分にのみ光度を生み出す事が出来ます(画像左)。画像右は"Colour image"で設定した画像のハイライト部分を編集し、ドローン全体を発光させてみたサンプルです。| |&bold(){Luminosity function}|光度関数|シェーダまたはFunctionノードを割り当てて、サーフェス上の光度の位置と量をコントロールする事が出来ます。| ---- ***Roughnessタブ #image(Roughness_01.jpg) このタブでは、サーフェスの滑らかさをコントロールします。すべての設定を掛け合わせて算定し、最終的なラフネスの値を決定します。結合された値が0になると、完全に滑らかなサーフェスが得られ、反射はシャープで鏡のようになります。粗いサーフェスは、1.0に近い値の結果となり、反射がよりぼやけて見えるようになります。 |&bold(){Roughness}|ラフネス|値を0に近づけるほど滑らかなサーフェスになり、1.0に近づけるほど粗いサーフェスの設定になります。このパラメータは、反射されたハイライトがどの程度フォーカスされるかをコントロールします。値が小さいとハイライトが小さく、シャープで焦点を合わせています。値が大きくなるにつれて反射は柔らかくなり、より広がります。&br()ラフネスの名前の由来は、サーフェスに小さな面が分割され、面のそれぞれが光を反射するようにスペキュラハイライトがシミュレートされるという事実から来ています。ラフネスが小さいと、面のより多くにサーフェス法線の方向が向けられ、サーフェスがより完全な鏡のように作用するため、極小の鋭利な反射をします。 ラフネスが増すにつれて、刻まれた面はサーフェス法線に相対的により多くの方向を向きます。これにより、サーフェスが非常に小さいスケールで粗くなり、反射やハイライトがより柔らかくぼやけて見えます。&br()&image(800px-Wiki_DefShdr_133-2_RoughnessGreenYellowGold.jpg,width=750,height=257)| |&bold(){Roughness image}|ラフネス画像|この設定では、ラフネスに使用する画像ファイルを指定する事が出来ます。これは読込んだ画像によってコントロールされるため、スライダーは単純な乗数になり、オブジェクトにどの程度「光沢がある」ように見せたいかに影響を与えます。この数値を最大の0.8にする事で、ラフネス画像内の白いものは非常に広い鏡面反射を与え、暗いものは非常にきつい鏡面反射を与えることを意味します。&br()&image(Roughness_image.jpg,width=450,height=253)&br()画像ファイルを使用する事で、任意のエリアにのみラフネス効果を与える事が出来ます。また、ラフネス画像を作成する際、グレー濃度を調整する事で反射時のラフネス効果をコントロールする事も出来ます。| |&bold(){Invert (gloss map)}|反転|チェックを入れる事で、"Roughness image"に割り当てられた画像が反転し、これにより、ラフネス画像をグロスマップや光沢マップとして使用する事が出来ます。すでにグロスマップ画像が用意されている場合は、グロスマップを"Roughness image"に設定しますが、用意されていない場合、ラフネスマップをこの"Invert (gloss map)"にチェックを入れる事で、反射マップや鏡面マップとして使用することを目的としていませんが、ラフネスマップの反転として使用する事が出来ます。この場合、全体の"Roughness"のパラメータ値をおよそ0.8に増やす事をお勧めします。&br()通常、マップ画像の50%グレーはsRGBカラースペースでは50%グレーのように見えますが、リニアカラー空間では50%グレーではありません。&br()&image(gamma_vs_Linear.jpg,width=246,height=232)&br()8ビット(または24ビットRGB)画像を『Default Shader』に読み込むと、その画像はsRGB色空間にあると見なされ、1 / 2.2のガンマ補正が適用されて、ほぼリニアカラー空間に変換されます。シェーダで有効にした反転オプションは、この変換後に発生します。Photoshopで8ビット画像を反転すると、まったく異なる結果が得られます。『Default Shader』では自動で行われるガンマ補正は2.2で固定であるため、補正値を変更したい場合は、"Roughness function"で『Image map shader』を使用する必要があります。&br()&image(Invert_specular_roughness.jpg,width=506,height=253)&br()Terragen 4.5以降は"Remap ^2"で対応しているようです。| |&bold(){Remap ^2}|リマップ|画像内の値を二乗することでラフネス曲線を変更します。これにより、多くのサードパーティ製PBRシェーダとの互換性が向上します。"Invert (gloss map)"にチェックを入れると、反転の後に二乗が行われます。| |&bold(){&bold(){Gamma (deprecated)}}|ガンマ|チェックを入れる事で、"Roughness image"で割り当てられた画像は sRGB 色空間(カラーマネージメントが有効な場合は他の空間)にあり、リニア色空間に変換する必要があると想定されます。この設定は非推奨であり、将来のバージョンでは削除されます。| |&bold(){Roughness function}|ラフネス関数|この設定では、シェーダまたはFunctionノードを割り当てて、サーフェスのラフネスの値を決定する事が出来ます。| |&bold(){Specular roughness model}|スペキュララフネスモード|このポップアップメニューには、サーフェスで使用するスペキュララフネスモデルのタイプを選択するための3つのオプションがあります。&br()&bold(){Beckmann TG 2}: Beckmann TG 2は、古いバージョンのTerragenで作成されたプロジェクトとのレガシーおよび下位互換性があります。このオプションは、他のオプションほど物理的に正しくありません。ラフネスが高い場合、環境/間接光の反射を過大評価し(セルフシャドウイング(自己遮蔽)を無視)、直接光の反射を過小評価します。&br()&bold(){Beckmann TG 4.5}: Beckmann TG 4.5は、Beckmann TG 2と同様にBeckmannマイクロファセット(粗面の拡散反射の反射率を近似する)分布を使用しますが、より物理的に正しくするためにいくつかの改良が加えられています。反射エネルギーは、直接光と環境/間接光の間でより一貫しています。また、ラフネスが高い場合は多重散乱の高速近似を使用しており、ベースカラー(メタルの場合)とフレネル設定(メタルと非メタルの両方)に応じてより多くの光を反射します。これは、ラフネスが高い場合にメタルの彩度を高める効果があります。直接光の場合は、ラフネスが高いときに「丸みを帯びた」減衰を生成するシャドウイングマスキング機能(光源からやってくる光がどの程度遮蔽されるか、また視点から物体表面がどの程度遮蔽されるのかを表す)を使用しています。&br()&bold(){GGX}: GGXは、GGXマイクロファセット分布とシャドウイングマスキング機能を使用します。これにより、ラフネスが高い場合にはハイライトの後尾が長くなり、より拡散反射に近くなります。これにより、ラフネスやグロスネスマップを使用する時に、より予測しやすくなります。また、GGXの実装では、ラフネスが高い場合に多重散乱の高速近似を使用しており、ベースカラー(メタルの場合)とフレネル設定(メタルと非メタルの両方)に応じてより多くの光が反射されます。これは、ラフネスが高い場合にメタルの彩度を高める効果があります。GGXは新規プロジェクトのデフォルトのオプションですが、既存のプロジェクトは下位互換性のために独自のモデルが読み込まれます。&br()&image(Specmodels_v2_Dielectric_TopLit.jpg,width=800,height=716)&br()&image(Specmodels_v2_Conductive_FrontLit.jpg,width=800,height=475)&br()&image(Specmodels_v2_Conductive_TopLit.jpg,width=800,height=475)| ---- ***Specularタブ #image(Default_shader_specular.jpg) 「Specular」タブには、シェーダの鏡面性や反射に影響を与える設定が含まれています。これらの設定は、基本的にはサーフェスの光沢をコントロールするためのものです。ハイライトはサーフェス上に作成されます。これらのハイライトは、光がサーフェスに当たる角度と視点方向に依存します。 このタブのパラメータを使用して、サーフェスをつや消し、または光沢に見せる事が出来ます。また、鏡面ハイライトの特性を変更して、サーフェスをプラスチック、メタル、ガラスのように見せる事も出来ます。 『Default Shader』には反射のみがあり、鏡面反射はレイトレースしません。同様に、透明度や屈折もありません。現在、レイトレース効果(屈折透明度、鏡面反射)は、Terragenレンダリングエンジンではやや特殊なケースとして扱われています。それらはより要求の厳しいレンダリング計算を必要とし、それ故に特定のシェーダに制限されます。将来的には、Terragenが完全なレイ/パストレースっ手法に向かって移行するにつれて、うまく統合されるでしょう。 デフォルトシェーダを基本シェーディングに使用した後に、レイトレースによる屈折透明度や鏡面反射の特性を追加する場合は、『Default Shader』が『Surface Shader』に入力する前に、『Glass Shader』や『Reflective Shader』を追加して下さい。 |&bold(){Metalness}|メタルネス|一般的に、サーフェスはメタルであるかメタルでないかのどちらかです。"Metalness"、"Metalness image"、"Metalness function"設定の合計(乗算)値は、メタルマテリアルの場合は常に1.0、非メタルの場合は0.0と算定する必要があります。 注意点として、グレースケール値は、メタルサーフェスに汚れや垢などの非メタルマテリアルが発生している場所を示すために使用する事が出来ます。&br()&image(Wiki_DefShdr_93_SpecularTab_Metalness0-1.jpg,width=750,height=85)| |&bold(){Metalness image}|メタルネス画像|この設定では、メタルネスに使用する画像ファイルを指定する事が出来ます。メタルにはsRGB色空間の白の画素値(255,255,255)を、非メタルには黒の画素値(0,0,0)を使用する必要があります。&br()&image(DefShdr_83_SpecularTab_MetalnessImageFracSplitBW.jpg,width=750,height=375)| |&bold(){Metalness function}|メタルネス関数|この設定では、シェーダーまたはFunctionノードを割り当てて、サーフェスのメタルネス値を決定する事が出来ます。値1.0(sRGB 255,255,255)はメタルマテリアルを示し、値0は非メタルマテリアルを示します。| |&bold(){Fresnel reflectivity}|フレネル反射率|フレネル効果によると、あるサーフェスから反射される事で見る事が出来る光の総量は、それを知覚できる視野角に依存しています。この典型的な例として、水辺での反射です。水面に対し垂直に真っ直ぐ見下ろした場合、水の底の地形まで見る事が出来ます。これは、0度またはF0(光がサーフェスに真っ直ぐまたは垂直に(0度の角度で)当たると、その光の一部が鏡面反射として反射されます。サーフェスの屈折率(IOR)を使用して、反射される量を導き出す事が出来ます。これをF0(フレネルゼロ)と呼びます。サーフェスに屈折する光の量は、1–F0と呼ばれます。)と見なされます。水面に垂直に、地平線に向かって外を見つめると、水面に反射した空がより強く見えます。PBRシェーディングモデルでは、90度の入射角で反射がほぼ100%になります。参照[[PBR Guide 2018 version.pdf>https://academy-api.substance3d.com/courses/b6377358ad36c444f45e2deaa0626e65/attachments/2b57526e-4bf3-4fd6-ae88-e9a9313a35cc]]の31ページ。&br()&image(6885ad69-0e64-4011-be2e-144024ebc182.jpg,width=750,height=364)&br()この設定では、フレネル効果の強度を設定します。Terragen 4.5ではデフォルトは0.75です。このパラメータは"Fresnel reflectivity"の色と"Fresnel reflection tint"の色に対するフィルタのように機能します。白は全反射を意味します。黒は反射が無い、つまり完全につや消しのサーフェスを意味します。&br()反射色では、R、G、Bの各チャンネルのサーフェスの反射率を個別にコントロールする事が出来ます。反射色を均等に適用したい場合は、反射色をグレー色に設定する必要があります。グレー以外の色を使用すると、反射色の各チャンネルは異なる影響を受けます。例えば、"Reflection tint"の色が純粋な緑(R = 0、G = 1、B = 0)で、"Reflections"の色が純粋な赤(R = 1、G = 0、B = 0)であるとします。この場合、サーフェスは反射しないはずです。色調のGチャンネルは、どの色でも唯一のもので、Gチャンネルの反射率によって0に設定されるためです。&br()特に必要な場合を除き、"Reflectivity"の色にはグレーの色調を使用するのが最善です。そうすれば効果が把握しやすくなります。&br()&image(800px-Wiki_DefShdr_134_SpecularTab_FresnelReflectivty_BlueBlackGrey.jpg,width=750,height=533)| |&bold(){Reflectivity image}|反射画像|この設定では、フレネル効果の強さやサーフェス上で見える場所に使用する画像ファイルを指定する事が出来ます。"Fresnel reflectivity"のサンプル画像最下段のように、グレースケール画像は反射を均等にコントロールしますが、カラー画像は反射の色調の各チャンネルに個別に影響します。"Fresnel reflectivity"が0の時は、影響を与える事は出来ません。&br()&image(Reflectivity_image.jpg,width=750,height=211)&br()左画像のオリジナルに対し、右画像は反射させたい部分を指定する画像を割り当てています。| |&bold(){Reflectivity function}|反射関数|この設定では、シェーダまたはFunctionノードを割り当てて、フレネル効果の強度と、それがサーフェス上のどこに見えるかをコントロールする事が出来ます。| |&bold(){Reflection tint}|反射の色調|この設定では、フレネル効果で定義された領域の反射光の色を着色する事が出来ます。反射の強さは、上記の"Fresnel reflectivity"パラメータによってコントロールされます。&br()&image(800px-Wiki_DefShdr_85-2_SpecularTab_FresmelReflectionTintOnWhite.jpg,width=750,height=85)| |&bold(){Index of refraction}|反射の屈折率|屈折率(IOR)は、別の媒体から屈折した光に影響を与える実世界のマテリアルの特性です。その名前にもかかわらず、特定の角度で表面から反射される光の量にも影響します。言い換えれば、フレネル方程式を使用して計算された反射率曲線を変化させます。『Default Shader』では、IOR設定は1以上である必要があります。IORが正確に1の場合、反射はありません。IORが1より大きい場合、ある程度の反射が発生し、IORが高いほど、反射が目立ちます。IORが1より大きい場合、光がサーフェスに平行に移動する視射角度で反射率は100%に近づきます(ただし、これは"Fresnel reflectivity"設定で変更でき、ラフネスによって反射率が低く見えるようになります)が、他の角度では、IORから計算された反射量が減少します。水のIORは、条件にもよりますが、通常約1.33前後で、ほとんどの種類のガラスは1.4から1.9の間です。マテリアルのIORがわからない場合は、ほとんどの場合1.5で十分です。フォトリアリスティックな結果を得るには、使用するマテリアルに正しいIORを適用してから、"Roughness"と"Metalness"を使用して反射率に大きな変更を加える事をお勧めします。&br()&image(800px-Wiki_DefShdr_94_SpecularTab_IORBlue.jpg,width=750,height=102)| ---- ***Displacementタブ #image(Default_shader_displacement.jpg) 「Displacement」タブでは、サーフェスに立体形状をコントロールする事が出来ます。ディスプレースメントの詳細については、『Surface Layer』の「Displacement」タブを参照して下さい。ディスプレースメントが適用されるのは、"Displacement image"設定で画像が指定されている場合と"Displacement function"設置でシェーダやFunctionノードが関連付けられている場合のみです。 公式wikiの[[ページ>https://www.planetside.co.uk/wiki/index.php?title=Default_Shader_4.5]]では、"Displacement direction"のサンプル画像が挙げられていますが、通常のオブジェクトの場合はサーフェスの法線ベクトルに沿って垂直になるため、真上に突起しません。例えば、『Planet』オブジェクトの場合、惑星の中心から大きく離れた球の表面は平面に見えます。その場合、あたかも垂直(真上)に突起しているように公式wikiのサンプル画像は作られています。 |&bold(){Displacement image}|ディスプレースメント画像|ディスプレースメントをコントロールするための画像ファイルを選択する事が出来ます。画像画素の輝度は変位を発生するために使用されます。&br()&br()&image(Displacement_image.jpg,width=750,height=211)| ディスプレースメントマップ画像と別に、バンプマップ画像が用意されている場合は"function"を使用して2つのマップ画像を使う事でさらにディティールを追加する事も出来ます。この2つの変位画像の扱いについては、将来のバージョンでデフォルト仕様として対応する予定です。 #image(Displacement_nodenetwork.jpg,width=500,height=172) #image(Displacement_image02.jpg,width=450,height=253) ---- ***Opacityタブ #image(Default_shader_opacity.jpg) 「Opacity」タブには、シェーダの不透明度に影響を与える設定があります。不透明度を半透明(Transparency)の反対であると捉えておくと理解しやすいでしょう。 |&bold(){Opacity}|不透明度|このパラメータは、シェーダの全体的な不透明度を設定します。値が1の場合、シェーダは完全に不透明となり、値が0の場合、画像が完全に透明である事を意味します。&br()&image(800px-Wiki_DefShdr_107_OpacityTab_Opacity0-1.jpg,width=750,height=68)| |&bold(){Opacity image}|不透明画像|不透明度をコントロールするための画像ファイルを選択する事が出来ます。&br()&image(Opacity_image.jpg,width=750,height=211)&br()Terragen 4.5以前は対応していなかったグレースケーにも対応し、不透明度のレベルは画像のピクセルの輝度で決まります。&br()&image(Wiki_DefShdr_108_OpacityTab_OpacityImageCheckersBW.jpg,width=750,height=375)| |&bold(){Use alpha channel}|アルファチャンネルを使用|チェック時、カラーチャンネルではなく、指定された画像ファイルのアルファチャンネルを不透明度として使用します。&br()RGBチャンネルまたはグレースケールチャンネルに不透明度情報を含む専用の透明度/不透明度画像がある場合(判断はユーザに委ねられますが)、このパラメータを使用しないで下さい。例えば独自のアルファチャンネルを持つ拡散色画像があるとして、不透明度情報がアルファチャンネルに保存されている場合は、それが使用されまます。&br()&image(Use_alpha_channel.jpg,width=190,height=327)| |&bold(){Invert opacity image}|不透明画像の反転|チェック時、不透明度画像の白/黒が反転します。上記画像を例にとると、葉っぱの形状がくり貫かれた形になります。&br()&image(Invert_opacity.jpg,width=450,height=253)| |&bold(){Opacity function}|不透明関数|不透明度をコントロールするためのシェーダやFunctionノードを割り当てて、サーフェスの不透明度レベルを決定します。| |&bold(){Alpha from colour}|拡散色からアルファ|チェック時、シェーダは"Colour image"パラメータで指定された画像や"Colour function"パラメータに接続されたシェーダからの色に基づいて不透明度を生成します。不透明度に使用される色は、アルファキーパラメータで設定されます。&br()半透明や不透明画像をしている場合は、このパラメータを使用しないで下さい。これは、グリーンスクリーンやブルースクリーンのキーヤーのように機能する特殊な仕掛けです。不透明度マップ画像がない場合の最後の手段として使用して下さい。&br()&image(Alpha_from_colour.jpg,width=750,height=211)&br()左画像は、拡散色と背景が同系の色なのでキーを設定してもなかなか上手く切り取る事が出来ません。| |&bold(){Alpha key}|アルファーキー|このパラメータは、不透明度を生成するために使用する色を設定します。例えば、緑色の領域を透明にしたい場合は、アルファーキーを緑色に設定します。| |&bold(){Key tolerance}|キーの許容範囲|"Alpha key"の設定で選択した色を、類似の色調を含むように拡張するための閾値をコントロールします。| ---- ***Imagesタブ #image(Default_shader_images.jpg) このタブには、シェーダの異なる面で使用される様々な画像に関する設定があります。 このタブには、このシェーダの設定に割り当てられた画像のグローバル設定が含まれています。すべての画像は同じグローバル設定設定を使用します。つまり、オブジェクトにUV座標があり、"Image projection"が"Object UV (if available)"に設定されている場合、このシェーダ内で使用されるすべての画像はオブジェクトのUV座標に投影されます。さらに調整が必要な場合は、『Default shader』ノードの下流に『Transform input』シェーダを適用する事が出来ます。 |&bold(){Image projection}|画像投影|このポップアップで、シェーダによる画像の投影または適用方法をコントロールする7つのオプションがあります。シェーダによって使用されるすべての画像は、このパラメータに従って投影されます。以下の投影オプションがあります:&br()-&bold(){Plan Y (edges = XZ)}: 画像はワールド空間のY軸に沿ってシーンの縦方向に投影され、画像は1メートルの縮図でタイル状になります。画像の調整には『Default shader』ノードの下流に『Transform input』シェーダノードを追加します。&br()-&bold(){Side X (edges = YZ)}: 画像はワールド空間のX軸に沿ってシーン内を水平に投影され、画像は1メートルの縮図でタイル状になります。画像の調整には『Default shader』ノードの下流に『Transform input』シェーダノードを追加します。&br()-&bold(){Size Z (edges = XY)}: 画像はワールド空間のZ軸に沿ってシーン内を水平に投影され、画像は1メートルの縮図でタイル状になります。画像の調整には『Default shader』ノードの下流に『Transform input』シェーダノードを追加します。&br()-&bold(){Through camera}: 画像は、"Projection camera"パラメータで指定したカメラを通して投影します。&br()-&bold(){Object UV (if available)}: 3DオブジェクトのUV座標があれば、それを使用して画像がマッピングされます。平面画像を不規則な形状のモデルに貼り付けるための方法であり、オブジェクトファイルの中に2D(平面)のUV座標を持っているインポートオブジェクトのために使用します。TGには UVマップを生成する機能がないため、外部ツール(たとえば『World Machine』など)を使用する必要があります。マップ座標が(x,y)に対して頂点座標は(u,v)で表します。UV座標はテクスチャの縦、横の幅を1とした時の比率で表記されます。&br()-&bold(){Cylindrical}: オブジェクトの周りの仮想円柱から円柱の中心軸に向かって画像が投影されます。円柱投影はオブジェクトを包み込む様な投影に有効ですが、平面、凹凸のあるオブジェクトには不向きです。&br()-&bold(){Spherical}: 球面投影はオブジェクトの周りの仮想円筒から円筒の中心軸に向かって投影されます。球体オブジェクトに対し歪みの無い投影を行いますが、オブジェクトの形状により円柱投影の方が汎用に扱う事が出来ます。&br()デフォルトは、"Object UV (if available)"が設定されています。| |&bold(){Projection camera}|投影カメラ|この設定で、"Projection type"が"Through camera"に設定されている時、画像投影に使用するカメラを割り当てる事が出来ます。既存のカメラを選択するか、新しいカメラを作成するには、フィールド右側にある割り当てボタン(&color(#008000){&bold(){+}})を使用します。画像の投影にのみ使用するカメラを作成する事が出来ます。このフィールドにどのカメラも設定されていない場合は、現在シーンをビューしている『Render Camera』が自動的に割り当てられます。| |&bold(){Unpremultiply colour}|アンプリマルチプライ拡散色|これらのチェックボックスはすべて、対応する画像パラメータに適用されます。例えば、"Unpremultiply colour"のチェックボックスは拡散色画像パラメータに適用されます。チェック時、使用する画像はアンプリマルチプライド処理を行います。いくつかの画像はプリマルチプライドアルファを使用し、それらがアンプリマルチプライドされていないのでなければ誤った結果を与えるかもしれません。画像にアルファチャンネルがない事が判っている場合はチェックの必要はありません。&br()これらの処理は、アルファチャンネルを使用してテクスチャを裁断した時に生じる柄際のフリンジを、縁をぼかしたり(プリマルチプライド処理)、くっきりさせたり(アンプリマルチプライド処理)する事で抑える効果が得られます。これらについては、「[Render layer]」の"コンポジター(合成)について"を参照して下さい。&br()&br()-Unpremultiply colour(色の非累乗): チェック時、[Colour]タブの"Colour image"設定に割り当てられた画像が累乗されません。&br()-Unpremultiply metalness(メタリックを非累乗): チェック時、[Specular]タブの"Metalness image"設定に割り当てられた画像が累乗されません。&br()-Unpremultiply translucency(半透明の非累乗): チェック時、、[Colour]タブの"Translucency image"設定に割り当てられた画像は累乗されません。&br()-Unpremultiply luminosity(光度の非累乗): チェック時、[Colour]タブの"Luminosity image"設定に割り当てられた画像は累乗されません。&br()-Unpremultiply reflectivity(反射度の非累乗): チェック時、[Specular]タブの"Reflectivity image"設定に割り当てられた画像が累乗されません。&br()-Unpremultiply roughness(ラフの非累乗): チェック時、[Roughness]タブの"Roughness image"設定に割り当てられた画像が累乗されません。| |&bold(){Unpremultiply metalness}|アンプリマルチプライメタルネス|~| |&bold(){Unpremultiply translucency}|アンプリマルチプライ半透明|~| |&bold(){Unpremultiply luminosity}|アンプリマルチプライ光度|~| |&bold(){Unpremultiply reflectivity}|アンプリマルチプライ反射|~| |&bold(){Unpremultiply roughness}|アンプリマルチプライ・ラフネス|~| ----
#image(Default_shader_01.jpg) Node Type: Surface Shader *ノード説明と目的: 『Default Shader』は、主にサードパーティ製アプリケーションからインポートした3Dアセットで使用するために設計されています。非常に柔軟性の高いシェーダで、新しいサーフェスマテリアルを定義したり、既存のテクスチャマップをその属性に割り当てる事が出来ます。Terragen 4.5のリリースに伴い、シェーダの設定、タブ、レイアウトが更新され、物理ベースのレンダリング(Physically Based Rendering=PBR)モデルに基づいたメタリック(金属)/ラフネス(粗さ)/スペキュラ(鏡面)/グロシネス(光沢)のワークフローとの互換性を最大化しました。 以前のバージョンと同様に、シェーダの共通部分の多くは、"Base colour"、"Colour image"、"Colour function"の設定などグループ化されています。以下の例のように、カラーコンポーネントの値が互いに掛け合わされて最終的な色が決定される事を理解しておく事が重要です。最終的なサーフェスの色は、"Base colour"、"Colour image"、"Colour function"の3つのパラメータに基づきます。 数学的には次のようになります。 Final colour = Base colour * Colour image * Colour function &image(Default_shader_01_01.jpg,width=800,height=697) UVマップされたキャラクター、ヒーローオブジェクト、Megascansオブジェクトなど、アセットに"final colour"の値を含むテクスチャマップを適用する場合は、"Base colour"の値を1.0に設定する必要があります。"final colour"の値を暗くしたり色合い変えたりしたい場合は、必要に応じて"Base colour"を変更する事が出来ます。 このノードの多くのアスペクトは、関連パラメータのグループで構成されています。例えば、拡散色アスペクトは、色(Base colour)、画像ファイル(Colour image)、ファンクション(Color function)に関するパラメータを備えています。これらのパラメータはすべて連携して、関連する特定のアスペクト、この場合は拡散色をコントロールします。 これは予期しない事が出来る含意を持っています。例えば、植物モデルの葉のポリゴン上に葉の画像をマッピングするために、拡散色に画像を使用するとします。画像の本来の色を再現するには、"Base colour"を白に設定する必要があります。他の色に設定されている場合、その色は画像の色に影響します。"Base colour"を赤に設定したとしましょう。これにより、画像の色が赤くなります。この作用の利用法として、画像よりもより青々とした葉にしたい時や、画像が明る過ぎると思った場合は、グレーにして暗くする事が出来ます。 概して言えば、あなたは各アスペクトの異なるパラメータが互いに相互作用する事を覚えておく必要があります。これはシェーダを多目的にしますが、その仕組みを理解するまでは、一度にたくさんの変更を加えるのではなく、一段階ごとに変更を加えてプレビューをレンダリングしてどのような効果があるのかを確認してみて下さい。 下記は、シェーダのさまざまなアスペクトに一般的に適用されるいくつかの秘訣です: -ベースカラーを指定します --"Base colour"のカラーパレットで色を選択します。 --"image"と"function"パラメータには何も指定しないで下さい。 -画像を使用して画像から直接色を取得する場合 --"Colour image"で、画像パラメータのあるファイルを選択して下さい。 --"Base colour"は白に設定します。 --"function"パラメータには何も指定しないで下さい。 -シェーダ、Functionから直接色を取得する場合 --"Colour function"にシェーダまたはFunctionを関連付けます。 --"Base colour"は白に設定します。 --"image"パラメータには何も指定しないで下さい。 -画像またはFunctionを使用して色の表示場所をコントロールする場合 --"Base colour"のカラーパレットで色を選択します。 --グレースケール画像またはFunctionを指定して下さい。指定された色のより多くは、画像またはFunctionで関連付けた色がより明るい所に現れます。白は指定した本来の色、黒は色なし(真っ黒)を意味します。 -"function"で『Image map shader』から画像ファイルを読込む場合 --"Colour function"は、ガンマ補正を必要とするので「Colour」タブの"Convert to linear"にチェックを入れます。 --それ以外の"Specular"、"roughness"、"Displacement(Bump)"の画像は"Data is linear"にチェックを入れます。これは、物理的な属性を表す純粋なマテリアルとして扱う事を意図しています。 **設定 ***Colourタブ |&bold(){Base colour}|ベースカラー|メタリック/ラフネスワークフローでは、ベースカラーを使用して、金属と非金属の両方の色(アルベド)を定義する事が出来ます。金属表面には、ベースカラーを主な反射色として使用する鏡面反射があります。非金属表面には、ベースカラーを拡散反射として使用する拡散ベースレイヤーがあります。&br()スペキュラ/グロシネスワークフローでは、ベースカラーを使用して拡散カラーのみを設定します。このワークフローでは、拡散反射率のない未加工の金属表面の場合、ベースカラーを0.0に設定する必要があります。未加工の金属表面に付着した汚れや垢を含む非金属表面の場合、色の値は拡散マテリアルの色を表します。&br()"image"や"function"で関連付けた色に被せる事も出来るので、色調をコントロールする時にも役立ちます。&br()&image(Diffuse_colour.jpg,width=750,height=211)&br()このサンプル画像は、"Colour image"で読み込んだ画像の葉の色調を変更しました。木の実については画像を用いずに、"Base colour"を朱色に設定しただけのものです。&br()"Base colour"でコントロールするスライダーの数値は、アルベドとしても扱い、1は天体の外部からの入射光に対する、反射光の比が100%を意味し、地球上をシミュレートをする場合はおよそ0.7が実際に近い数値となります。&br()[[アルベド - Wikipedia>https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%83%99%E3%83%89]]| |&bold(){Colour image}|拡散色画像|この設定では、画像マップをサーフェスのカラーチャンネルに割り当てる事が出来ます。画像マップは、[Images]タブで定義された通りにサーフェスに投影されます。&br()&image(Colour image.jpg,width=450,height=253)&br()"Base colour"で緑色を指定した葉と、"Colour image"によって赤枠で囲まれた画像を指定した葉を比較しています。&br()&image(Colour image-02.jpg,width=750,height=211)&br()"image"に直接画像ファイルを設定すると、通常UVマッピングによる一枚の画像でオブジェクトを包むこみますが、UV値を持たないオブジェクトは読込んだ画像を連続して並べる事でマッピングを行います。ビルドインオブジェクトでは、"Cube"、"Disk"、"Sphere"がそれに当たります。UV値を持たないオブジェクトに画像をマッピングするには、下の"Colour function"を使用する必要があります。&br()&image(Cube.jpg,width=450,height=253)&br()TGのビルドインオブジェクトの"Cube"にテクスチャを貼り付けると予期せぬ結果になる場合があるので、シーンにキューブのオブジェクトが必要な場合は他3Dソフトウエアで単純なキューブ状のオブジェクトを作成し、OBJ形式でエクスポートしたものを『Obj reader』で読み込んで使用する事をお勧めします。ただし、ビルトインのオブジェクトがベクトル計算上作成されるためデータサイズが小さいのに対し、直接読込んだオブジェクトファイルを使うと、データサイズ、メモリの使用量は大きくなります。| |&bold(){Colour function}|カラー関数|この設定では、拡散色を生成するためのFunctionやシェーダ使って、サーフェスのカラーチャンネルに割り当てる事が出来ます。上記の"Colour image"は直接画像ファイルを読込むのに対し、こちらはノードツリーを構成する事で画像の混合や色調のコントロール、また、"Sphere"などの球体オブジェクトに投影によって適切にマッピングする事の出来る『Image map shader』を使うのが一般的です。| |&bold(){Translucency}|半透明|半透明とは、サーフェスを透過する光のフィルタリング効果の事です。デフォルトは0で、透過はまったくありません。例えば、葉のテクスチャに半透明を使用して、光が通過するようにシミュレートする事が出来ます。これは不透明度と同意義ではありません。半透明の3つの設定を掛け合わせて、サーフェスの最終的な半透明を決定します。&br()半透明の値は、サーフェスの半透明の量を指定し、"Translucency image"と"Translucency function"の設定の乗算器として機能します。値が1の時、光源の正反対側面のサーフェスが、光源に直接面している場合と同じ明るさになります。マテリアルによっては1を超えるものが現実的かもしれませんが、微視的に薄いサーフェス(葉など)上では非常に限られたマテリアル(つまり、とても薄く、あまり反射せずに散乱するだけ)です。より正確的に設定するならば、葉は常に1以上にすべきではありません。また、値を8に設定すると、オブジェクトの影となる面は光源が直射している面の8倍の明るさになります。半透明性については、[[半透明]]で詳しく説明しています。&br()この半透明の使用には現在落とし穴があります。マテリアルが100%半透明の場合(例えばポリカーボネートのようなマテリアル)は、現行のバージョン(TG4.4)では50%よりも明るい色を使用しないで下さい。現実において、サーフェスに残留する光の量は、そこに当たる量を超える事は出来ません(それが発光性/放射性でない限り)。半透明は拡散色の割合として機能し、それをサーフェスの反対側に伝達して合計に加算します。例えば:&br()100%の白い拡散、0%の半透明の合計: 100% + 0% = 100%&br()100%の白い拡散、50%の半透明の合計: 100% + 0% = 150%(これは現実的に在りえません)&br()100%の総出力で物理的に正しく保つ設定方法の例:&br()1.0拡散、0.0半透明&br()0.8拡散、0.25半透明 (0.8 + 0.8 x 0.25 = 1.0)&br()0.75拡散、0.33半透明 (0.75 + 0.75 x 0.33~= 0.998)&br()0.66拡散、0.5半透明 (0.66 + 0.66 x 0.5 = 0.99)&br()0.6拡散、0.66半透明 (0.6 + 0.6 x 0.66 = 0.996)&br()0.55拡散、0.8半透明 (0.55 + 0.55 x 0.8 = 0.99)&br()0.5拡散、1.0半透明 (0.5 + 0.5 x 1.0 = 1.0)&br()これらを考慮しないと問題が発生します。複数回の光の跳ね返りは、過度の明るさをもたらし、はるかに大きな過剰光になります。これは奇妙に見えるだけでなく、画像内のノイズも増加させます。&br()将来のバージョンでは、半透明のコントロールにチェックボックスを追加して、光が当たる拡散を自動的に減らすようにするための"Physically correct(物理的に正しい)"、"Physically correct diffuse/translucent balance(物理的に正しい拡散/半透明のバランス)"のいうチェックボックスパラメータが追加されるかも知れません。&br()&image(Translucency.jpg,width=750,height=211)&br()[[Topic: Another RT/PT comparison>https://planetside.co.uk/forums/index.php/topic,26401.0.html]]| |&bold(){Translucency image}|半透明画像|画像マップを割り当てて、サーフェス上の半透明の量と位置をコントロールする事が出来ます。&br()&image(Translucency_image.jpg,width=750,height=211)&br()サーフェスに光が透過する過程をシミュレートし、テクスチャを貼り付けた裏面の透過度と明るさを半透明画像によってコントロールする事が出来ます。| |&bold(){Translucency function}|半透明関数|シェーダやFunctionノードを割り当てて、サーフェス上の半透明の量と位置をコントロールする事が出来ます。| |&bold(){Luminosity}|光度|光度は、サーフェスの自己照明または発光の効果を与えます。値が大きい程光度は増し、周辺への光の影響を及ぼします。光度パラメータの使用に関する詳細については、『Surface Layer』の「Luminosity」タブを参照して下さい。&br()&image(Luminosity.jpg,width=750,height=211)&br()この設定では、カラーピッカーウインドウにアクセスして、サーフェスの光度の色または量(グレースケール)を指定する事が出来ます。調整スライダーを使用し、光度のレベルを調整する事が出来ます。| |&bold(){Luminosity image}|光度画像|画像マップを割り当てて、サーフェス上の光度の位置と量をコントロールする事が出来ます。&br()&image(Luminosity_01.jpg,width=750,height=211)&br()例えば夕闇に紛れて偵察ドローンを飛ばした場合、光度に何も設定がないと黒い物体(画像左)でしかありません。そこで、"Luminosity"を単に数値を入れてもオブジェクト全体が発色してしまいます(画像右)。&br()&image(Luminosity_02.jpg,width=750,height=211)&br()"Colour image"で設定したテクスチャ画像の発行部分のみを残し他を黒で埋める事で、指定部分にのみ光度を生み出す事が出来ます(画像左)。画像右は"Colour image"で設定した画像のハイライト部分を編集し、ドローン全体を発光させてみたサンプルです。| |&bold(){Luminosity function}|光度関数|シェーダまたはFunctionノードを割り当てて、サーフェス上の光度の位置と量をコントロールする事が出来ます。| ---- ***Roughnessタブ #image(Roughness_01.jpg) このタブでは、サーフェスの滑らかさをコントロールします。すべての設定を掛け合わせて算定し、最終的なラフネスの値を決定します。結合された値が0になると、完全に滑らかなサーフェスが得られ、反射はシャープで鏡のようになります。粗いサーフェスは、1.0に近い値の結果となり、反射がよりぼやけて見えるようになります。 |&bold(){Roughness}|ラフネス|値を0に近づけるほど滑らかなサーフェスになり、1.0に近づけるほど粗いサーフェスの設定になります。このパラメータは、反射されたハイライトがどの程度フォーカスされるかをコントロールします。値が小さいとハイライトが小さく、シャープで焦点を合わせています。値が大きくなるにつれて反射は柔らかくなり、より広がります。&br()ラフネスの名前の由来は、サーフェスに小さな面が分割され、面のそれぞれが光を反射するようにスペキュラハイライトがシミュレートされるという事実から来ています。ラフネスが小さいと、面のより多くにサーフェス法線の方向が向けられ、サーフェスがより完全な鏡のように作用するため、極小の鋭利な反射をします。 ラフネスが増すにつれて、刻まれた面はサーフェス法線に相対的により多くの方向を向きます。これにより、サーフェスが非常に小さいスケールで粗くなり、反射やハイライトがより柔らかくぼやけて見えます。&br()&image(800px-Wiki_DefShdr_133-2_RoughnessGreenYellowGold.jpg,width=750,height=257)| |&bold(){Roughness image}|ラフネス画像|この設定では、ラフネスに使用する画像ファイルを指定する事が出来ます。これは読込んだ画像によってコントロールされるため、スライダーは単純な乗数になり、オブジェクトにどの程度「光沢がある」ように見せたいかに影響を与えます。この数値を最大の0.8にする事で、ラフネス画像内の白いものは非常に広い鏡面反射を与え、暗いものは非常にきつい鏡面反射を与えることを意味します。&br()&image(Roughness_image.jpg,width=450,height=253)&br()画像ファイルを使用する事で、任意のエリアにのみラフネス効果を与える事が出来ます。また、ラフネス画像を作成する際、グレー濃度を調整する事で反射時のラフネス効果をコントロールする事も出来ます。| |&bold(){Invert (gloss map)}|反転|チェックを入れる事で、"Roughness image"に割り当てられた画像が反転し、これにより、ラフネス画像をグロスマップや光沢マップとして使用する事が出来ます。すでにグロスマップ画像が用意されている場合は、グロスマップを"Roughness image"に設定しますが、用意されていない場合、ラフネスマップをこの"Invert (gloss map)"にチェックを入れる事で、反射マップや鏡面マップとして使用することを目的としていませんが、ラフネスマップの反転として使用する事が出来ます。この場合、全体の"Roughness"のパラメータ値をおよそ0.8に増やす事をお勧めします。&br()通常、マップ画像の50%グレーはsRGBカラースペースでは50%グレーのように見えますが、リニアカラー空間では50%グレーではありません。&br()&image(gamma_vs_Linear.jpg,width=246,height=232)&br()8ビット(または24ビットRGB)画像を『Default Shader』に読み込むと、その画像はsRGB色空間にあると見なされ、1 / 2.2のガンマ補正が適用されて、ほぼリニアカラー空間に変換されます。シェーダで有効にした反転オプションは、この変換後に発生します。Photoshopで8ビット画像を反転すると、まったく異なる結果が得られます。『Default Shader』では自動で行われるガンマ補正は2.2で固定であるため、補正値を変更したい場合は、"Roughness function"で『Image map shader』を使用する必要があります。&br()&image(Invert_specular_roughness.jpg,width=506,height=253)&br()Terragen 4.5以降は"Remap ^2"で対応しているようです。| |&bold(){Remap ^2}|リマップ|画像内の値を二乗することでラフネス曲線を変更します。これにより、多くのサードパーティ製PBRシェーダとの互換性が向上します。"Invert (gloss map)"にチェックを入れると、反転の後に二乗が行われます。| |&bold(){&bold(){Gamma (deprecated)}}|ガンマ|チェックを入れる事で、"Roughness image"で割り当てられた画像は sRGB 色空間(カラーマネージメントが有効な場合は他の空間)にあり、リニア色空間に変換する必要があると想定されます。この設定は非推奨であり、将来のバージョンでは削除されます。| |&bold(){Roughness function}|ラフネス関数|この設定では、シェーダまたはFunctionノードを割り当てて、サーフェスのラフネスの値を決定する事が出来ます。| |&bold(){Specular roughness model}|スペキュララフネスモード|このポップアップメニューには、サーフェスで使用するスペキュララフネスモデルのタイプを選択するための3つのオプションがあります。&br()&bold(){Beckmann TG 2}: Beckmann TG 2は、古いバージョンのTerragenで作成されたプロジェクトとのレガシーおよび下位互換性があります。このオプションは、他のオプションほど物理的に正しくありません。ラフネスが高い場合、環境/間接光の反射を過大評価し(セルフシャドウイング(自己遮蔽)を無視)、直接光の反射を過小評価します。&br()&bold(){Beckmann TG 4.5}: Beckmann TG 4.5は、Beckmann TG 2と同様にBeckmannマイクロファセット(粗面の拡散反射の反射率を近似する)分布を使用しますが、より物理的に正しくするためにいくつかの改良が加えられています。反射エネルギーは、直接光と環境/間接光の間でより一貫しています。また、ラフネスが高い場合は多重散乱の高速近似を使用しており、ベースカラー(メタルの場合)とフレネル設定(メタルと非メタルの両方)に応じてより多くの光を反射します。これは、ラフネスが高い場合にメタルの彩度を高める効果があります。直接光の場合は、ラフネスが高いときに「丸みを帯びた」減衰を生成するシャドウイングマスキング機能(光源からやってくる光がどの程度遮蔽されるか、また視点から物体表面がどの程度遮蔽されるのかを表す)を使用しています。&br()&bold(){GGX}: GGXは、GGXマイクロファセット分布とシャドウイングマスキング機能を使用します。これにより、ラフネスが高い場合にはハイライトの後尾が長くなり、より拡散反射に近くなります。これにより、ラフネスやグロスネスマップを使用する時に、より予測しやすくなります。また、GGXの実装では、ラフネスが高い場合に多重散乱の高速近似を使用しており、ベースカラー(メタルの場合)とフレネル設定(メタルと非メタルの両方)に応じてより多くの光が反射されます。これは、ラフネスが高い場合にメタルの彩度を高める効果があります。GGXは新規プロジェクトのデフォルトのオプションですが、既存のプロジェクトは下位互換性のために独自のモデルが読み込まれます。&br()&image(Specmodels_v2_Dielectric_TopLit.jpg,width=800,height=716)&br()&image(Specmodels_v2_Conductive_FrontLit.jpg,width=800,height=475)&br()&image(Specmodels_v2_Conductive_TopLit.jpg,width=800,height=475)| ---- ***Specularタブ #image(Default_shader_specular.jpg) 「Specular」タブには、シェーダの鏡面性や反射に影響を与える設定が含まれています。これらの設定は、基本的にはサーフェスの光沢をコントロールするためのものです。ハイライトはサーフェス上に作成されます。これらのハイライトは、光がサーフェスに当たる角度と視点方向に依存します。 このタブのパラメータを使用して、サーフェスをつや消し、または光沢に見せる事が出来ます。また、鏡面ハイライトの特性を変更して、サーフェスをプラスチック、メタル、ガラスのように見せる事も出来ます。 『Default Shader』には反射のみがあり、鏡面反射はレイトレースしません。同様に、透明度や屈折もありません。現在、レイトレース効果(屈折透明度、鏡面反射)は、Terragenレンダリングエンジンではやや特殊なケースとして扱われています。それらはより要求の厳しいレンダリング計算を必要とし、それ故に特定のシェーダに制限されます。将来的には、Terragenが完全なレイ/パストレースっ手法に向かって移行するにつれて、うまく統合されるでしょう。 デフォルトシェーダを基本シェーディングに使用した後に、レイトレースによる屈折透明度や鏡面反射の特性を追加する場合は、『Default Shader』が『Surface Shader』に入力する前に、『Glass Shader』や『Reflective Shader』を追加して下さい。 |&bold(){Metalness}|メタルネス|一般的に、サーフェスはメタルであるかメタルでないかのどちらかです。"Metalness"、"Metalness image"、"Metalness function"設定の合計(乗算)値は、メタルマテリアルの場合は常に1.0、非メタルの場合は0.0と算定する必要があります。 注意点として、グレースケール値は、メタルサーフェスに汚れや垢などの非メタルマテリアルが発生している場所を示すために使用する事が出来ます。&br()&image(Wiki_DefShdr_93_SpecularTab_Metalness0-1.jpg,width=750,height=85)| |&bold(){Metalness image}|メタルネス画像|この設定では、メタルネスに使用する画像ファイルを指定する事が出来ます。メタルにはsRGB色空間の白の画素値(255,255,255)を、非メタルには黒の画素値(0,0,0)を使用する必要があります。&br()&image(DefShdr_83_SpecularTab_MetalnessImageFracSplitBW.jpg,width=750,height=375)| |&bold(){Metalness function}|メタルネス関数|この設定では、シェーダーまたはFunctionノードを割り当てて、サーフェスのメタルネス値を決定する事が出来ます。値1.0(sRGB 255,255,255)はメタルマテリアルを示し、値0は非メタルマテリアルを示します。| |&bold(){Fresnel reflectivity}|フレネル反射率|フレネル効果によると、あるサーフェスから反射される事で見る事が出来る光の総量は、それを知覚できる視野角に依存しています。この典型的な例として、水辺での反射です。水面に対し垂直に真っ直ぐ見下ろした場合、水の底の地形まで見る事が出来ます。これは、0度またはF0(光がサーフェスに真っ直ぐまたは垂直に(0度の角度で)当たると、その光の一部が鏡面反射として反射されます。サーフェスの屈折率(IOR)を使用して、反射される量を導き出す事が出来ます。これをF0(フレネルゼロ)と呼びます。サーフェスに屈折する光の量は、1–F0と呼ばれます。)と見なされます。水面に垂直に、地平線に向かって外を見つめると、水面に反射した空がより強く見えます。PBRシェーディングモデルでは、90度の入射角で反射がほぼ100%になります。参照[[PBR Guide 2018 version.pdf>https://academy-api.substance3d.com/courses/b6377358ad36c444f45e2deaa0626e65/attachments/2b57526e-4bf3-4fd6-ae88-e9a9313a35cc]]の31ページ。&br()&image(6885ad69-0e64-4011-be2e-144024ebc182.jpg,width=750,height=364)&br()この設定では、フレネル効果の強度を設定します。Terragen 4.5ではデフォルトは0.75です。このパラメータは"Fresnel reflectivity"の色と"Fresnel reflection tint"の色に対するフィルタのように機能します。白は全反射を意味します。黒は反射が無い、つまり完全につや消しのサーフェスを意味します。&br()反射色では、R、G、Bの各チャンネルのサーフェスの反射率を個別にコントロールする事が出来ます。反射色を均等に適用したい場合は、反射色をグレー色に設定する必要があります。グレー以外の色を使用すると、反射色の各チャンネルは異なる影響を受けます。例えば、"Reflection tint"の色が純粋な緑(R = 0、G = 1、B = 0)で、"Reflections"の色が純粋な赤(R = 1、G = 0、B = 0)であるとします。この場合、サーフェスは反射しないはずです。色調のGチャンネルは、どの色でも唯一のもので、Gチャンネルの反射率によって0に設定されるためです。&br()特に必要な場合を除き、"Reflectivity"の色にはグレーの色調を使用するのが最善です。そうすれば効果が把握しやすくなります。&br()&image(800px-Wiki_DefShdr_134_SpecularTab_FresnelReflectivty_BlueBlackGrey.jpg,width=750,height=533)| |&bold(){Reflectivity image}|反射画像|この設定では、フレネル効果の強さやサーフェス上で見える場所に使用する画像ファイルを指定する事が出来ます。"Fresnel reflectivity"のサンプル画像最下段のように、グレースケール画像は反射を均等にコントロールしますが、カラー画像は反射の色調の各チャンネルに個別に影響します。"Fresnel reflectivity"が0の時は、影響を与える事は出来ません。&br()&image(Reflectivity_image.jpg,width=750,height=211)&br()左画像のオリジナルに対し、右画像は反射させたい部分を指定する画像を割り当てています。| |&bold(){Reflectivity function}|反射関数|この設定では、シェーダまたはFunctionノードを割り当てて、フレネル効果の強度と、それがサーフェス上のどこに見えるかをコントロールする事が出来ます。| |&bold(){Reflection tint}|反射の色調|この設定では、フレネル効果で定義された領域の反射光の色を着色する事が出来ます。反射の強さは、上記の"Fresnel reflectivity"パラメータによってコントロールされます。&br()&image(800px-Wiki_DefShdr_85-2_SpecularTab_FresmelReflectionTintOnWhite.jpg,width=750,height=85)| |&bold(){Index of refraction}|反射の屈折率|屈折率(IOR)は、別の媒体から屈折した光に影響を与える実世界のマテリアルの特性です。その名前にもかかわらず、特定の角度で表面から反射される光の量にも影響します。言い換えれば、フレネル方程式を使用して計算された反射率曲線を変化させます。『Default Shader』では、IOR設定は1以上である必要があります。IORが正確に1の場合、反射はありません。IORが1より大きい場合、ある程度の反射が発生し、IORが高いほど、反射が目立ちます。IORが1より大きい場合、光がサーフェスに平行に移動する視射角度で反射率は100%に近づきます(ただし、これは"Fresnel reflectivity"設定で変更でき、ラフネスによって反射率が低く見えるようになります)が、他の角度では、IORから計算された反射量が減少します。水のIORは、条件にもよりますが、通常約1.33前後で、ほとんどの種類のガラスは1.4から1.9の間です。マテリアルのIORがわからない場合は、ほとんどの場合1.5で十分です。フォトリアリスティックな結果を得るには、使用するマテリアルに正しいIORを適用してから、"Roughness"と"Metalness"を使用して反射率に大きな変更を加える事をお勧めします。&br()&image(800px-Wiki_DefShdr_94_SpecularTab_IORBlue.jpg,width=750,height=102)| ---- ***Displacementタブ #image(Default_shader_displacement.jpg) 「Displacement」タブでは、サーフェスに立体形状をコントロールする事が出来ます。ディスプレースメントの詳細については、『Surface Layer』の「Displacement」タブを参照して下さい。ディスプレースメントが適用されるのは、"Displacement image"設定で画像が指定されている場合と"Displacement function"設置でシェーダやFunctionノードが関連付けられている場合のみです。 公式wikiの[[ページ>https://www.planetside.co.uk/wiki/index.php?title=Default_Shader_4.5]]では、"Displacement direction"のサンプル画像が挙げられていますが、通常のオブジェクトの場合はサーフェスの法線ベクトルに沿って垂直になるため、真上に突起しません。例えば、『Planet』オブジェクトの場合、惑星の中心から大きく離れた球の表面は平面に見えます。その場合、あたかも垂直(真上)に突起しているように公式wikiのサンプル画像は作られています。 |&bold(){Displacement image}|ディスプレースメント画像|ディスプレースメントをコントロールするための画像ファイルを選択する事が出来ます。画像画素の輝度は変位を発生するために使用されます。&br()&br()&image(Displacement_image.jpg,width=750,height=211)| ディスプレースメントマップ画像と別に、バンプマップ画像が用意されている場合は"function"を使用して2つのマップ画像を使う事でさらにディティールを追加する事も出来ます。この2つの変位画像の扱いについては、将来のバージョンでデフォルト仕様として対応する予定です。 #image(Displacement_nodenetwork.jpg,width=500,height=172) #image(Displacement_image02.jpg,width=450,height=253) ---- ***Opacityタブ #image(Default_shader_opacity.jpg) 「Opacity」タブには、シェーダの不透明度に影響を与える設定があります。不透明度を半透明(Transparency)の反対であると捉えておくと理解しやすいでしょう。 |&bold(){Opacity}|不透明度|このパラメータは、シェーダの全体的な不透明度を設定します。値が1の場合、シェーダは完全に不透明となり、値が0の場合、画像が完全に透明である事を意味します。&br()&image(800px-Wiki_DefShdr_107_OpacityTab_Opacity0-1.jpg,width=750,height=68)| |&bold(){Opacity image}|不透明画像|不透明度をコントロールするための画像ファイルを選択する事が出来ます。&br()&image(Opacity_image.jpg,width=750,height=211)&br()Terragen 4.5以前は対応していなかったグレースケーにも対応し、不透明度のレベルは画像のピクセルの輝度で決まります。&br()&image(Wiki_DefShdr_108_OpacityTab_OpacityImageCheckersBW.jpg,width=750,height=375)| |&bold(){Use alpha channel}|アルファチャンネルを使用|チェック時、カラーチャンネルではなく、指定された画像ファイルのアルファチャンネルを不透明度として使用します。&br()RGBチャンネルまたはグレースケールチャンネルに不透明度情報を含む専用の透明度/不透明度画像がある場合(判断はユーザに委ねられますが)、このパラメータを使用しないで下さい。例えば独自のアルファチャンネルを持つ拡散色画像があるとして、不透明度情報がアルファチャンネルに保存されている場合は、それが使用されまます。&br()&image(Use_alpha_channel.jpg,width=190,height=327)| |&bold(){Invert opacity image}|不透明画像の反転|チェック時、不透明度画像の白/黒が反転します。上記画像を例にとると、葉っぱの形状がくり貫かれた形になります。&br()&image(Invert_opacity.jpg,width=450,height=253)| |&bold(){Opacity function}|不透明関数|不透明度をコントロールするためのシェーダやFunctionノードを割り当てて、サーフェスの不透明度レベルを決定します。| |&bold(){Alpha from colour}|拡散色からアルファ|チェック時、シェーダは"Colour image"パラメータで指定された画像や"Colour function"パラメータに接続されたシェーダからの色に基づいて不透明度を生成します。不透明度に使用される色は、アルファキーパラメータで設定されます。&br()半透明や不透明画像をしている場合は、このパラメータを使用しないで下さい。これは、グリーンスクリーンやブルースクリーンのキーヤーのように機能する特殊な仕掛けです。不透明度マップ画像がない場合の最後の手段として使用して下さい。&br()&image(Alpha_from_colour.jpg,width=750,height=211)&br()左画像は、拡散色と背景が同系の色なのでキーを設定してもなかなか上手く切り取る事が出来ません。| |&bold(){Alpha key}|アルファーキー|このパラメータは、不透明度を生成するために使用する色を設定します。例えば、緑色の領域を透明にしたい場合は、アルファーキーを緑色に設定します。| |&bold(){Key tolerance}|キーの許容範囲|"Alpha key"の設定で選択した色を、類似の色調を含むように拡張するための閾値をコントロールします。| ---- ***Imagesタブ #image(Default_shader_images.jpg) このタブには、シェーダの異なる面で使用される様々な画像に関する設定があります。 このタブには、このシェーダの設定に割り当てられた画像のグローバル設定が含まれています。すべての画像は同じグローバル設定設定を使用します。つまり、オブジェクトにUV座標があり、"Image projection"が"Object UV (if available)"に設定されている場合、このシェーダ内で使用されるすべての画像はオブジェクトのUV座標に投影されます。さらに調整が必要な場合は、『Default shader』ノードの下流に『Transform input』シェーダを適用する事が出来ます。 |&bold(){Image projection}|画像投影|このポップアップで、シェーダによる画像の投影または適用方法をコントロールする7つのオプションがあります。シェーダによって使用されるすべての画像は、このパラメータに従って投影されます。以下の投影オプションがあります:&br()-&bold(){Plan Y (edges = XZ)}: 画像はワールド空間のY軸に沿ってシーンの縦方向に投影され、画像は1メートルの縮図でタイル状になります。画像の調整には『Default shader』ノードの下流に『Transform input』シェーダノードを追加します。&br()-&bold(){Side X (edges = YZ)}: 画像はワールド空間のX軸に沿ってシーン内を水平に投影され、画像は1メートルの縮図でタイル状になります。画像の調整には『Default shader』ノードの下流に『Transform input』シェーダノードを追加します。&br()-&bold(){Size Z (edges = XY)}: 画像はワールド空間のZ軸に沿ってシーン内を水平に投影され、画像は1メートルの縮図でタイル状になります。画像の調整には『Default shader』ノードの下流に『Transform input』シェーダノードを追加します。&br()-&bold(){Through camera}: 画像は、"Projection camera"パラメータで指定したカメラを通して投影します。&br()-&bold(){Object UV (if available)}: 3DオブジェクトのUV座標があれば、それを使用して画像がマッピングされます。平面画像を不規則な形状のモデルに貼り付けるための方法であり、オブジェクトファイルの中に2D(平面)のUV座標を持っているインポートオブジェクトのために使用します。TGには UVマップを生成する機能がないため、外部ツール(たとえば『World Machine』など)を使用する必要があります。マップ座標が(x,y)に対して頂点座標は(u,v)で表します。UV座標はテクスチャの縦、横の幅を1とした時の比率で表記されます。&br()-&bold(){Cylindrical}: オブジェクトの周りの仮想円柱から円柱の中心軸に向かって画像が投影されます。円柱投影はオブジェクトを包み込む様な投影に有効ですが、平面、凹凸のあるオブジェクトには不向きです。&br()-&bold(){Spherical}: 球面投影はオブジェクトの周りの仮想円筒から円筒の中心軸に向かって投影されます。球体オブジェクトに対し歪みの無い投影を行いますが、オブジェクトの形状により円柱投影の方が汎用に扱う事が出来ます。&br()デフォルトは、"Object UV (if available)"が設定されています。| |&bold(){Projection camera}|投影カメラ|この設定で、"Projection type"が"Through camera"に設定されている時、画像投影に使用するカメラを割り当てる事が出来ます。既存のカメラを選択するか、新しいカメラを作成するには、フィールド右側にある割り当てボタン(&color(#008000){&bold(){+}})を使用します。画像の投影にのみ使用するカメラを作成する事が出来ます。このフィールドにどのカメラも設定されていない場合は、現在シーンをビューしている『Render Camera』が自動的に割り当てられます。| |&bold(){Unpremultiply colour}|アンプリマルチプライ拡散色|これらのチェックボックスはすべて、対応する画像パラメータに適用されます。例えば、"Unpremultiply colour"のチェックボックスは拡散色画像パラメータに適用されます。チェック時、使用する画像はアンプリマルチプライド処理を行います。いくつかの画像はプリマルチプライドアルファを使用し、それらがアンプリマルチプライドされていないのでなければ誤った結果を与えるかもしれません。画像にアルファチャンネルがない事が判っている場合はチェックの必要はありません。&br()これらの処理は、アルファチャンネルを使用してテクスチャを裁断した時に生じる柄際のフリンジを、縁をぼかしたり(プリマルチプライド処理)、くっきりさせたり(アンプリマルチプライド処理)する事で抑える効果が得られます。これらについては、「[Render layer]」の"コンポジター(合成)について"を参照して下さい。&br()&br()-Unpremultiply colour(色の非累乗): チェック時、[Colour]タブの"Colour image"設定に割り当てられた画像が累乗されません。&br()-Unpremultiply metalness(メタリックを非累乗): チェック時、[Specular]タブの"Metalness image"設定に割り当てられた画像が累乗されません。&br()-Unpremultiply translucency(半透明の非累乗): チェック時、、[Colour]タブの"Translucency image"設定に割り当てられた画像は累乗されません。&br()-Unpremultiply luminosity(光度の非累乗): チェック時、[Colour]タブの"Luminosity image"設定に割り当てられた画像は累乗されません。&br()-Unpremultiply reflectivity(反射度の非累乗): チェック時、[Specular]タブの"Reflectivity image"設定に割り当てられた画像が累乗されません。&br()-Unpremultiply roughness(ラフの非累乗): チェック時、[Roughness]タブの"Roughness image"設定に割り当てられた画像が累乗されません。| |&bold(){Unpremultiply metalness}|アンプリマルチプライメタルネス|~| |&bold(){Unpremultiply translucency}|アンプリマルチプライ半透明|~| |&bold(){Unpremultiply luminosity}|アンプリマルチプライ光度|~| |&bold(){Unpremultiply reflectivity}|アンプリマルチプライ反射|~| |&bold(){Unpremultiply roughness}|アンプリマルチプライ・ラフネス|~| ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: