Overview
The camera that converts a Model mesh into a pixel-art asset. It is the Model
counterpart to solid_render and shares its parameter vocabulary: azimuth, elevation,
pixels_per_unit, and FixedCanvas. It orthographically projects a PBR-material Model to
a Surface with normals, depth, and material IDs. This is the 2D exit for a workflow
that creates both GLB and HD-2D images from the same model.
Usage tips
Basic position:
model_group(組み立て済み) → モデル素材割り当て → model_render → surface_light_preview. See the bundledworkflows/model_asset_c1.ppl.Think about parameters in the same way as
solid_render:- One still image →
AutoFit; animation or eight directions → alwaysFixedCanvas pixels_per_unitcontrols pixel density, with 16 as the baseline- Use
camera_angle_snap = 45for eight-direction assets
- One still image →
As with Solid, find an angle in the 3D viewer (Model 3D Stage), then write it back with "Use this angle."
Azimuth uses z-up world axes and increases from +X toward +Y when viewed from +Z.
Azimuth Camera side Screen-right direction 0° +X +Y 90° +Y -X In
FixedCanvas, the image plane spansCanvas Width/Height ÷ Pixels Per Unitaroundframe_center_*.frame_world_*defines the near/far volume and depth/height normalization. Geometry beyond either range produces a non-fatal diagnostic in thewarningsoutput and beside Frame Mode.For rigid-body animation such as a treasure chest opening, drive
model_transformrotation with a waveform → this node in FixedCanvas →animation_render. Bake the same motion into the GLB with Animation Frames inmodel_gltf_export. Seeworkflows/model_chest_animation_c7.ppl.
Common pitfalls
- Frame size or center changes between frames: the node is rotating in
AutoFit. UseFixedCanvasand setframe_world_*large enough to contain the subject. This is the same major trap as in solid_render. - The result is flat and lacks material character: this node does not light the
model. Send the
surfaceoutput throughsurface_light_previewand adjust roughness in the PBR material. - Textures bleed or sample adjacent faces: the texture gutter is too small. Extend
edge colors with
texture_layout_dilatebefore bundling them inpbr_material.
PBR consumer compatibility
| PBR setting | Model Render → Surface | GLB Export |
|---|---|---|
| Base Color / Tangent Normal / Roughness / AO / Emission | Supported | Supported |
| Metallic | Warned and omitted because Surface has no metallic channel | Supported |
| Linear filter | Currently sampled as nearest with a warning | Supported |
| Blend alpha | Keeps the front layer without compositing the back layer; warns | Supported |
Related nodes
solid_render— the equivalent camera in the Solid (SDF) lanemodel_gltf_export— the 3D GLB exit for the same modelsurface_light_preview— lights the output Surfacepbr_material/model_texture_layout— companions for texture production