3 ROOMS IN THE FREE PACK · ENVIRONMENT BACKEND · MIT AND APACHE-2.0
One picture in. A 3D place out.
One command turns a generated or painted picture into a textured 3D scene that a character can walk around in. The GLB holds the picture at metric scale, the camera that took it, and a hidden floor for walking.
The town square the 3D build opens in, as one picture. An elevated view keeps a wide floor in frame, so the player has room to walk.
GLB · 4.75 MiB · 118,914 triangles · camera 4.02 m above the floor · 2,491 walkable cells of 0.25 m
How this file was made
Made on one of our GPU hosts during the administrator canary, with the worker runtime, graph and checked post-process, not through the public API. This command runs the same step.
The hall of the gloom stalkers, as one picture. A long floor between pillars gives the fight a lane.
GLB · 5.63 MiB · 156,008 triangles · camera 1.92 m above the floor · 455 walkable cells of 0.25 m
How this file was made
Made on one of our GPU hosts during the administrator canary, with the worker runtime, graph and checked post-process, not through the public API. This command runs the same step.
The boss room, as one picture. The seal in the middle of the floor is where the warden sleeps.
GLB · 5.58 MiB · 147,052 triangles · camera 2.15 m above the floor · 1,106 walkable cells of 0.25 m
How this file was made
Made on one of our GPU hosts during the administrator canary, with the worker runtime, graph and checked post-process, not through the public API. This command runs the same step.
The first 3D build made its town from props and tiling textures. The town it plays in now is one generated picture, rebuilt with this command. The rigged characters are the same files.
BEFORE · PROPS AND TILING TEXTURES
A cobbled plane, two stalls, four lamp posts and a shrine. Everything past the wall is black.
AFTER · ONE PICTURE, REBUILT IN 3D
The stalls, lanterns, gatehouse, walls and sky come from the picture. The shieldmaiden and the merchant walk on its floor.
Or give only a prompt. The server first paints a landscape reference picture, and then rebuilds it:
assetyard generate environment --prompt "A long stone dungeon hall with a flat flagstone floor" --out assets/hall.glb
assetyard generate model --provider environment is the same request, so a script that already uses it keeps working:
assetyard generate model --provider environment --reference-image assets/hall.png --out assets/hall.glb
The rebuild costs 0 credits during the free beta, the same as mesh work from the 3D modeler. A request with --reference-image costs 0 credits. A request with only a prompt pays the image price for the reference picture that the server paints. The rebuild takes seconds of GPU time. A prompt adds the time to paint the picture.
Add --seed N to set the seed. The flags that every generate command has work here too: --wait, --out, --max-credits, --request-id, --collection, --json.
An environment request rejects the settings that shape an object: a geometry or orientation profile other than source, a face count, a texture resolution, a rig, animation packs or clips, and a body plan.
What is in the GLB
One file holds what a game needs to stand in the picture. The axes follow glTF: +Y is up, -Z is forward, and one unit is one metre. When the backend finds a floor, the floor lies on y = 0 and the camera stands above the origin.
Part
What it is
What a game does with it
backdrop
A mesh at metric scale, textured with the picture
Draws it, or uses it for depth only
source_camera
A glTF camera where the picture was taken, with its field of view
Starts the game camera there
floor_collider
A hidden mesh over the walkable cells. Only a picture with a visible floor has one.
Collides with it, or casts rays onto it
scenes[0].extras.asset_yard_environment
The camera, the source view, the floor plane and the walkable grid
Reads it to limit where characters walk
The build read this excerpt from environment-hall.glb. That file has the nodes backdrop, floor_collider, source_camera. The full record also holds the parameters of the floor fit, and a cells array of 57 rows. In a row, . is walkable, # is blocked and ? is unknown.
Measured numbers are rounded to 3 decimals. Row 0 of the grid is at the minimum z, and column 0 is at the minimum x.
Use it in a game
The 3D demo plays in these three rooms. The game camera starts at the source view. It pans and zooms to follow the fight, drifts a few centimetres, leans toward the action and pushes in about 36 cm when a fight starts, so the room shows its depth. The game draws the textured backdrop, so a figure passes behind a pillar. A plane far behind the room fills the gaps: the sharp picture where the backdrop has no surface, such as the sky, and a soft, dark copy in the thin cracks at depth jumps. On these rooms, a push-in of half a metre and a sideways move of about 0.2 m stay clean. The game places people and props by a position in the picture, cast from the source camera onto the floor. The walkable grid limits where every character can walk.
curl -O https://assetyard.dev/demo3d/world3d.js
world3d.js is the template. It is one file with no build step. The page writes window.HOLLOWREACH_3D, which names the room files. ROOM_LAYOUT in world3d.js holds the picture positions of the spawn, the exits, the people, the props and the lamps for each room. A new room needs an entry in ROOM_ORDER and in ROOM_LAYOUT.
A wide view from slightly above. A raised viewpoint keeps a lot of floor in frame.
A broad flat floor in the lower half. The walkable grid can only cover floor that the picture shows.
Even light. The picture is the texture, so its light stays the light of the room.
No people and no text. A person becomes part of the backdrop, and a game cannot move them.
The three rooms used these prompts. Each one names the view, the floor and what to leave out.
The Last Gate
Elevated wide view from an upper window over a small walled frontier town square at dusk. A broad open square of wet cobblestones fills the lower half of the frame. Market stalls with awnings line the left and right edges. Iron lanterns on wooden posts glow warm amber. A tall stone gatehouse with a closed iron portcullis stands in the far wall. Crenellated town walls, a violet dusk sky. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no animals, no text, no logo, no watermark.
The command that painted this picture
assetyard generate image \
--prompt "Elevated wide view from an upper window over a small walled frontier town square at dusk. A broad open square of wet cobblestones fills the lower half of the frame. Market stalls with awnings line the left and right edges. Iron lanterns on wooden posts glow warm amber. A tall stone gatehouse with a closed iron portcullis stands in the far wall. Crenellated town walls, a violet dusk sky. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no animals, no text, no logo, no watermark." \
--width 1664 \
--height 928 \
--seed 32 \
--out assets/environment-town.png
This command names no model. The server runs its current model for this kind of file, so a new run can give a different file.
Elevated wide view from high in one corner of a long vaulted stone dungeon hall. A broad flat flagstone floor fills the lower half of the frame. Thick square stone pillars stand along both sides. Iron wall sconces hold low orange flames. An arched doorway glows at the far end. Thin cold mist lies on the floor. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no skeletons, no text, no logo, no watermark.
The command that painted this picture
assetyard generate image \
--prompt "Elevated wide view from high in one corner of a long vaulted stone dungeon hall. A broad flat flagstone floor fills the lower half of the frame. Thick square stone pillars stand along both sides. Iron wall sconces hold low orange flames. An arched doorway glows at the far end. Thin cold mist lies on the floor. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no skeletons, no text, no logo, no watermark." \
--width 1664 \
--height 928 \
--seed 32 \
--out assets/environment-hall.png
This command names no model. The server runs its current model for this kind of file, so a new run can give a different file.
Elevated wide view from a stone gallery into a vast circular underground vault. A broad flat cracked stone floor fills the lower half of the frame. A round iron seal in the centre of the floor glows amber from below. Heavy chains hang from the dark domed ceiling. Arched alcoves ring the curved walls. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no statues, no text, no logo, no watermark.
The command that painted this picture
assetyard generate image \
--prompt "Elevated wide view from a stone gallery into a vast circular underground vault. A broad flat cracked stone floor fills the lower half of the frame. A round iron seal in the centre of the floor glows amber from below. Heavy chains hang from the dark domed ceiling. Arched alcoves ring the curved walls. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no statues, no text, no logo, no watermark." \
--width 1664 \
--height 928 \
--seed 32 \
--out assets/environment-vault.png
This command names no model. The server runs its current model for this kind of file, so a new run can give a different file.
One picture shows one side of a place. The result looks right near the viewpoint of the picture. It has nothing behind objects.
The camera stays near the viewpoint. A game camera can pan, zoom and turn a little. Characters can walk anywhere on the walkable floor.
The floor must be visible. A surface tilted more than 45 degrees from level is not a floor.
Metric scale is an estimate. Check a size in metres against something you know, such as a door.
No floor means no collider. A picture without a visible floor still returns a backdrop, but no floor collider and no walkable grid.
License
MoGe-2 comes from Microsoft. Its code and weights use the MIT license. Its DINOv2 backbone uses Apache-2.0. The three rooms are part of the free pack, and the pack terms apply to them.