概要
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
- 静止画1枚 →
3Dビューア(Model 3D ステージ)で角度を探して「この角度を採用」で書き戻せるのも同じ
方位角はz-upのワールド座標で、正の角度は+Z側から見て+Xから+Yへ回ります。
方位角 カメラがある側 画面右方向 0° +X +Y 90° +Y -X FixedCanvasの画面範囲はCanvas Width/Height ÷ Pixels Per Unitで決まり、frame_center_*を中心に置かれます。frame_world_*はnear/far範囲と depth/height正規化用です。モデルが画面または深度範囲を越えるとwarnings出力とFrame Mode付近に非致命的な警告が出ます。剛体アニメ(宝箱の開閉など)は
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— テクスチャ作りの相方