Mesh
The Mesh Tool is a universal mesh converter that supports batch processing and flexible command sequences. It provides functionality for mesh optimization, simplification, subdivision, solid tetrahedral generation, and hierarchical graph construction. Meshes can be exported in various formats or embedded as C++ source code.
Features include attribute optimization, geometry merging, transformation, format conversion, and morph target setup. The tool is especially suited for preparing assets for real-time applications and embedding meshes into runtime engines.
Usage Example
Convert captured face meshes from the Tellusim ARLink app to a single morph-target mesh:
#!/bin/bash
ts_mesh \
face.0.mesh \
face.1.mesh \
face.2.mesh \
face.3.mesh \
face.4.mesh \
face.5.mesh \
face.7.mesh \
face.8.mesh \
face.14.mesh \
-rotate 90 0 0 \
-scale 100 100 100 \
-merge target \
-gname 0 "" \
-atname 0 0 "" \
-atname 0 1 "jawOpen" \
-atname 0 2 "mouthPucker" \
-atname 0 3 "mouthRight" \
-atname 0 4 "mouthLeft" \
-atname 0 5 "browDown_L" \
-atname 0 6 "eyeBlink_L" \
-atname 0 7 "eyeBlink_R" \
-atname 0 8 "mouthSmile_L" \
-info all \
-o face.mesh
Convert a surface mesh into a tetrahedral solid mesh:
#!/bin/bash
SCALE=6
RATIO=1.0
THRESHOLD=0.9
NAME=head.obj
GEOMETRY=0
ts_mesh $NAME -remove material -center -scale $SCALE $SCALE $SCALE -geometry $GEOMETRY -solid $RATIO $THRESHOLD -o soft_solid.mesh
Command Line Parameters
Tellusim Mesh Processing Tool
Usage: ts_mesh file.fbx <commands> -o file.glb
Supported load formats: 3ds, dae, drc, fbx, flt, glb, gltf, gml, lwo, mesh, msh, obj, ply, stl, usd, usda, usdc, usdz
Supported save formats: dae, glb, gltf, mesh, msh, obj, stl, usd, usda, usdc, usdz
-verbose Verbose output
-end End meshes processing
-info (options) Print info (node, transform, geometry, material, animation, bound, joint, attachment, all)
-o <filename> (options) Output mesh (embed, 32bit)
-e <extension> (options) Output extension (embed, 32bit)
-p <postfix> Output postfix
-prefix <prefix> Output prefix
-cpp <filename> Export geometry
-height <name> <xy> <z> Create mesh from image
-basis <basis> Set basis (xr, yr, zr, xl, yl, zl, zm)
-create <name> Create attribute (basis (angle in degrees), normal (angle in degrees), tangent, color (diffuse, normal, metallic), bound, root)
-convert <name> <format> Convert attribute to format (position, normal, tangent, binormal, texcoord, weight) (float32, float21, float16, uint16, uint8)
-optimize <name> Optimize (geometry (spatial threshold), attribute, material, order, indices, winding (clockwise), textures (size))
-remove <name> Remove (node, animation, index type, attribute type)
-merge <name> Merge (geometry, target, animation)
-pack Pack attributes
-unpack Unpack attributes
-point Convert to points
-line Convert to lines
-triangle Convert to triangles
-quadrilateral Convert to quadrilaterals
-combine Combine geometries
-geometry <index> Get mesh geometry
-subdiv <steps> Subdivion refinement
-reduce <ratio> (t) Collapse reduction (reduction ratio, threshold 0.0)
-graph (a) (p) Graph reduction (attributes 576, primitives 384)
-solid (ratio) (t) Tetrahedrons generation (height ratio 1.0, threshold 0.9)
-embed <format> (scale) Embed textures with specific file format and optional scale
-name <name> Set mesh name
-nname <index> <name> Set node name
-gname <index> <name> Set geometry name
-aname <index> <name> Set animation name
-atname <g> <a> <name> Set attribute name
-mbound Set mesh boundary on geometries
-center Set geometry center to the zero
-translate <x> <y> <z> Translate geometries
-rotate <x> <y> <z> Rotate geometries
-scale <x> <y> <z> Scale geometries
-s <scale> Scale geometries
-ntranslate <x> <y> <z> Translate nodes
-nrotate <x> <y> <z> Rotate nodes
-nscale <x> <y> <z> Scale nodes
-ns <scale> Scale nodes
-bs <scale> Scale bounds