メインコンテンツまでスキップ

シェーダーノード

7 個のカテゴリに、95 個のノードがあります。ノードを組み合わせてマテリアルをつくるためのものです。使い方は、マテリアルグラフを参照してください。

入力と出力の型は 4 種類です。float は 1 つの数値で、vec2、vec3、vec4 はそれぞれ 2 つ、3 つ、4 つの数値を持ちます。vec3 は色か方向を表します。サイズの違うポートどうしをつないだ場合は、意味が通るところでは自動で処理されます。

const​

自分で入力する固定の値です。

ノード働き入力出力
constFloat固定の数値。—out:float
constVec3固定の 3 つの数値。—out:vec3

input​

出発点になる値です。テクスチャ座標(UV)、面の法線、時間、テクスチャ、オブジェクトのどのコピーを描画しているか、などがあります。

ノード働き入力出力
cameraDistanceこのピクセルがカメラからどれだけ離れているか。距離に応じてフェードアウトさせるのに便利です。—out:float
chromaKey — Chroma key色を 1 つ取り除きます。たとえば、グリーンバックを透明にできます。color:vec3, key:vec3, similarity:float, smoothness:float, spill:floatrgba:vec4
instanceColor — Instance Color描画中のコピーの色合い。—out:vec3
instanceId — Instance IDインスタンス化したオブジェクトの、どのコピーを描画しているか。ハッシュに通すと、コピーごとに違いを出せます。—out:float
materialRef — Material別のマテリアルを出発点として使います。—out:vec3
normal面が向いている方向。—out:vec3
normalMapノーマルマップを適用し、ジオメトリを増やさずに表面の細かな凹凸を加えます。uv:vec2, strength:floatout:vec3
paramColor — Param (color)マテリアルの設定として表示される色です。グラフを編集せずに変更できます。—out:vec3
paramFloat — Param (float)マテリアルの設定として表示される数値です。グラフを編集せずに変更できます。—out:float
position面上の点。オブジェクト自身の座標で表します。—out:vec3
sampleLod — Sample Texture LOD選んだぼかしの度合いで画像を読み取ります。手軽に画像をぼかせます。uv:vec2, lod:floatrgba:vec4
screenUv面の上ではなく、画面上でのピクセルの位置。—out:vec2
texelFetch — Texel Fetchなめらかにせず、ちょうど 1 つのピクセルを読み取ります。texel:vec2rgba:vec4
texelSize — Texture Sizeテクスチャの 1 ピクセルの大きさです。隣のピクセルを読むエフェクトに使います。—size:vec2, texel:vec2
texture指定した座標で画像を読み取ります。uv:vec2rgba:vec4
timeシーンが始まってからの秒数です。動くものすべてに使います。—out:float
triplanarテクスチャを 3 方向から同時に投影します。テクスチャ座標がない形や、座標が引き伸ばされた形でも、正しく見えます。scale:float, blend:floatrgba:vec4
uv描画中のピクセルのテクスチャ座標です。ほとんどの模様はここから始まります。—out:vec2
viewDirection面からカメラへの方向。—out:vec3
worldPosition同じ点をワールド座標で表したものです。オブジェクトが動いてもその場に留まるエフェクトに使います。—out:vec3

light​

自分で形を決められるライティングです。

ノード働き入力出力
fresnel面が向こう側へ回り込んでいく縁ほど強くなります。リムライト、フォースフィールド、車の光沢に使います。power:float, normal:vec3out:float
lit — Lit (scene lights)標準のライティングです。独自のグラフでも、シーンになじみます。color:vec3, roughness:float, specular:float, normal:vec3out:vec3
toonLit — Toon (scene lights)段のついたライティングです。アニメ調の見た目にします。color:vec3, steps:float, normal:vec3out:vec3

math​

1 つの数値に対する計算です。

ノード働き入力出力
absマイナスの符号を取り除きます。x:floatout:float
add足し算をします。a:float, b:floatout:float
atan2ある点への角度です。放射状の模様をつくるのに使います。y:float, x:floatout:float
ceil切り上げます。x:floatout:float
clamp値を範囲の中に収めます。x:float, min:float, max:floatout:float
cosコサイン。x:floatout:float
divide割り算をします。a:float, b:floatout:float
expe の、入力の値乗。x:floatout:float
fbm重ね合わせたノイズです。雲、煙、さび、地形に使います。uv:vec2, scale:float, octaves:floatout:float
floor切り捨てます。x:floatout:float
fract小数点より下の部分だけを残します。模様を繰り返すときの定番の方法です。x:floatout:float
log自然対数。x:floatout:float
max2 つのうち大きいほう。a:float, b:floatout:float
min2 つのうち小さいほう。a:float, b:floatout:float
mix2 つの値を混ぜます。a:float, b:float, t:floatout:float
mod割り算の余りです。値を一周させて最初に戻す、もう 1 つの方法です。x:float, y:floatout:float
multiply掛け算をします。a:float, b:floatout:float
noiseなめらかなランダムの値です。自然な見た目のものは、ここから始めましょう。uv:vec2, scale:floatout:float
oneMinus0〜1 の値を反転します。0 は 1 に、1 は 0 になります。x:floatout:float
posterize値を決まった段階数に丸めて、段のついた見た目にします。x:float, steps:floatout:float
powべき乗します。x:float, e:floatout:float
remapある範囲の値を、別の範囲の値に変換します。x:float, inMin:float, inMax:float, outMin:float, outMax:floatout:float
roundいちばん近い整数に丸めます。x:floatout:float
sign−1、0、1 のどれかを返します。x:floatout:float
sinサイン。揺れ、脈打つ動き、波紋に使います。x:floatout:float
smoothstepやわらかい境目です。2 つのしきい値の間がなめらかにつながります。特によく使うノードの 1 つです。from:float, to:float, x:floatout:float
sqrt平方根。x:floatout:float
stepくっきりした境目です。しきい値より下は 0、上は 1 になります。edge:float, x:floatout:float
subtract引き算をします。a:float, b:floatout:float
tanタンジェント。x:floatout:float
voronoi細胞のような模様です。うろこ、ひび割れた地面、ステンドグラスに使います。uv:vec2, scale:floatdist:float, cell:float

