Simple Shape Shader

Node Type: Colour Shader

ノード説明と目的:

『Simple Shape Shader』は、円/楕円、正方形/長方形、三・五・八角形といった正多角形などシンプルな図形を簡単に作成する事が出来きます。カラーとディスプレースメントの両方を生成する事が出来ます。また、形状の外周に異なる効果を適用する事も出来ます。

現在、『Simple Shape Shader』は、垂直直下の"Plan Y"投影にのみ適用されます。

エッジの輪郭
シェーダが形状のエッジに適用する事の出来る様々な効果の輪郭は以下の通り:
"Smooth step"は、形状の外周と内側の間に滑らかな変形を生成します。"Bevel"は直線または直線傾斜を生成し、"Radius"は1/4の円形を生成します。"Stroke"はディスプレースメントではオプションに含まれません。これは、形状の外周と内側の間に、"Edge colour"で設定した色で塗り潰されます。

『Simple shape shader』の例
以下のサンプルプロジェクトは、『Simple shape shader』を使用するいくつかの異なる方法を挙げています。メインウインドウ左下の[Project Settings...]ボタンをクリックすると、『Project』ダイアログが開き、"Comments"にプロジェクトの説明を読む事が出来ます。各プロジェクトファイルは右クリック(Windows)"で名前を付けてリンク先を保存"、またはOptionキー(Mac)を押して直接ダウンロードして下さい。
ポピュレーションの密度 TGD: simple_shape_shader_population_density.tgd

このプロジェクトは、『Simple shape shader』を使用してポピュレーションの密度をコントロール方法を紹介しています。このサンプルでは、『Merge shader』を使用して2つの『Simple shape shader』を結合し、より複雑な形状を作成しています。
ディスプレースメント TGD: simple_shape_shader_displacement.tgd

このプロジェクトは、『Simple shape shader』を使用して地形上にディスプレースメントを作成してピラミッドを作成します。
サーフェスレイヤーのマスク TGD: simple_shape_shader_layer_blending.tgd

このプロジェクトは、単『Simple shape shader』を使用して、サーフェスレイヤーのマスクをコントロールします。

設定

Show b-box in preview バインディングボックス表示 チェック時、3Dプレビューで白色のバインディングボックス表示します。
Draw shape edges in preview 形状のエッジを描画 チェック時、3Dプレビューで形状の輪郭線をオレンジ色で描画します。
Type of shape 形状の種類 シェーダによって生成される形状の種類を選択します。
-Square/Rectangle: 正方形/長方形
-Circle/Ellipse: 円/楕円
-Polygon: 多角形。三角形を作成するには、これを選択後、"Polygon sides"で3を設定します。
Position 位置 形状の中心座標XYZを設定します。Yは高さです。
Size サイズ 形状の縦と横(X、Z)の辺の長さを設定します("Show b-box in preview"で描画される白い枠)。円や多角形の場合、このサイズの最大値で形状を生成します。注意点:楕円は縦と横の長さが異なる円を言います。
Rotation 回転 "Position"のY軸を中心に回転します。
Polygon sides 多角形の辺の数 "Type of shape"で"Polygon"を選択した時のみ、辺の数をコントロールする事が出来ます。

Colourタブ

Apply colour 色を適用 チェック時、シェーダは色情報を生成します。サーフェスシェーダとして使用する場合、ここで設定した色が着色されます。
Apply main Colour 本体色 形状の面の色を設定します。
Apply edge colour エッジの色 形状のエッジに、エッジの色を設定する事が出来ます。エッジの色を表示するには、"Edge profile"で"None"以外を設定し、"Edge width"を0以上にする必要があります。
Edge profile エッジの輪郭 形状のエッジに適用する輪郭をコントロールします。
-None: 何もしません。
-Smooth step: 形状の外周とエッジの幅の間に途中谷のある滑らかなグラデーションを生成します。
-Bevel: 形状の外周とエッジの幅の間に滑らかなグラデーションを生成します。
-Radius: 湾曲を描いたグラデーションになるため偏ったグラデーションを生成します。
-Stroke: 形状の外周とエッジの幅の間を、"Edge colour"で設定した色で塗り潰します。
Edge width エッジの幅 "Size"で設定した形状の外径から、"Edge width"で設定した値までをエッジの幅として設定します。エッジカラーを表示するには、"Edge profile"で"None"以外に設定する必要があります。
Edge units エッジの単位 "Edge width"で扱う値の単位を設定します。
-Metres: メートル。
-Percentage: 割合(=パーセンテージ)。
Position key 位置の調整 配置に関する2つのコントロールがあります:
-Final position(最終位置): すべての要素を計算した最終位置を基準とします。
-Position in terrain/texture(地形/テクスチャの位置): 地形/テクスチャの座標にのみ基づいて、『Compute Terrain』によって計算され、実際の地形のやや平滑化された位置を基準とします。

