概要
レイヤー分けが、そのまま立体の分解になるノードです。quick_shade は絵全体を
1つのシルエットとして膨らませるため複雑な形で破綻しますが、このノードは
腕・体・頭のように部位ごとにレイヤー分けされた画像を1枚ずつ独立に
膨らませてから組み立てるので、部位同士が溶けません。重なり順からは接触影
(手前レイヤーが奥レイヤーに落とす境目の暗さ)を自動で作ります。
使い方のポイント
- 定番:
pixel_canvas(レイヤー出力) → layers_to_surface → surface_light_preview。 ピクセルキャンバスで部位ごとにレイヤーを分けて描くだけで、破綻しにくい 自動陰影の入力になる - ピクセルキャンバス側でフォルダにまとめると1枚扱いになる。線画と塗りを 別レイヤーにしている場合は部位単位のフォルダに入れる
- ダブルクリック(またはインスペクタの「プレビュー付きで編集」)でビルダーエディタが開く: ライト適用後の段階化プレビューと3Dレリーフを並べて見ながら、レイヤー別設定を その場で追い込める。設定値はインスペクタと同じもの(自動で同期)で、 エディタ内の照明ノブは確認用の作業照明(出力には影響しない)
- エディタ内で「レイヤー単位の彫刻」ができる: 行をクリックして対象レイヤーを
選び、盛る/彫る/ならす/平らのブラシでそのレイヤーだけを修正できる。
合成前の高さ場に効くので他のレイヤーには一切影響せず、接触影も彫った後の
形で再計算される。使い分け: ここでの彫り=パーツの形を整える(レイヤー別)、
下流の
surface_sculpt=仕上がり全体を直す(合成後・AO描き込みも可) - レイヤー別設定は行UIで編集できる: インスペクタの「レイヤー別の立体の形」は
レイヤーごとの行(名前 / 形 / 高さ+)で編集できる。ピクセルキャンバスの
「レイヤー」出力を直結していればレイヤー名は自動で表示される(ワイヤ追加は不要)。
間に別ノードを挟む場合だけ「レイヤー名」出力→
レイヤー名入力をつなぐ (内部保存はCSVのままなので、ヘッドレスやAI生成では従来どおりテキスト指定も可) - 「手前の腕を体より少し高くしたい」ときは行UIの
高さ+に数値を入れる(例:0.5)。 0なら全レイヤー同じ高さ範囲 - 地面や背景の板を混ぜるときは、そのレイヤーの行だけ形を
Flatにする。 風船のように膨らまなくなる - 盛り上がり方を自由に設計したいレイヤーは「カスタムカーブ(Curve)」: 行の下に断面カーブ(横=縁→中心、縦=高さ)が開き、頂点をドラッグして なだらか/急斜面/広い天面/段々などを直接作れる。プリセット (丸い/とがる/平らな天面/釣鐘)から始めて微調整するのが早い
- 行の下の「傾き」で山ごと斜めにできる: 方向(度。0=右へ向かって高く、
90=上へ向かって高く)と強さ(0〜1)を指定すると、そのレイヤーの高さに
「低い端→高い端」のグラデーションが掛かる。始点・終点の指定は不要で、
レイヤー自身の幅(方向に沿った射影範囲)から自動で決まる。
坂道は
Flat+傾き、片側に傾いたドームはRound+傾き、のように どの形とも組み合わせられる(色だけ/浮き彫り/彫り込みは対象外) - 樽・柱・横丸太は「円柱(縦)/円柱(横)」: 軸方向は平らなまま、直交方向だけ 半円で丸まる。丸い(Round)だと縦にも丸まって球寄りになるパーツ向け
- ランタンのガラス・窓明かりは「発光(Emission)」: 色だけ乗せた上で発光マップにも
書き込まれ、ライトで沈まず光って見える。光量は後段ライトの
emission_strength(0.3〜0.5が目安、1.0は白飛びしやすい) - 目・模様のような数pxの描き込みレイヤーは「色だけ(Decal)」にする。 下のレイヤー(頭など)の丸みがそのまま続き、描き込みは色として乗る
- 口・溝・くぼみは「彫り込み(Engrave)」: 下の面から凹ませ、凹みの中は
AOで自然に暗くなる(口の中に影が入る)。ボタン・鼻のように盛るなら
「浮き彫り(Relief)」。どちらも厚み・深さは行UIの
高さ+で指定できる (0=パーツの太さから自動) - 接触影は光の向きに依存しない「隙間の暗さ」としてAOマップに入る。
光方向つきの影は後段の
surface_light_preview(落ち影)が担当する。レイヤー別の高さ追加で持ち上げたレイヤーの接触影は自動で弱まるので、 浮いている物の接地感は落ち影(cast_shadow_strength)で作る surface出力にはレイヤーIDが面ID(layer:0,layer:1, …)として入っており、surface_id_maskでレイヤー単位のマスクを取り出せる- 画像を部品として配置・合成する
part_composer(パーツコンポーザー)とは別物。 こちらは「1枚の絵の中の部位分け」を立体推定に使うノード
よくある失敗
- 全体が1つの風船のように膨らむ: レイヤーを分けずに1枚で描いている。 部位ごとにレイヤー(またはフォルダ)を分けると独立して膨らむ
- 重なり順を変えたら高さ指定がズレた:
レイヤー別の高さ追加はリストの 並び順(背面→前面)に対応する。レイヤーを並び替えたら数値も並び替える - 小さい描き込みの周りがモザイク状に荒れる: 数pxのレイヤーも独立の山として 膨らむため、下のレイヤーの高さにクレーターが開き、接触影とハイライトが 境界に密集する。そのレイヤーの形を「色だけ」(または「浮き彫り」)にすれば直る
関連ノード
pixel_canvas—layers出力がこのノードの入力になるsurface_light_preview— 組み立てたサーフェースに光を当てるquick_shade— レイヤー分けが無い1枚絵向けの簡易版contact_shadow_from_order— 接触影だけを画像として使いたい場合surface_id_mask— レイヤー面IDからマスクを取り出す