Nomad Change Log


ios: fix crash (permission) when exporting image on iOS (“save in image”)
ios: should be able to import hdr format as environment
ios: expose App folder visibility again
ios: smart keyboard improvements
ios: pencil double tap (experimental)
ios: make edge button more responsive
ios: triple-tap for redo works a bit better

gizmo: edit custom pivot
gizmo: can be used with multiple objects
gizmo: improve gizmo UX (add “camera view” translation and make is easier to interact with)

mask: toggle visibility
mask: “split” and “extract” features now retain layers and painting
mask: “split” and “extract” have now more option (“fill hole” vs “extract thickness” vs “none”)
mask: fix crash when using any of the mask buttons with no selection

files: fix STL export
files: obj import is more robust
files: STL/OBJ now correctly export the final layered-composited colors
files: reduces crash when exporting and importing by reducing temporary memory footprint
files: GLB now export PBR in more friendly way, so that it can be more easily used in other 3d softwares like Blender
files: fix triplanar export/import
files: background image and matcaps are now correctly loaded/saved (the texture itself is not embedded though)

interface: toolbox UI customization (auto-hide + column count)

tools: stamp and inflate were broken with dynamic topology
tools: add “Split” tool, similar to “Trim” but produces two meshes instead one mesh

scene: add “close holes” and “separate unconnected part”

shading: painting can now be hidden

history: fix undo/redo with triplanar

misc: hole filling is improved (face direction was sometimes flipped)
misc: add an option to allow non-recognized stylus pressure (finger, etc)



ios: fix keyboard shortcut for mask clear/invert
ios: when importing an image, you can choose between Photos or Files

android: try to support keyboard

voxel: substraction mode added (invisible mesh -> subtracted)
voxel: improve resolution handling with multiple objects

files: simplify autosave behavior (use regular app popup instead of save on exit)
files: fix GLB crash when exporting normals with layers
files: fix GLB load primitive non-uniform scale handling
files: fix STL orientation
files: dropping files directly into Nomad app subfolders is now more robust

performance: disabling smooth shading small speed up
performance: triangle order optimization (for voxel remeshing, but especially for global surface remeshing)

multires: improve reverse algorithm to support more cases
multires: improve duplicate multiresolution mesh (keep all levels)
multires: when exporting, always export the highest level possible

mask: with hide-mask mode, you cannot interact with invisible part (extract and split works as well)
mask: with hide-mask mode, you can remask the visible part normally
mask: extract and split will now modulate the thickness with the mask value
mask: while you hold the mask shortcut, you can blur by tapping on a masked area or sharpen on an unmasked area

triplanar: you can use SelMask tool
triplanar: double click on a plane to snap the view onto this plane
triplanar: add an option to convert a mesh to triplanar
triplanar: fully unmasked planned have now a special handling so that the result is not empty

primitive: fix gizmo not being centered when validating symmetrical primitive
primitive: fix the way configuration constraints works (slider range and automatic adjustment)

scene: hidden mesh (eye icon, not opacity factor) that are selected now displayed with an hatch pattern
scene: viewport mesh selection is improved (only simple tap can switch mesh, not tap-and-drag)
scene: add “isolate selection” option
scene: hold smooth shortcut (or shift) to select multiple meshes

gizmo: simply click on the mesh to move translate pivot point
gizmo: fix camera plane translate (orange ball) when gizmo is in local space
gizmo: “Move origin” option works better when multiple objects are selected

interface: handle phone notch
interface: separate top “tool menu” into separate “stroke” and “tool” menu
interface: add “minify ui” option (in about popup)

layer: “layer” tool will now take into account the existing offset of the current layer
stroke: add additional intensity multiplier
camera: fix orthographic visual artefact
input: add palm rejection contact area threshold (pressure panel)
dyntopo: fix holes appearing when re-opening the app and potential crash on saving
symmetry: when loading a project or a file, make sure symmetry is in the correct mode (local/world)
paint: add a “paint all” option that take channel masking and paint intensity into account
history: fix “restore camera” when redoing an operation