Displacementタブ

Apply displacement ディスプレースメントを適用 チェック時、シェーダはディスプレースメント情報を生成します。
Displace relative to surface サーフェスに呼応するディスプレースメント この方法は、シェーダ下にあるサーフェスの状態を調べ、それに合わせてディスプレースメントを適用します。例えばサーフェスが凸凹状態であれば、シェーダによって生成される形状の表面上に呼応して凸凹が浮き出てきます。下画像はピラミッドを生成していますが、シェーダ下のサーフェス形状に影響を受けて歪みますが、エッジ周辺の地形に滑らかに融合しています。&()
Displace relative to shader position シェーダ位置に呼応するディスプレースメント この方法は、シェーダ下にあるサーフェスを無視し、常にシェーダの位置からディスプレースメントを生成します。現在、ディスプレースメントはシェーダ位置のY座標に対して相対的に適用されます。下画像から分かるように、これはシェーダによって正確に歪みの無い形状で生成します。シェーダのY座標が下のサーフェスより高い(浮いている)場合は、生成した形状の底部に「断崖」が生成され空間を埋めます。逆に、シェーダのY座標がサーフェスより低い(埋まっている)場合は、下のサーフェスを掘り下げた位置から形状が生成されます。
Displacement direction ディスプレースメント方向 ポップアップで、ディスプレースメントが適用される方向を選択する事が出来ます。ポップアップリスト内の "(requires computed normal)"オプションは、ノードネットワーク上で接続された『Compute Terrain』または『Compute Normal』が適切に動作する事を必要とします:
-Along vertical: ディスプレースメントは、変位を適用する元となるオブジェクト(すなわち、惑星またはモデル)の法線に沿って生じます(デフォルトの場合、『Planet』の平面上からの変位なので"垂直"に生じます)。
-Along normal: ディスプレースメントは現在のサーフェス法線に沿って生じます。
-Vertical only (requires computed normal): ディスプレースメントは、元となるオブジェクト(すなわち、惑星またはモデル)の法線に沿ってのみ生じます。ディスプレースメントは、オブジェクト法線(プリミティブオブジェクト、デフォルトでは『Planet』オブジェクトの法線)とサーフェス法線(作成したサーフェスによって生成された法線)の差でスケーリングされます。ディスプレースメントは、法線間の角度が90度に近づくにつれて減少します。
-Lateral only (requires computed normal): ディスプレースメントは、側面の平面内でのみ、すなわち下層のオブジェクトの法線に対して直角にのみ生じます。
-Lateral normalized (requires computed normal): これは上記と同じですが、法線は統一化されています(長さが1になるようにスケーリングされます)。
Displacement amplitude ディスプレースメント振幅 ディスプレースメントが有効時、この値で変位の振幅を決定します。例えば、パワーフラクタルでプロシージャル地形を生成するために使用する場合、振幅は、最大地形の特徴がどれだけ高くまた低くなるかを決定します。
Displacement offset ディスプレースメントのオフセット この値は、"Displacement multiplier"パラメータで乗算された後に、ディスプレースメントの入力値に加算されます。これにより、ディスプレースメント方向に沿った設定量だけディスプレースメントをオフセットする効果が生じます。正の値はディスプレースメントを押し出して、それが台座に座っているかのように見えます。負の値は、ディスプレイスメントが表層の中に沈みます。それはディスプレースメントを逆にするのではなく、むしろ表層に穴を作り、穴の底にディスプレースメントを適用する事に近いです。
Edge profile エッジの輪郭 形状のエッジに適用する輪郭をコントロールします。
-None: 垂直上に変位します。
-Smooth step: 先に記述したように、滑らかなS字を描くような変位を生成します。
-Bevel: 直線状に傾斜した変位を生成します。
-Radius: 1/4の円形上に変位を生成します

真ん中のシェーダは、「Colour」タブの"Edge profile"で"Stroke"を選択した時のエッジの色の適用例です。
Edge units エッジの単位 "Edge width"で扱う値の単位を設定します。
-Metres: メートル。
-Percentage: 割合(=パーセンテージ)。錐体の形状を生成する場合、メートルで設定するよりも、"100パーセント"にするだけで正確に行えます。
Position key 位置の調整 配置に関する2つのコントロールがあります:
-Final position(最終位置): すべての要素を計算した最終位置を基準とします。
-Position in terrain/texture(地形/テクスチャの位置): 地形/テクスチャの座標にのみ基づいて、『Compute Terrain』によって計算され、実際の地形のやや平滑化された位置を基準とします。