Mesh Importer
No constructor—import functions directly from ursina.mesh_importer
. Handles locating, caching, and converting various model formats.
Overview
- Caches imported meshes in
imported_meshes
- Detects and converts
.blend
via Blender CLI - Supports
.bam
,.ursinamesh
,.obj
,.gltf
,.glb
Methods
Function | Description |
---|---|
load_model(name, folder=None, file_types=…, use_deepcopy=False, gltf_no_srgb=…) | Find and load a model by name; optionally deepcopy or convert formats. |
load_blender_scene(name, folder=…, reload=False, skip_hidden=True, …) | Export a .blend scene to a URSINA‐readable file, then load its entities or meshes. |
get_blender(blend_file) | Determine appropriate Blender executable for given file/version. |
blend_to_obj(blend_file, out_folder=…, export_mtl=True) | Run Blender headless to export .blend → .obj . |
obj_to_ursinamesh(folder=…, out_folder=…, name='*', return_mesh=True, save_to_file=False, delete_obj=False) | Read .obj , convert to Mesh , optionally save as .bam . |
ursina_mesh_to_obj(mesh, name='', out_path=…, max_decimals=5, flip_faces=True) | Export a Mesh instance to .obj . |
compress_internal() | Compress all internal models folder to .bam using current importer. |
Example
from ursina import *
from ursina.mesh_importer import obj_to_ursinamesh
app = Ursina()
# convert an .obj in samples/ to Mesh without writing to disk
m = obj_to_ursinamesh(
folder=application.asset_folder.parent / 'samples',
name='procedural_rock_0',
save_to_file=False,
delete_obj=False
)
print(m.serialize())
EditorCamera()
Sky()
app.run()