render: depth of field
render: screen space reflection
render: ambient occlusion
render: bloom
render: vignette
render: grain
render: chromatic aberration
render: fixed frame accumulation for better quality (fxaa removed as well)
render: directional light with optional shadows

files: use less memory when importing glb files with layers (prevent possible crash)
files: fix glb write when naming a mesh or layer with special character

voxel: better precision thanks to automatic reprojection
voxel: remesher keep the transform and the symmetry plane
voxel: boolean intersection (hide all the meshes)
voxel: the displayed resolution value now makes sense

interface: slider accepts manual numerical input
interface: scene stat infos on top left corner
interface: cube snapping on top right corner
interface: 4 fingers tap to show/hide the UI
interface: painting menu unified (no need to change tool to use “paint all”)
interface: allow left-handed mode for bottom/top bar
interface: centralize all scene display settings on top of the settings panel
interface: when tweaking a material, the object will receive an interactive live-preview
Interface: more intuitive isolate (solo shortcut) and multi select
interface: add alternative color picker (wheel)

symmetry: fix the plane not being displayed correctly when the menu is opened
symmetry: gizmo plane edit interaction fixed
symmetry: on/off value is saved per object

stroke: fix accumulate behavior
stroke: pointer offset (for small screen and finger, a bit experimental though)

scene: prevent viewport selection of hidden mesh when using isolate
scene: you can apply painting on multiple meshes at the same time

environment: fix env processing sometimes crashing on very special case
environment: slight improvement on quality (sharp reflection brightness)

tool: new tool “Mesure” (distance between 2 points)
tool: “View” tool will ignore “outline”, “show symmetry” and “darken unselected” options

camera: add the option to save/load multiple viewpoints
camera: turntable found in about section (top left nomad logo, no video recording though)

gizmo: taping on a mesh to move pivot position now works fine
gizmo: can use free rotate by clicking inside the gizmo free space
gizmo: can roll-rotate by using grey arc circle
gizmo: switch between free/roll rotate by using 2 fingers instead of 1
gizmo: custom pivots is now saved per object instead of globally

stroke: better transition behavior when switching between stylus and finger inputs
stroke: add world space radius option (versus screenspace radius)

alpha: add 16 bit support to avoid stepping artefacts
alpha: projection improved to reduce distortion

triplanar: option to hide planes
files: can read zip
rotate: fix rotation interaction
layer: update the behavior when sculpting on a layer with partial intensity
background: add image rotation slider
matcap: can rotate matcap (3 fingers drag)
android: spen improvements



multires: fix lower resolution rotate-optimisation issue (after reverse)
multires: fix glb corrupt saving when a lower level of a multires is selected

render: smoother wireframe and model edge
shadow: simplify normal bias range (independant from scene size)



voxel: improve quality (small spacing between surface)
layer: remove empty layers (for example, with separate operation)

interface: replace symmetry shortcut with mirror (when primitive is selected)
dynamic: add “constant detail” slider
dynamic: global and “constant detail” value now shares voxel detail

file: fix mesh loading (holes could appear because of thin faces)
tools: merge translate/rotate/scale tools into a single transform one
gizmo: fix issue with non uniform scale with primitive
interface: range selection (scene list) by holding shift/smooth
input: “finger always smooth” disabled with transform and gizmo tools



android: fix keyboard support
dynamic: fix constant detail slider
layer: fix recording when using custom pivot
trim: reproject hole to get better quality


android: fix crash on export (Android 11)

autosave: Autosave now works differently, it doesn’t override your current project but instead write an external file. You can then delete this file if you want to revert to your last manual save.

trim: new hole-filling algorithm, can punch holes and has more precise contour

gizmo: only display the current widget handler when interacting
gizmo: add small pie angle indicator when rotating

stroke: add option to share radius among tools
stroke: display rope stabilizer

