In short. To get a painted model into a game engine, you don’t need to touch UVs:
- Choose Paint, the brush on the left, and paint on the faces.
- Choose Export in the toolbar, keep glTF (.glb), and choose Export, then Share (on a Mac, Share or Save As…).
- Import the .glb into Godot, Unity or Blender.
The export turns your painting into a texture with UVs for you. The rest of this page is for when you want your own image, or a say in the UVs.
Qwartz gives you two ways to put color on a model. Both end up as an ordinary texture with UVs when you export, so a game engine reads the result like any other model. This page walks through each one, then the export.
A word on the iPad: the Apple Pencil uses the tools and your finger moves the camera. Drag with one finger to orbit, pinch to zoom. If you’d rather paint with a finger, turn on Edit with finger in Settings (the ⓘ menu, then Settings…); you then pinch to zoom and drag with two fingers to pan. On a Mac, everything below is a click or a drag with the mouse.
Two ways to texture
Pixel paint is the quick one. Pick the Paint tool and paint straight on the faces. Each face gets its own pixel grid, sized to the face, so a pixel is the same size everywhere on the model. There are no UVs to think about. Use it for pixel-art props, characters and blocks you paint by hand.
Your own texture is for when the image comes first: a texture you drew in another app, a tile from a pack, a photo. You give the faces a Texture material, load your PNG or JPEG, and lay the faces out on the image with UVs. Use it when the art already exists, or when several faces must share one image.
You can mix them on the same model, face by face.
Pixel paint
- Pick the Paint tool, the brush in the tool strip on the left (or press P on a Mac). The paint palette opens on the right.
- Pick a color, and a tool: pencil, eraser, fill, line, rectangle, circle or eyedropper.
- Paint on any face. With the Pencil on iPad, with the mouse on a Mac.
On a Mac, X swaps the two colors and Option-click picks a color from the model. The grid shows only while you paint. Faces get 16 pixels per unit unless you change Pixel density in Settings (on a Mac, Qwartz → Settings…); it applies the first time you paint an object.
A stroke can cross from painted faces onto faces that use a Texture material, below: each face takes the paint its own way, and one undo takes back the whole stroke.
The first stroke on an object creates a material named after it, such as Cube Pixels, and you’ll see it in the Materials panel. If the face had a Color material, its color becomes the background you paint over. Moving vertices later resizes the face’s pixels with it.
What happens on export. Pixel paint lives on the faces, which no other app understands, so the export bakes it: all the painted faces of an object are packed into one PNG, and each face gets the UVs that point at its pixels. Transparent pixels stay transparent. You don’t have to do anything for this; it happens every time you export.
Bake to Texture
If you want that baked image inside Qwartz, to rearrange it in the UV editor or keep editing it as one picture, bake it yourself:
- Turn Paint off (choose the arrow at the top of the tool strip) and select the object.
- In the Inspector on the right, choose the Material row; it reads Cube Pixels. The Materials panel opens on that material.
- Choose Bake to Texture.
The material becomes a Texture material holding the packed image, and each face gets its UVs. From then on, painting on those faces paints into the image. Undo takes you back if you change your mind.
Your own texture
- Choose what gets the texture. In Object mode, select the object: every face gets it. In Face mode (the square, top left), select the faces you want.
- Open the Materials panel: choose the Material row in the Inspector on the right, or the palette button next to the selection name. The panel shows in Object and Face mode, while neither Paint nor Tile is on.
- Choose + at the top of the panel, then Texture Material…. It’s assigned to your selection right away, faces without UVs get Box UVs, and the file picker opens.
- Pick your PNG or JPEG. The image is saved inside the
.qwartzfile, and the UV editor opens beside the model, with the Materials panel still open. Replace Texture swaps the image later. - If the layout isn’t what you want, try Planar UV, below, or move the UVs in the UV editor.
If you cancel the picker, the material starts with a checker in the face’s color, 64 × 64 pixels: the model keeps its look, and the squares show how the UVs land. Paint on it, or choose Replace Texture when your image is ready. New Texture… on a Color material starts from the same checker, in that material’s color.
To put a material you already made on more faces, select them, pick the material in the list, and choose Assign to Selected (Face mode) or Assign to All Faces. Faces that have no UVs yet get Box UVs that line up with the rest; faces that already have UVs keep them.
A face has one material. In Object mode, creating a material or choosing Assign to All Faces leaves the faces you’ve painted as they are, so the painting stays; the other faces take the material. In Face mode, the faces you selected take the material and lose their painted pixels; the undo step says so, Assign Material (clears painted pixels), and Undo brings them back.
With the Paint tool, strokes on faces that use a Texture material go into the image itself, through the UVs. The texture changes everywhere it’s used. Every paint tool works there, line, rectangle and circle included; a shape stays on the face where you start it. The fill stays on the face’s UV island: the faces around it whose UVs join it without a seam. Where islands overlap in the image, they share those pixels, so the fill covers both there.
Planar and Box UV
UVs say which part of the image lands on each face. A face without UVs, from an imported model for instance, shows the whole image stretched across it; a new Texture material gives its faces Box UVs, so you start from a mapped model. The two buttons work on the selected faces (Face mode) or the whole object (Object mode). On a Color material they’re greyed out, with Add an image to map it.: choose Add Texture or New Texture… first. The ? beside them opens this section.
- Planar UV looks at the faces from one direction, their average facing, and lays them flat on the image as one piece. Use it for a wall, a floor, a sign: faces that face the same way.
- Box UV looks at each face from the nearest of the six sides of a box. Faces that face the same way share the same part of the image. Use it for blocky shapes: crates, buildings, rocks.
Either one is a starting point. Fine-tune in the UV editor.
The UV editor
Open it with the UV Editor button in the toolbar (the split rectangle). It shows the texture, with UVs on top of it: in Object mode, those of every face of the selected object; in Face mode, those of the faces you selected (in Edge or Vertex mode, the faces whose edges or corners are all selected). What it shows is what you edit, so in Object mode a move takes every face along. In Face mode, to see the faces you didn’t select too, open View Settings (the eye) and set Show to All: they’re outlined in grey, and faces stamped with tiles in violet.
When there’s nothing to show, the editor says why: Select faces to see their UVs, or No texture on this object, with a ? that opens the right part of this page.
The tools sit along the top of the editor:
- Face and Vertex decide what you pick: whole faces, or single corners.
- Select picks; tap or click a face or corner, or drag a box around several.
- Move, Scale and Rotate show handles; drag them to fit the faces to the part of the image you want.
- Paint paints into the texture, with the same palette and tools as in 3D. The model updates as you paint.
- Fit UV Space (the viewfinder, as Frame Selection in 3D) brings the whole image back into view.
- ? opens this section.
On iPad, pinch to zoom and drag with two fingers to pan. On a Mac, scroll to pan, and pinch on the trackpad or hold Command and scroll to zoom. The Mac shortcuts are W Select, G Move, S Scale, R Rotate, B Paint.
Move the UVs
The outline in the UV editor is made of points you can move. Where you put them decides which part of the image the face shows.
- In Face mode, select the faces in the 3D view, and open the UV editor.
- At the left of the editor’s toolbar, choose what you pick: Vertex (the four dots) for single corners, or Face (the square) for whole faces.
- Tap a corner or a face to select it. To take several, drag a box around them, starting from an empty spot.
- Choose Move (the four arrows) and drag its handle: the square in the middle moves freely, the red arrow only sideways, the green arrow only up and down. The face on the model shows its new part of the image as you drag.
Selected corners turn orange, with a white ring, and an orange dot marks each one on the model; in Face mode a selected face fills with orange, here and on the model. The Move handle sits in the middle of what you selected. You can also drag a selected corner or face directly, without Move, and Scale and Rotate work on the same selection. Undo puts the UVs back.
On iPad, the Pencil and one finger both pick and drag in the UV editor; two fingers pan, and a pinch zooms. A new tap or box replaces the selection. On a Mac, click to pick and drag a box; Shift-click adds or removes a corner or a face, and Shift-dragging a box adds to the selection. With the pointer in the editor, G chooses Move and W Select.
Export
- Choose Export in the toolbar (the square with an arrow pointing up).
- Choose a format, below.
- If something is selected, choose Entire Scene or Selected Objects.
- Choose Export. When it says Ready, Share it: save it to Files, AirDrop it, or send it to another app. On a Mac you also have Save As…; saving over a file that’s already there replaces it.
Hidden objects and hidden faces are left out, and so is everything under a hidden object, as in the view. When the model has any, the sheet says so, with Unhide All to bring everything back before you export. The ? at the top of the sheet opens this page.
| Format | Carries | Use it for |
|---|---|---|
| glTF (.glb) | Geometry, UVs, materials, every texture and the object hierarchy, all in one file | Game engines, Blender, the web. The one to pick for a textured model. |
| OBJ (.obj) | Geometry, UVs, normals, materials and textures | Tools that don’t read glTF |
| STL (.stl) | Geometry only, no color | 3D printing |
For .glb, leave Include textures on. Pixel paint is baked into each object’s texture as described above, and both your own textures and the baked ones are embedded in the file, set to nearest-neighbour filtering so pixels stay sharp. Colors come out as you see them in Qwartz, Color materials included, and transparent pixels stay see-through.
A .glb keeps the object hierarchy: parents, children and the empties that group them come through as the same tree you see in the outliner, each object with its own position, rotation and scale. An engine gets the parts you can move on their own, an arm under a body, a door under a house. Empties with nothing exported below them are left out. With Selected Objects, an object whose parent isn’t selected comes out at the top of the tree, exactly where it sits in the model. OBJ and STL have no hierarchy: every object comes out in place, side by side, and with Selected Objects an object whose parent isn’t selected comes out where it sits in the model too.
Turn Include textures off for a model with no images at all: each face that would show one gets a single flat color instead, the average of what it shows, so the model still looks like itself.
About .obj: an OBJ model is several files. Share sends one .zip holding a folder with the .obj, its .mtl material file and every texture image; on a Mac, Save As… saves that folder directly. Keep the files together when you move them. File names have no spaces, so other apps find the textures.
Into your engine
Import the .glb. If the pixels look soft or blurry, the engine is smoothing the texture: switch its filtering to nearest (point) for that texture or material.
Godot
Copy the .glb into your project folder, or drag it into the FileSystem dock. Godot imports it as a scene: drag it into your level, or double-click it for the import settings. If a texture looks soft, set the material’s Sampling → Filter to Nearest.
Unity
Unity doesn’t open .glb files on its own. Add Unity’s glTFast package once: Window → Package Manager, +, Add package by name…, and enter com.unity.cloud.gltfast. Then drag the .glb into your Assets folder and use it like any model. If a texture looks soft, select it and set Filter Mode to Point (no filter).
Blender
File → Import → glTF 2.0 (.glb/.gltf). Switch the viewport to Material Preview to see the textures. If they look soft, open the Shading workspace and set the Image Texture node’s interpolation to Closest.
The free version
Everything in this page works in the free version: painting, materials, UVs, the UV editor. Exporting is what the one-time purchase unlocks. Until then, the Export sheet shows Unlock to Export. The free version also lets you make up to five models, and puts a watermark on renders.
This page opens from the app too: Help in the ⓘ menu on iPad, Help → Qwartz Help (⌘?) on a Mac, and the ? on the Export sheet, in the Materials panel and in the UV editor. Stuck somewhere it doesn’t cover? Write to [email protected] and tell us what you’re making.