|
| 1 | +# Baked Light |
| 2 | + |
| 3 | +**Baked light** works out soft shadows in corners (ambient occlusion) and light bouncing off |
| 4 | +walls once, for everything in the scene that does not move, and saves the result with the |
| 5 | +scene. A red wall tints the floor beside it, and a crate sits in a soft shadow, without any |
| 6 | +cost while you play. It looks the same on a phone, in a headset, and on the desktop next to |
| 7 | +it. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## Baking |
| 12 | + |
| 13 | +1. Arrange the scene first. A bake is a snapshot of where things are now. |
| 14 | +2. Open **Configure Scene ▸ Scene look** and find **Baked light**. |
| 15 | +3. Choose a **Quality** (Draft, Normal or High) and press **Bake light**. |
| 16 | + |
| 17 | +A progress bar shows how far it has got, and **Cancel** stops it at once. Nothing in the |
| 18 | +scene changes until a bake has finished. You can keep working while it runs: the bake |
| 19 | +happens in the background and never freezes the editor. |
| 20 | + |
| 21 | +When it finishes, everyone in the session sees the baked light, it is saved with the scene, |
| 22 | +and **Undo** takes the whole bake off in one step. |
| 23 | + |
| 24 | +Two sliders then tune it without baking again: |
| 25 | + |
| 26 | +- **Bounce light** — how strong the bounced light is (1 = as baked). |
| 27 | +- **Corner shadows** — how dark the ambient occlusion is. |
| 28 | + |
| 29 | +**Remove baked light** takes it off again (also one Undo step). |
| 30 | + |
| 31 | +## What gets baked |
| 32 | + |
| 33 | +Everything that **does not move**: |
| 34 | + |
| 35 | +- Left out: objects with a physics body that moves (dynamic or kinematic), objects moved by |
| 36 | + a node graph or played by an animation clip, animated characters, instanced objects, |
| 37 | + hidden objects, and anything spawned while a game runs. |
| 38 | +- Everything that is baked also **casts** onto everything else — a pillar's shadow lands on |
| 39 | + the floor. |
| 40 | +- The panel lists what was left out and why, for example *"2 objects left out: 1 moves with |
| 41 | + physics, 1 has an animation."* |
| 42 | +- **Big, detailed scenes** (a whole tavern of carved kit pieces) still fit in one lightmap: very detailed |
| 43 | + objects are laid out by their own texture coordinates. Where those overlap, the object gets the soft |
| 44 | + corner shadows but no baked light, and the panel says so. Only when even that is too much are the most |
| 45 | + detailed small props left out. They still cast shadows onto the rest, and keep their normal lighting. |
| 46 | + |
| 47 | +The light that bounces comes from the scene's own lights (the sun, point and spot lights). |
| 48 | +Those lights and the sky still light the scene live as before, so moving objects and baked |
| 49 | +ones match. A scene with no lights bakes the corner shadows only. |
| 50 | + |
| 51 | +## When things move: "Out of date" |
| 52 | + |
| 53 | +If you move, delete or reshape a baked object, or change the lights, an **Out of date** chip |
| 54 | +appears next to the button. The old bake stays until you press **Bake again** — move things |
| 55 | +back and the chip goes away. |
| 56 | + |
| 57 | +## Lightmap UVs |
| 58 | + |
| 59 | +A bake needs a second set of texture coordinates that do not overlap. The app makes them for |
| 60 | +you: it uses the model's own second UV set when it has a clean one, and otherwise unwraps the |
| 61 | +object itself. Your model is never changed — the bake's coordinates live beside it and are |
| 62 | +rebuilt the same way on every device. |
| 63 | + |
| 64 | +If an object's UVs overlap and cannot be unwrapped cleanly, it gets the **corner shadows |
| 65 | +only**, and the panel says so in one line. |
| 66 | + |
| 67 | +## Devices |
| 68 | + |
| 69 | +| Device | Lightmap | Time limit | Download it shows | |
| 70 | +|---|---|---|---| |
| 71 | +| Desktop | up to 2048 px | 2 minutes | up to 16 MB | |
| 72 | +| Phone | up to 1024 px | 1 minute | up to 2 MB | |
| 73 | +| Headset | 512 px | 45 seconds | up to 1 MB | |
| 74 | + |
| 75 | +A bake made on a desktop also stores a small 512 px copy, which phones and headsets show when |
| 76 | +the full map is too big for them. A bake that hits the time limit keeps what it has and says |
| 77 | +so; **Bake again** on a faster device for a cleaner result. |
| 78 | + |
| 79 | +## Asking an AI to bake |
| 80 | + |
| 81 | +The [Claude connector](ai/claude-connector.md) and the in-app assistant can bake too: ask it to |
| 82 | +*"bake the light"* once the layout is done. It uses **set_look** with the **bake** action |
| 83 | +(`do`: bake, status, cancel, clear or strength), asks the host first like any scene-wide look |
| 84 | +change, and can tell you when the bake is out of date. |
| 85 | + |
| 86 | +## Limits worth knowing |
| 87 | + |
| 88 | +- **Moving objects are not baked.** They are still lit live and still receive the live |
| 89 | + shadows, but they get no baked corner shadows. |
| 90 | +- **A bake is one bounce.** The light bounces once off the surfaces it hits; the sky is not |
| 91 | + baked (it stays live). |
| 92 | +- **Objects drawn by a [Shader Graph](shader-graph.md)** and materials that cannot take a |
| 93 | + lightmap are not baked (they still cast onto others). |
| 94 | +- **A GLTF export does not carry the bake.** Save a **Scene (`.tpscene`)** to keep it. The |
| 95 | + lightmap is saved in the scene and shows in **Scene ▸ textures**. |
| 96 | +- Scenes saved before this version open exactly as they did. |
0 commit comments