output​

グラフの終わりです。表面の最終的な見た目を決めます。

ノード働き入力出力
mrtOutput — Output (MRT)複数の出力を一度に書き込みます。高度な設定向けです。color:vec3, alpha:float, color1:vec3, alpha1:float, color2:vec3, alpha2:float, color3:vec3, alpha3:float—
outputグラフの終わりです。表面の最終的な見た目になります。color:vec3, alpha:float, offset:vec3—
surfaceOutput — Output (surface)表面を記述します。ベースカラー、メタリック、ラフネス、法線、エミッシブ、アルファです。baseColor:vec3, metallic:float, roughness:float, emissive:vec3, normal:vec3, alpha:float, offset:vec3, clearcoat:float, clearcoatRoughness:float, ior:float, transmission:float, thickness:float—

post​

完成したフレームを読み取るノードです。これを使うと、グラフは表面のマテリアルではなく、全画面のエフェクトになります。

ノード働き入力出力
chromaticAberration本物のレンズのように、縁で色のチャンネルをずらします。uv:vec2, amount:floatout:vec3
contrast明るい部分をより明るく、暗い部分をより暗くします。color:vec3, amount:floatout:vec3
exposure画像全体を明るく、または暗くします。color:vec3, amount:floatout:vec3
grainフィルムのような粒子を加えます。color:vec3, intensity:floatout:vec3
invert画像の色を反転します。color:vec3out:vec3
saturation色を強く、または弱くします。color:vec3, amount:floatout:vec3
screenColorすでに描画されたシーンです。このノードを使うと、グラフは全画面のエフェクトになります。—out:vec3
tint画像をある色に寄せます。color:vec3, tint:vec3out:vec3
vignetteフレームの縁を暗くします。color:vec3, offset:float, darkness:floatout:vec3

vector​

ベクトルや色を組み立て、分解し、変換します。

ノード働き入力出力
addVec33 つの数値を持つベクトルどうしを足します。a:vec3, b:vec3out:vec3
alpha透明度のチャンネルを取り出します。v:vec4out:float
combineVec22 つの数値からベクトルをつくります。x:float, y:floatout:vec2
combineVec33 つの数値からベクトルをつくります。r:float, g:float, b:floatout:vec3
combineVec44 つの数値からベクトルをつくります。rgb:vec3, a:floatout:vec4
cross両方に直角な向き。a:vec3, b:vec3out:vec3
distance2 点間の距離。a:vec3, b:vec3out:float
dot内積です。2 つの向きがどれだけ近いかを表します。a:vec3, b:vec3out:float
equirectUv — Equirect UV方向をパノラマ画像の上の位置に対応させます。dir:vec3uv:vec2
flipbook — Flipbook1 枚の画像に格子状に並んだコマを、アニメーションとして再生します。uv:vec2, frame:float, tilesX:float, tilesY:floatuv:vec2
gammaガンマカーブを適用します。rgb:vec3, gamma:floatout:vec3
hsvToRgb色相、彩度、明度を色に戻します。hsv:vec3out:vec3
hueToRgb色相をそのまま色に変換します。h:floatout:vec3
lengthベクトルの長さ。v:vec3out:float
luminance目で見たときの色の明るさ。rgb:vec3out:float
mixVec33 つの数値を持つベクトルどうしを混ぜます。a:vec3, b:vec3, t:floatout:vec3
multiplyVec33 つの数値を持つベクトルどうしを掛けます。a:vec3, b:vec3out:vec3
normalize向きはそのままで、長さを 1 にします。v:vec3out:vec3
panner座標を時間とともにスクロールさせます。流れる水、ベルトコンベア、エネルギービームに使います。uv:vec2, speed:vec2out:vec2
reflect向きを面で跳ね返します。v:vec3, normal:vec3out:vec3
rgb3 つの数値から色をつくります。v:vec4out:vec3
rgbToHsv色を色相、彩度、明度に変換します。色相をずらすときに便利です。rgb:vec3out:vec3
scaleVec22 つの数値を持つベクトルに数値を掛けます。v:vec2, s:floatout:vec2
scaleVec33 つの数値を持つベクトルに数値を掛けます。v:vec3, s:floatout:vec3
splitVec22 つの数値に分けます。v:vec2x:float, y:float
splitVec33 つの数値に分けます。v:vec3x:float, y:float, z:float
uvTransform画像を読み取る前に、座標を拡大・回転・移動します。uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2out:vec2