Yotsuba Games
Back to Guide
Workflows

Solid Turntable Sprite Sheet

The official Phase 10 workflow: animate 3D parameters and bake them into a transparent-background sprite sheet.

Goal

Solids are rasterized by Solid Render and then handed to the existing Animation Render / Batch Render. The critical part is keeping every frame's output size and center fixed.

The basic turntable

Time Source.progress
  -> Sawtooth Wave.input
  -> Solid Transform.rotate_z
  -> Solid Render.image
  -> Animation Render.image

Recommended settings:

Node Parameter Value
Sawtooth Wave amplitude 180
Sawtooth Wave offset 180
Solid Transform rotation_snap 45 or 0
Solid Render frame_mode FixedCanvas
Solid Render fixed_canvas_width / fixed_canvas_height e.g. 64 / 64
Solid Render frame_world_width / frame_world_depth / frame_world_height large enough to contain the subject in every frame
Animation Render total_frames e.g. 8
Animation Render columns e.g. 8

rotation_snap rounds only when set. Use 0 for smooth spinning, 45 for an 8-direction look.

Why the fixed canvas matters

Solid Render defaults to auto-fit. That is convenient for stills, but during a rotation the bounding box changes per frame and the sprite jitters.

For animation assets, use frame_mode = FixedCanvas:

  • fixed_canvas_width / fixed_canvas_height: the pixel size of one output frame
  • frame_center_x/y/z: the world position to keep at screen center
  • frame_world_width/depth/height: the fixed world range used to normalize depth and height

The viewer's checkerboard and light gizmo are never baked in — the output is an ordinary transparent-background image.

8-direction assets

Build 8-direction assets with the existing Variant Range + Batch Render combo — no dedicated nodes needed.

Variant Range.variants
  -> Batch Render.items

Solid Render.image
  -> Batch Render.image

Settings:

Node Parameter Value
Variant Range key render:azimuth
Variant Range start 0
Variant Range end 315
Variant Range count 8
Variant Range value_type Float
Solid Render camera_angle_snap 45
Solid Render frame_mode FixedCanvas
Batch Render columns 8

Batch Render snapshot keys in nodeId:paramId form target parameters directly. Here the Solid Render node's ID is render, so render:azimuth streams the eight camera angles.

The sample

solid_turntable_phase10.ppl (in this folder) is the minimal turntable sample.

To verify:

  1. Open the sample
  2. Select Animation Render
  3. Confirm the preview shows a 4-frame sprite sheet
  4. Change fixed_canvas_width / fixed_canvas_height on Solid Render and confirm every frame stays the same size

Notes

  • Solid Render.surface is a G-buffer. For lighting or outlines, post-process the surface side, convert back to an image, and then feed Animation Render.
  • The checkerboard is only the preview background — it is never saved.
  • For post-processing nodes that use randomness (shadows, dither), pin the seed or drive it deliberately from Time Source.
Solid Turntable Sprite Sheet — PixPipeline User Guide