ノード一覧に戻る

モデルレンダリング

model_render

組み立てたポリゴンモデルを平行投影でCPUラスタライズし、比較可能なビュー深度を持つライティング前のサーフェースGバッファへ変換します。同じカメラ向きとピクセル密度のSolid Render結果なら、前後関係を保って合成できます。

確認済み
解説あり

入力ポート

名前説明
モデル
model
Model
必須
メッシュブーリアンを行わず組み立てるポリゴンモデルです。

出力ポート

名前説明
サーフェース
surface
Surface
PBRマップ・深度・高さ・安定IDを持つレンダリング済みサーフェースです。
画像
image
Image
ライティング前のベースカラー画像です。
警告
warnings
Text
非致命的なクリッピングと素材互換性の診断です。

パラメータ

名前既定値範囲説明・選択肢
カメラ方位角
azimuth
Angle
45— / step 1

カメラの水平方向の角度です。アイソメ素材は45度刻みが基本です。8方向素材はここをアニメさせます。

カメラ角スナップ
camera_angle_snap
Float
00–90 / step 0.5

レンダリング前にカメラ方位角を指定刻みへ丸めます。0ならスナップしません。8方向素材では45が基本です。

見下ろし角
elevation_preset
Enum
Iso2To1

カメラの見下ろし角のプリセットです。

  • 2:1アイソメIso2To1
    26.565度。ドット絵の定番2:1アイソメです。
  • 30°Iso30
    30度のアイソメです。
  • 45°Iso45
    45度の見下ろしです。
  • 真上Top
    ほぼ真上からの見下ろしです。
  • カスタムCustom
    カメラ仰角パラメータの値を使います。
1ユニットのピクセル数
pixels_per_unit
Int
161–128

モデルの1ユニットを何ピクセルで描くかです。

余白
padding
Int
10–32

自動フィットした出力の外側に足す透明余白(px)です。

カメラ仰角
custom_elevation
Float
26.5650005340576171–89 / step 0.5

プリセットがカスタムの時のカメラ仰角(度)です。

出力フレーム
frame_mode
Enum
AutoFit

出力フレームの決め方です。アニメーションや8方向素材では固定キャンバスを使います。

  • 自動フィットAutoFit
    現在のモデルに合わせて出力サイズを自動調整します。
  • 固定キャンバスFixedCanvas
    ピクセル幅・高さとワールド中心を固定します。アニメーション素材向けです。
固定幅
fixed_canvas_width
Int
641–1024

出力フレームを固定するときの幅(px)です。アニメーションでフレーム幅を揃えるために使います。

固定高さ
fixed_canvas_height
Int
641–1024

出力フレームを固定するときの高さ(px)です。アニメーションでフレーム高さを揃えるために使います。

固定範囲X
frame_world_width
Float
40.05–256 / step 0.05

固定キャンバス時の深度・高さ正規化に使うワールド範囲のX幅です。

固定範囲Y
frame_world_depth
Float
40.05–256 / step 0.05

固定キャンバス時の深度・高さ正規化に使うワールド範囲のY奥行きです。

固定範囲Z
frame_world_height
Float
40.05–256 / step 0.05

固定キャンバス時の深度・高さ正規化に使うワールド範囲のZ高さです。

中心X
frame_center_x
Float
0-256–256 / step 0.05

固定キャンバス時の中心Xです。

中心Y
frame_center_y
Float
0-256–256 / step 0.05

固定キャンバス時の中心Yです。

中心Z
frame_center_z
Float
0-256–256 / step 0.05

固定キャンバス時の中心Zです。

概要

Model(ポリゴンメッシュ)をドット絵素材に変換するカメラです。solid_render の Model版で、パラメータ語彙は共通(方位角・見下ろし角・pixels_per_unit・FixedCanvas)。 PBRマテリアルを持つモデルを、法線・深度・素材ID付きの Surface に平行投影します。 「同じモデルからGLBとHD-2D画像の両方を作る」ワークフローの2D側の出口です。

使い方のポイント

  • 基本の位置: model_group(組み立て済み) → モデル素材割り当て → model_render → surface_light_preview。同梱サンプル workflows/model_asset_c1.ppl 参照

  • パラメータの考え方は solid_render と同じ:

    • 静止画1枚 → AutoFit、アニメ・8方向 → 必ず FixedCanvas
    • ドット密度は pixels_per_unit(16が基準)
    • 8方向素材は camera_angle_snap = 45
  • 3Dビューア(Model 3D ステージ)で角度を探して「この角度を採用」で書き戻せるのも同じ

  • 方位角はz-upのワールド座標で、正の角度は+Z側から見て+Xから+Yへ回ります。

    方位角 カメラがある側 画面右方向
    +X +Y
    90° +Y -X
  • FixedCanvasの画面範囲はCanvas Width/Height ÷ Pixels Per Unitで決まり、 frame_center_*を中心に置かれます。frame_world_*はnear/far範囲と depth/height正規化用です。モデルが画面または深度範囲を越えると warnings出力とFrame Mode付近に非致命的な警告が出ます。

  • surfaceにはワールド位置へ戻せるビュー深度契約が入る。同じカメラ角と pixels_per_unitsolid_render結果は、surface_compositeの契約深度で自動比較できる。 角度や密度が違う入力は見た目だけで推測せずエラーになる

  • 剛体アニメ(宝箱の開閉など)は model_transform の回転を波形で駆動 → このノード(FixedCanvas) → animation_render。GLB側には model_gltf_export の Animation Frames で同じ動きをベイクできる(workflows/model_chest_animation_c7.ppl)

よくある失敗

  • フレームサイズ・中心がフレームごとにずれる: AutoFit のまま回している。 FixedCanvas + frame_world_* を対象が収まる大きさに(solid_renderと同じ最大の罠)
  • のっぺりしてマテリアル感がない: このノードはライティングしない。 surface 出力を surface_light_preview に通し、roughness等はPBRマテリアル側で調整
  • テクスチャがにじむ・隣の面の色を拾う: テクスチャ側のgutter不足。 texture_layout_dilate で端色を延長してから pbr_material に束ねる

PBR機能の対応範囲

PBR設定 Model Render → Surface GLB Export
Base Color / Tangent Normal / Roughness / AO / Emission 対応 対応
Metallic Surfaceに専用チャンネルがなく警告して省略 対応
Linear filter 現在はNearestとして処理し警告 対応
Blend alpha 最前面だけを保持し、背面とは合成せず警告 対応

関連ノード

  • solid_render — Solid(SDF)レーンの同型カメラ
  • model_gltf_export — 同じモデルの3D側の出口(GLB)
  • surface_light_preview — 出力Surfaceのライティング
  • pbr_material / model_texture_layout — テクスチャ作りの相方
ノード一覧に戻る
モデルレンダリング — PixPipeline ノード解説