render: improve Ambient Occlusion postprocess (sharp edges better retained)
render: frustum culling for faster rendering on big scenes with lot of objects

selector: add rotate increment for line selector
solo: isolate feature now works with multiple objects
transform: scale with one finger if Translate and Rotate are disabled
project: fix masking being ignored when using line selector
scene: add “lock selection” bottom shortcut (disabled by default)
triplanar: add back symmetry for masking
primitive: fix transform being lost when undoing a mirrored primitive
interaction: click on the cube to rotate the camera (e.g: when using Trim)
file: fix glb/gltf loading when the generator is missing



android: allow file overwriting when exporting
ios: when using text input, validation will occur when using the enter key

interface: add background import button back
interface: sharper text rendering

gizmo: add clone option to quickly duplicate an object
gizmo: fix pivot position when using multiple objects

painting: fix smooth and smudge on layer (white bleeding)
trim: fix line rotate step
file: fix gltf object material (roughness and metalness) import
light: switching between attached/non-attached light keep the light position
interface: fix incorrect label



mirror: fix mirrored primitive not being visible
interface: intensity and vertical slider not being updated
gizmo: adjust size a little bit so that rotation sphere is bigger



mask: for single object with multiple disconnected parts, simply tap on a part to mask/unmask it

paint: fix and improvements on quality

gizmo: no fading when editing pivot
gizmo: the translation arrow widget starts at the center of the gizmo

interface: input text highlights the text by default
interface: material preview with wrong exposure
interface: simplify multiple objects selection by holding and dragging the checkboxes



tools: add save/load tool (click twice on the icon in the toolbox)
language: add chinese (language option in about panel, top left nomad icon)

paint: fix material eye dropper
paint: material list acts a bit more like a material-swatch widget

stroke: add tiling options
interface: can pin menu
light: add spot lights
inflate: fix inflate
lock: fix lock selection when using selector tools (Trim, Split, etc )
solo: update behavior when selecting objects directly in interface list
render: render export ignores masking and darken unselected option
view: view tool ignores masking



render: add quality/performance options for SSR/SSAO/DOF
render: fix transparency with backface disabled
render: fix AO for small scene
render: add curvature postprocess

mask: fix crash when opening quick paint panel menu and then start masking
mask: add engraving/embossing feature
mask: add negative thickness

about: urls can now be opened

background: add opacity slider
background: base background is always opaque when tweaking overlay value

paint: add non-accumulate behavior
paint: depth filtering to paint cavity or bumps

mask: add “front-facing vertex only” option for selector mask tool

smooth: add back relax as a shortcut

light: fix spot light intensity range (small/big scene)
light: fix spot light duplicate option

material: eye dropper can be triggered with a long press
material: long press to override or delete material (simple press toggle/untoggle the material)

lang: detect device language and switch to chinese if needed
lang: use simplified chinese instead of japanese font variant

mirror: normal fixed when mirroring a scaled primitive
stroke: pressure on radius disabled for screen project tilings
alpha: add back alpha scale to allow inscribe alpha (square pattern)



ios: move language option in iOS settings page
ios: input accepts computation string (+ - * /) and can use “x” as the current value
android: input accepts minus sign

tool: add lathe tool
tool: add tube tool
tool: add insert tool

shape: improve polygon shape to mix smooth and hard edges

paint: fix erase option when using with layers
paint: add an option to prevent painting on layer area that haven’t been painted yet
paint: main intensity slider is taken into account for non-accumulated mode

render: fixing/improving curvature postprocess
layer: fix pencil pressure
primitive: fix crash when displaying wireframe with a mirrored primitive in the scene
gizmo: fix crash when using non-uniform scale with object-mode
matrix: fix rare when using gizmo or transform tool
sculpt: fix rare crash when picking a face without no vertex inside the selection radius
name: fix crash when using non supported characters (emoji) in file/name



performance: fix Drag and Move performance

