Tutorial
This tutorial walks you through the full workflow from an empty scene to an exported LÖVE 2D sprite sheet. You'll import a model, configure animations and lighting, set up sequences, run a workflow, and export — all using a sample project provided below.
What You'll Learn¶
- Importing and removing a model
- Changing the active animation
- Adding a light to the scene
- Creating animation sequences
- Running a directional workflow
- Adding export-time spritesheet postprocess effects
- Exporting to LÖVE 2D format
Step 1 — Download the Sample Project¶
Download the sample project below and extract it to a folder on your machine.
The archive contains:
tutorial.sshProj— a pre-configured project file with a model already set upcharacter_2.glb— the 3D character model used in this tutorial
Open the project in Sprite Sheet Helper via File > Open Project and select tutorial.sshProj.
Step 2 — Import a Model¶
The project comes with a model loaded, but let's practice importing one from scratch.
- Go to
File > Import Model. - Navigate to the extracted folder and select
character_2.glb. - The model appears in the center viewport and the left panel lists it in the scene tree.
Step 3 — Remove the Model¶
Now remove the model you just imported so we can work with the one from the project file.
- In the left panel, click the model entry to select it.
- Right-click and choose Remove, or press
Delete. - The viewport clears. The project's original model is still in the scene — it was not affected.
If the viewport looks empty after removing, the project model may have been the one you imported. Re-open the project via
File > Open Projectto restore it.
Step 4 — Use the Existing Model¶
With the project model in place you should see the character standing in the viewport. Take a moment to explore the scene:
- Left-click + drag in the viewport to orbit the camera.
- Scroll to zoom in and out.
- Click the model entry in the left panel to inspect its transform (position, rotation, scale) in the properties area.
Step 5 — Change the Animation¶
The model has several animation clips embedded. Let's switch to the walk cycle.
- In the Export panel on the right, find the Animation dropdown.
- Open the dropdown — you'll see all available clips (e.g.
idle,walk,run). - Select walk.
- The viewport updates to preview the walk animation in a loop.
To adjust the clip, open the Animations panel from the menu bar and configure speed or loop mode as needed.
Step 6 — Add a Light¶
The default scene has basic lighting. Let's add a directional light to give the character more definition.
- Open the Lighting tab from the menu bar.
- Click Add Light and choose Directional.
- A new directional light appears in the scene and in the left panel.
- Adjust its Intensity to around
1.2and set the Color to a warm white. - Move the light's Position so it comes from slightly above and to the left of the model — this creates a clear key light with visible shadows.
Step 7 — Add a Sequence¶
Sequences let you define which animation clips to include in the export and in what order.
- Open the Export panel on the right.
- Find the Sequences section and click Add Sequence.
- Name the sequence
walk. - Set the Animation to the
walkclip. - Set Frames to
8and FPS to10. - Repeat to add an
idlesequence using theidleclip.
You should now have two sequences queued for export.
Step 8 — Run a Workflow¶
Workflows automatically capture every sequence from every camera direction in one pass. For a top-down game with 4 directional movement:
- Open the Workflows tab from the menu bar.
- Select the Top-Down 4-Directional preset.
- Confirm the frame size (e.g. 128×128) and FPS match your sequences.
- Click Run Workflow.
The app rotates the model to each direction (N, E, S, W), captures all sequences, and assembles the atlas. When it finishes the export panel shows the completed sprite sheet.
The output will contain 8 labeled sequences: idle_N, idle_E, idle_S, idle_W, walk_N, walk_E, walk_S, walk_W.
Step 9 — Add Spritesheet Postprocess (Optional)¶
Spritesheet Postprocess runs after capture and before atlas packing. It is useful for clean 2D outlines and shadows that are easier to control on captured frames than in the 3D viewport.
- In the Export panel, expand Spritesheet Postprocess.
- Enable the section.
- Add Outer Outline.
- Choose Crisp Pixel if you want nearest-pixel edges.
- Use the animated preview and draggable before/after divider to compare the captured frames with the processed result.
The outline may add transparent padding so it does not clip at atlas edges. The exported JSON reflects the processed frame size.
Step 10 — Export to LÖVE 2D¶
- In the Export panel, open the Format dropdown.
- Select LÖVE 2D (Lua).
- Click Export and choose a destination folder.
The export produces:
spritesheet.png ← the full sprite atlas
spritesheet.lua ← Lua module with all animation definitions
main.lua ← example usage you can paste into your game
Using the Output in LÖVE 2D¶
local sprite = require("spritesheet")
function love.load()
character = sprite.load("spritesheet.png")
current = "walk_S"
end
function love.update(dt)
character:update(current, dt)
end
function love.draw()
character:draw(current, 400, 300)
end
You're Done¶
You've completed the full workflow: imported a model, configured animations and lighting, set up sequences, generated a multi-directional sprite sheet with a workflow, and exported it ready for LÖVE 2D.
From here you can explore other export formats in the Exporting doc, or learn how to use the CLI to automate this same process as part of a build pipeline.