Worlds
A world is what a scene stands in: ground, grass, leaves, water and the sky over them. Pixor builds all of it from a handful of settings, so a small environment or a whole map renders the same way a character does — through the same palette, lines and light — and loops exactly.
What there is
| Part | What it makes |
|---|---|
| Terrain | terraced ground from a seeded height field. Every cell is flat and every step is a whole number of terraces, so cliffs read cleanly at sprite sizes. Tops and walls get a colour and a ramp each |
| Sprigs | grass tufts, flowers or pebbles scattered over the ground, never on a wall and kept clear of whatever already stands there — everywhere, or with a Reach, a patch round where it stands |
| Foliage | leaf clusters over every crown: a part whose name holds crown, leaves, leaf, foliage or canopy, or the word you give — every one, or with a Reach, those standing near it |
| Water | a sheet of water with waves that travel and loop, foam along the shore, and a reflection of the scene dithered in |
| Clouds | cloud shadows drifting over everything, fixed in the world |
| Sky | a sky behind everything: bands from a top colour to a bottom one in whole steps, or a painted picture |
| Wind | one wave over the scene that moves the grass, the leaves and any part you name — flags, banners, washing lines |
| Light shafts | the light standing in the air where the sun pours through, marched through the shadows |
| Times of day | one sheet per hour — dawn, noon, dusk, night — each with its own sun and its own palette |
| Chunks | a big map written as several files whose seams match exactly |
Anything that moves — wind, clouds, waves — moves in whole steps over a loop, so the last frame leads back into the first with nothing to blend.
In the app
In the Scene step, the Outliner’s + menu adds any of them, under The world. They are listed in the Outliner’s World group, and clicking one shows its settings in the Inspector: that is the whole job, and the graph never has to be opened.
Each one is a node of the Scene graph — the row and the node are one thing, as for a shape, a lamp or a volume (D49) — in the order it was added: the import, then a terrain, then grass on it, and so on. The graph is where a world can do more — a Row after a Water node makes three ponds, a Move shifts a terrain — because a world node’s copy is placed like any other copy. Grass and leaves grow everywhere they can until they are given a Reach: then a Sprigs node grows a patch that far round its At, and a Foliage node covers only the crowns standing that near it — each copy round its own place, sized with it, so a Row of three flower nodes is three patches. Clouds, the sky, wind, shafts, times of day and chunks belong to the whole scene: if there are two of one, the one nearer the Output node is used.
A world is built after the copies, so a ring of eight knights stands on one terrain, in one wind.
Times of day are also in the Asset step’s Inspector, beside the sheets they make, and exporting writes one sheet per hour.
On the command line
The same parts are flags of pxr project new and pxr project set; each adds
or changes the node, and --no-... takes it out:
pxr project new map.pixor --model chest.glb
pxr project set map.pixor --terrain 12:32:2:0.25 --terrain-seed 4
pxr project set map.pixor --scatter tuft:400:0.2 --scatter flower:40@2,1,0.8 # a patch
pxr project set map.pixor --water 4:1,0.3,-2 --reflect 0.6 --waves 0.5
pxr project set map.pixor --clouds 0.4 --wind 0.08:2 --times-of-day dawn,dusk
pxr project set map.pixor --sky '#2c3e6b,#9dbcd9,4' # or --sky dusk.png:2
pxr project set map.pixor --chunks 4x4 # 16 files an hour: 32, map_dawn_r0c0.png ... map_dusk_r3c3.png
pxr project scene map.pixor --list # the world as nodes
Every setting is reachable by name, from a blueprint or a job file too:
pxr project blueprint map.pixor -o map.pixorblueprint
pxr run map.pixorblueprint --in model=chest.glb --set terrain.seed=9 --set clouds.cover=0.7
A blueprint lifts the model out of the project, so --in model= names the
one to build the map round.
--chunks COLSxROWS on pxr render cuts one build differently from what
the project says, without changing the project.
Big maps
A map cut into chunks is drawn a chunk at a time, each with a margin of its
neighbours’ pixels around it that is cut off afterwards. The margin is wider
than any pass looks, so every kept pixel is the one the whole map would have
had, and the seams match exactly. The app writes the same files as
pxr render, byte for byte.
What this page describes is in the full version; the free browser demo keeps to the default look and the PNG sheet.
Try in browser Get Pixor