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

シェーダーノード リファレンス

7 カテゴリ、95 ノード。material をグラフとして組み立てるためのものです。使い方:マテリアルグラフ

ポートの型は floatvec2vec3vec4 です。vec3 は色または方向を表します。幅の違うポートどうしの接続は、意味が通る場合は自動で処理されます。

const

自分で入力する固定値。

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

input

値の出どころ — UV、面の法線、時間、テクスチャ、描画中のインスタンス。

ノード働き入力出力
cameraDistanceそのピクセルがカメラからどれだけ離れているか。距離でフェードさせるのに便利です。out:float
chromaKey — Chroma key特定の色を抜き、グリーンバックを透明にします。color:vec3, key:vec3, similarity:float, smoothness:float, spill:floatrgba:vec4
instanceColor — Instance Colorそのコピーが持つ色味。out:vec3
instanceId — Instance IDインスタンス化されたオブジェクトのどのコピーを描いているか。ハッシュに通せばコピーごとに違いが出ます。out:float
materialRef — Material別の material を出発点として取り込みます。out:vec3
normal面がどちらを向いているか。out:vec3
normalMapnormal map を適用し、ジオメトリを増やさずに表面の凹凸を足します。uv:vec2, strength:floatout:vec3
paramColor — Param (color)同じように表に出る色。out:vec3
paramFloat — Param (float)material の設定として表に出る数値。グラフを開かずに調整できます。out:float
positionオブジェクト自身の空間での、面上の点。out:vec3
sampleLod — Sample Texture LOD選んだぼけ具合の段でサンプリングします — 安価なぼかしです。uv:vec2, lod:floatrgba:vec4
screenUv面の上ではなく、画面上のどこにピクセルがあるか。out:vec2
texelFetch — Texel Fetchフィルタリングなしで、ちょうどそのピクセルを読みます。texel:vec2rgba:vec4
texelSize — Texture Sizeテクスチャの 1 ピクセルの大きさ。隣を参照する効果に使います。size:vec2, texel:vec2
texture指定した座標で画像をサンプリングします。uv:vec2rgba:vec4
timeシーン開始からの秒数。動くものはすべてここから始まります。out:float
triplanar三方向から同時にテクスチャを投影し、UV のない、あるいは引き伸ばされたジオメトリでも正しく見せます。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

単一の数値に対する演算とカーブ。

ノード働き入力出力
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
max大きい方。a:float, b:floatout:float
min小さい方。a:float, b:floatout:float
mix二つの値を混ぜます。a:float, b:float, t:floatout:float
mod剰余。値を折り返させるもう一つの方法です。x:float, y:floatout:float
multiply掛けます。a:float, b:floatout:float
noiseなめらかな乱数。有機的なものはすべてここから始まります。uv:vec2, scale:floatout:float
oneMinus0〜1 の値を反転します。意外なほどよく使います。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柔らかい境界。二つのしきい値の間がグラデーションになります。シェーダーグラフの主役です。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

ベクトルと色を作る・分解する・変換する。

ノード働き入力出力
addVec3三つ組どうしを足します。a:vec3, b:vec3out:vec3
alpha透明度のチャンネルを取り出します。v:vec4out:float
combineVec2二つ組を作ります。x:float, y:floatout:vec2
combineVec3三つ組を作ります。r:float, g:float, b:floatout:vec3
combineVec4四つ組を作ります。rgb:vec3, a:floatout:vec4
cross両方に垂直な方向。a:vec3, b:vec3out:vec3
distance二点間の距離。a:vec3, b:vec3out:float
dot内積 — 二つの向きがどれだけ一致しているか。a:vec3, b:vec3out:float
equirectUv — Equirect UV方向をパノラマ画像へ投影します。dir:vec3uv:vec2
flipbook — Flipbook一枚の画像に並んだコマをアニメーションとして再生します。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
mixVec3三つ組どうしを混ぜます。a:vec3, b:vec3, t:floatout:vec3
multiplyVec3三つ組どうしを掛けます。a:vec3, b:vec3out:vec3
normalize向きはそのまま、長さを 1 に。v:vec3out:vec3
panner座標を時間とともに流します — 流れる水、ベルトコンベア、エネルギーの光線。uv:vec2, speed:vec2out:vec2
reflect面で方向を跳ね返します。v:vec3, normal:vec3out:vec3
rgb三つの数値から色を作ります。v:vec4out:vec3
rgbToHsv色を色相・彩度・明度へ — 色相をずらすならこれが簡単です。rgb:vec3out:vec3
scaleVec2二つ組を数値倍します。v:vec2, s:floatout:vec2
scaleVec3三つ組を数値倍します。v:vec3, s:floatout:vec3
splitVec2二つ組を分解します。v:vec2x:float, y:float
splitVec3三つ組を分解します。v:vec3x:float, y:float, z:float
uvTransformサンプリング前に座標を拡大・回転・移動します。uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2out:vec2