primitive: add hole option for tube and lathe
primitive: add editable path in 3d for tube and lathe
primitive: fix cloned tube/lathe disappearing when editing their properties
primitive: reuse the config of the current selected primitive (insert, tube, lathe)

interface: infinite slider (detail resolution, primitive, etc)
interface: drag your finger on the eyes icon to quickly hide multiple mesh in a single gesture

tube: add closed curve option

voxel: the voxel remesher can compute lower resolution for multires

transform: fix bug with clone and transform tool (squashed history)

render: png export now supports partial mesh transparency (for compositing, etc)

background: support alpha
background: fix distortion on rotation
background: replace scale/translate/rotate sliders with interactive transform

symmetry: fix few issues with icon being disabled (insert, clone, etc)
symmetry: flip checkbox is removed and instead adding 2 mirror buttons (left to right / right to left)
symmetry: add flip option



voxel: fix voxel multires generation when layers are present



tube: fix uniform quad density when there is only 2 points
tube: improve quad density (on turn, caphole, etc)
tube: fix “snap every point” option

file: avoid saving if an error occurs and displays an error banner when it happens
file: STL and OBJ export now exports mirrored primitives as well
file: reconstruct multires when loading a file (only if the highest level is less than 400k vertices)

voxel: fix voxel subtract mode quality
symmetry: line display is now correctly displayed
layer: correction of layer offset when applying a transform on the mesh (voxel, bake, etc)
merge: fix color being broken when simple merging meshes
color: allow hex color input



eyedropper: material picker now works with primitive object

tube: improve curve fitting algorithm (curve to path)

file: fix opacity not being correctly loaded
file: fix glb loading when it detects non sculptable transform (old models)

flip: symmetry flip option now retains mesh name

clone: fix primitive cloning



ios: fix rendering bug on iPad Air 4 (and iPhone max)
android: fix crash when importing big file

smooth: intensity multiplier for faster smooth
smooth: expose drag stroke type

material: add additive transparency
resources: add minimal folder support (alphas/backgrounds/matcaps/hdris/projects)

file: improve support for big file (>~2GB uncompressed)
alpha: add mid point value option to allow negative and positive sculpting at the same time
primitive: fix project on sphere option
autosave: prevent crash when autosave occurs during sculpting/painting
color : fix color manual input validation (interface menu)
trim: cut is more precise (especially if cut was done far away from the surface)
views: camera views retain image background config
multires: fix crash when switching multires level if the layer was created on a lower resolution



matcap: fix “use global matcap” option
tube: control radius for each control point
gizmo: fix pivot being ignored when the symmetry is enabled
transform: fix pivot being ignored when the symmetry is enabled
mirror: primitive mirroring fixed when non-uniform scaling is used
opacity: ignore opacity value when mesh is opaque



android: reduce camera speed

material: add refraction (opacity)
material: increase maximum additive value (useful with bloom+tonemapping for glow effect)
material: add dithered shadow for transparency meshes
render: add point light (no shadow casting at the moment though)

postprocess: tweak bloom effect (red/green/blue channels now emit same amount of bloom)
postprocess: color grading curve option

interface: integer slider supports infinite/elastic range (useful for primitive low division count)
interface: integer slider supports damping (more control when far away from slider)
interface: add perspective toggle shortcut
interface: tool icons can now be sorted directly (long press & drag n drop)
interface: fix hex color picker input
interface: fix missing color picker knob

file: export image now supports custom size
file: fix rare crash on loading (multiresolution mesh only, with quads subdivided from triangles)
file: can export and import gltf lights (loophole: you can import more than 3)

tube: take the closest control point when a thickness control point is closed to a main control point
tube: fix precision issue with thin curve (avoid shrinking tube)
primitive: remove automatic focus when adding a primitive

stroke: selMask fix “front-facing vertex only” option
stroke: fix alpha preset

gizmo: change the way interaction is done with the rotation arcs
camera: normalize pan/zoom speed (perspective + portrait mode was too fast)
symmetry: better symmetry support with gizmo and transform (automatic pivot)