Pular para o conteúdo principal

Kit mesh

155 ferramentas. Gerado a partir do código-fonte do plugin; não edite manualmente.

As descrições das ferramentas e dos argumentos são exibidas em inglês porque espelham o schema das ferramentas (o mesmo texto que o agente recebe em tools/list).

Guia​

Static and skeletal mesh assets: LOD chains, build and reduction settings, materials and sections, sockets, simple and complex collision, UV channels and lightmap UVs, Nanite and distance fields, procedural authoring with Geometry Script, skeletal mesh basics (bones, morph targets, physics assets, skeleton binding) and folder-wide audits.

Works on UE 4.27 through 5.8 (123 tools on 4.27, 155 on 5.8). The extra 5.x tools are Nanite and the whole mesh.gs_* Geometry Script family; they are hidden from tools/list on older engines and refused with E_NOT_SUPPORTED if called anyway.

The kit is split over six classes that all expose the mesh. namespace:

ClassPrefixWhat
UUeaKit_Meshmesh.info, LODs, build settings, materials, sections, sockets, lightmap, distance field, Nanite, bounds, import settings, duplicate/rename/delete/export/merge/validate
UUeaKit_MeshCollisionmesh.simple collision primitives, convex decomposition, complexity, physical material, per-section collision, collision audits
UUeaKit_MeshUVmesh.UV channels, projections, lightmap UVs, UV bounds, tiling, auto-UV
UUeaKit_MeshGeometrymesh.gs_Geometry Script primitives and operations (UE 5 + the GeometryScripting plugin)
UUeaKit_SkeletalMeshmesh.sk_skeletal mesh LODs, materials, sockets, bones, morph targets, physics assets, skeleton
UUeaKit_MeshBatchmesh.folder audits and bulk edits

Not here: placing meshes in a level (actor kit), mesh component settings (component kit), importing FBX (asset kit asset.import_*), materials themselves (material kit).

Start here​

  1. mesh.get_info {"mesh":"/Game/Meshes/SM_Rock"} — LODs with triangle/vertex/section counts, materials, sockets, bounds, lightmap, collision summary, Nanite, LOD group, source files.
  2. mesh.audit {"folder":"/Game/Meshes"} — the whole folder with triangle budgets, LOD coverage, missing collision and lightmap resolution, plus the offenders.
  3. mesh.validate {"mesh":"..."} — one mesh checked for a broken LOD chain, missing collision, unusable lightmap UVs and empty material slots.
  4. mesh.report {"folder":"/Game/Meshes"} — the same audit as markdown text for a human.

Everything that changes an asset is transactional (edit.undo works) but nothing is saved until you call mesh.save or asset.save_all.

Recipes​

A production-ready prop in three calls​

mesh.generate_lods {"mesh":"/Game/Meshes/SM_Crate","count":3}
mesh.auto_convex_collision {"mesh":"/Game/Meshes/SM_Crate","hullCount":4,"maxHullVerts":16}
mesh.generate_lightmap_uv {"mesh":"/Game/Meshes/SM_Crate","srcChannel":0,"dstChannel":1,
"minResolution":64}

mesh.generate_lods rebuilds the whole LOD chain from LOD0 by reduction (default percentages 0.5, 0.25, 0.125…), mesh.auto_convex_collision replaces the simple collision with a convex decomposition, and mesh.generate_lightmap_uv turns on the engine's lightmap UV generator and points the lightmap coordinate index at the new channel.

Collision from scratch​

mesh.fit_collision_to_bounds {"mesh":"...","kind":"box"} // one box on the bounds
mesh.add_capsule_collision {"mesh":"...","radius":30,"length":80}
mesh.set_collision_complexity{"mesh":"...","complexity":"use_simple_as_complex"}
mesh.get_collision {"mesh":"..."} // check the result

Shapes: box, sphere, capsule, kdop10x/10y/10z/18/26 (mesh.add_kdop_collision or the generic mesh.add_simple_collision), convex hulls (mesh.auto_convex_collision). mesh.set_collision_primitive edits one primitive numerically; convex hulls cannot be edited that way. mesh.copy_collision clones a whole setup onto another mesh, and mesh.get_collision_json / mesh.set_collision_json round-trip the aggregate geometry as text.

A prop built from nothing (UE 5, GeometryScripting)​

mesh.gs_info {} // confirm the plugin is enabled
mesh.gs_pipeline {
"primitive":"box", "dimensions":{"x":200,"y":200,"z":40},
"ops":[ {"op":"translate","vector":{"x":0,"y":0,"z":20}},
{"op":"recompute_normals","amount":45},
{"op":"simplify_percent","amount":0.8} ],
"folder":"/Game/Props", "name":"SM_Platform", "collision":true }

mesh.gs_pipeline is the one-call version. The individual steps also exist: mesh.gs_create_box/sphere/cylinder/capsule/cone/torus/plane/stairs/ramp create a new asset, and mesh.gs_boolean, mesh.gs_simplify, mesh.gs_transform, mesh.gs_mirror, mesh.gs_recenter_pivot, mesh.gs_weld, mesh.gs_fill_holes, mesh.gs_remove_small_components, mesh.gs_voxel_solidify, mesh.gs_voxel_morphology, mesh.gs_flip_normals, mesh.gs_recompute_normals, mesh.gs_set_material_ids and mesh.gs_combine edit an existing one. Every modify tool takes inPlace (default true) or a folder + name pair to write a copy instead. mesh.gs_measure returns triangle/vertex counts, surface area, volume and bounds; mesh.gs_generate_collision_from_mesh produces simple collision from the geometry itself (box, sphere, capsule, convex, swept_hull, min_volume, level_set).

Project-wide clean-up​

mesh.audit {"folder":"/Game","maxTriangles":50000,"minLods":2,"onlyOffenders":true}
mesh.find_without_collision {"folder":"/Game/Props"}
mesh.batch_auto_collision {"folder":"/Game/Props","kind":"box","onlyMissing":true,"dryRun":true}
mesh.batch_auto_collision {"folder":"/Game/Props","kind":"box","onlyMissing":true,"dryRun":false}

Every batch tool defaults to dryRun: true: run it once to see what would change, then repeat with dryRun: false. The family is mesh.batch_set_lod_group, mesh.batch_generate_lods, mesh.batch_set_lightmap, mesh.batch_set_nanite (5.0+), mesh.batch_set_build_settings, mesh.batch_rebuild and mesh.batch_auto_collision. The read-only finders are mesh.find_high_poly, mesh.find_without_lods, mesh.find_without_collision and mesh.find_duplicate_geometry.

Skeletal meshes​

mesh.sk_get_info first, then mesh.sk_list_bones, mesh.sk_list_morph_targets, mesh.sk_list_sockets. To give a character physics:

mesh.sk_create_physics_asset {"mesh":"/Game/Chars/SK_Hero","folder":"/Game/Chars",
"name":"PHYS_Hero","geomType":"sphyl","assign":true}

mesh.sk_regenerate_lods and mesh.sk_remove_lods need UE 5 (4.27 has no scripting entry point for them and returns E_NOT_SUPPORTED with a hint); the reduction settings themselves (mesh.sk_set_reduction) can be written on both engines.

Gotchas​

  • Rebuild cost. Tools that change build/reduction/UV settings call PostEditChange(), which rebuilds the render data. Several of them take rebuild: false so you can batch the changes and finish with one mesh.rebuild. Triangle counts in a reply come from the built data, so they only move after a rebuild.
  • Engine content is read-only in spirit. Duplicate first: mesh.duplicate {"mesh":"/Engine/BasicShapes/Cube","folder":"/Game/Temp","name":"SM_Copy"}, then edit the copy.
  • Nanite vs LODs. A Nanite mesh ignores the LOD chain at render time but still uses it for the fallback mesh and for collision. Do not delete the LODs of a Nanite mesh that also uses use_complex_as_simple collision — mesh.validate flags that combination.
  • Lightmap UVs. coordinateIndex must point at a channel that exists, or the lighting build reuses channel 0 (overlapping UVs). Either turn on the generator with mesh.generate_lightmap_uv or create the channel yourself with mesh.add_uv_channel + a projection.
  • UV editing needs source geometry. mesh.copy_uv_channel, mesh.set_uv_tiling and mesh.flip_uv_v work on the mesh description, so they refuse meshes that only have render data (E_NOT_SUPPORTED). The projection tools (mesh.generate_planar_uv and friends) work anywhere.
  • 4.27 differences. On 4.27 the kit goes through UEditorStaticMeshLibrary (EditorScriptingUtilities, already enabled by the plugin); on 5.x through UStaticMeshEditorSubsystem / USkeletalMeshEditorSubsystem. Nanite, Geometry Script and the skeletal LOD regeneration tools simply do not exist on 4.27.
  • Geometry Script must be enabled. The mesh.gs_* tools carry RequiresPlugin="GeometryScripting": if the plugin is off they are not listed and calls are refused with the plugin name. mesh.gs_info always answers and tells you whether it is enabled.
  • mesh.merge needs an editor world. It merges through temporary actors, so it is refused with E_EDITOR_STATE when no map is open. lodSelection: -1 merges all LODs; a value of 0-7 merges that specific LOD and is required if you also want mergeMaterials. The engine's merge utility picks its own asset name (/Game/F/SM_Merged would become /Game/F/SM_SM_Merged), so the tool moves the result to the exact folder/name you asked for and always returns the final object path in mesh; anything it could not do lands in notes.
  • Material slots. mesh.remove_material_slot refuses while a render section still points at the slot; move the section with mesh.set_section first.

Ferramentas​

Legenda. risco 0 = somente leitura, 1 = operação inofensiva do editor, 2 = altera asset, 3 = apaga/substitui asset, 4 = projeto/config/build, 5 = potencialmente destrutivo (chamadas acima de MaxAutoRisk exigem "_confirm": true). altera = roda numa transação (edit.undo reverte). requer PIE / requer mundo = recusado sem sessão PIE / sem nível aberto. requer plugin = indisponível quando o plugin está desativado. dryRun = aceita o argumento dryRun. smoke = coberto por edit.self_test.

mesh.add_box_collision (risco 2, altera, smoke)​

Adds a box collision primitive. An empty extent uses the mesh bounds.

ArgumentoTipoDescrição
meshstringobrigatório.
extent{x,y,z}Full size on X/Y/Z. (0,0,0) uses the mesh bounds.
center{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.add_capsule_collision (risco 2, altera, smoke)​

Adds a capsule (sphyl) collision primitive. Radius/length of 0 are derived from the bounds.

ArgumentoTipoDescrição
meshstringobrigatório.
radiusnumberRadius in centimetres; <= 0 derives it from the bounds. Padrão 0.0.
lengthnumberLength of the cylindrical part; <= 0 derives it from the bounds. Padrão 0.0.
center{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.add_kdop_collision (risco 2, altera, smoke)​

Adds a kDOP hull (kdop10x, kdop10y, kdop10z, kdop18, kdop26) fitted to the mesh.

ArgumentoTipoDescrição
meshstringobrigatório.
kindstringobrigatório. kdop10x / kdop10y / kdop10z / kdop18 / kdop26.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.add_material_slot (risco 2, altera, smoke)​

Appends a material slot to the mesh.

ArgumentoTipoDescrição
meshstringobrigatório.
materialstringMaterial assigned to the new slot (optional).
slotNamestringName of the new slot (defaults to the material name).

Retorna: mesh, materials, count, message.

mesh.add_simple_collision (risco 2, altera, smoke)​

Adds a simple collision shape by name (box, sphere, capsule or any kDOP) fitted to the mesh.

ArgumentoTipoDescrição
meshstringobrigatório.
shapestringobrigatório. box / sphere / capsule / kdop10x / kdop10y / kdop10z / kdop18 / kdop26.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.add_socket (risco 2, altera, smoke)​

Adds a socket with a relative location, rotation, scale and tag.

ArgumentoTipoDescrição
meshstringobrigatório.
namestringobrigatório. Socket name.
location{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means "leave alone" on set and (1,1,1) on add.
tagstringFree-form tag stored on the socket.
previewMeshstringStatic mesh shown at the socket in the editor preview.
newNamestringNew socket name (mesh.set_socket only).

Retorna: mesh, sockets, count, message.

mesh.add_sphere_collision (risco 2, altera, smoke)​

Adds a sphere collision primitive. A radius of 0 uses the bounding sphere.

ArgumentoTipoDescrição
meshstringobrigatório.
radiusnumberRadius in centimetres; <= 0 uses the bounding sphere. Padrão 0.0.
center{x,y,z}

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.add_uv_channel (risco 2, altera, smoke)​

Appends an empty UV channel to a LOD.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerUV channel index. Padrão 0.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.audit (risco 0, smoke)​

Audits every static mesh of a folder: triangles, LODs, collision, lightmap, Nanite, materials, plus the meshes that break the given budgets.

ArgumentoTipoDescrição
folderstringobrigatório.
recursivebooleanPadrão true.
limitintegerPadrão 200.
maxTrianglesintegerFlag meshes with more LOD0 triangles than this (<= 0 disables the check). Padrão 100000.
minLodsintegerFlag meshes with fewer LODs than this (<= 0 disables the check). Padrão 2.
onlyOffendersbooleanOnly return the flagged meshes. Padrão false.

Retorna: meshes, count, offenders, totalTriangles, withoutCollision, singleLod, naniteEnabled, message.

mesh.auto_convex_collision (risco 3, altera, smoke)​

Replaces the simple collision with a convex decomposition of the mesh (hull count, vertices per hull, voxel precision).

ArgumentoTipoDescrição
meshstringobrigatório.
hullCountintegerMaximum number of convex hulls to generate. Padrão 4.
maxHullVertsintegerMaximum vertices per hull (6-32). Padrão 16.
precisionintegerVoxel resolution of the decomposition (higher = slower and more accurate). Padrão 100000.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.batch_auto_collision (risco 3, altera, dryRun, smoke)​

Generates simple collision for every mesh of a folder (box, sphere, capsule or convex), optionally only where it is missing. Supports dryRun.

ArgumentoTipoDescrição
folderstringobrigatório. Content folder to process.
kindstringbox / sphere / capsule / convex.
onlyMissingbooleanOnly touch meshes that have no simple collision yet. Padrão true.
hullCountintegerConvex hull count when kind is convex. Padrão 4.
limitintegerMaximum number of meshes processed. Padrão 50.
dryRunbooleanReport what would happen without changing anything. Padrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.batch_generate_lods (risco 3, altera, dryRun, smoke)​

Generates a LOD chain for every static mesh of a folder, optionally only for the meshes that have a single LOD.

ArgumentoTipoDescrição
countintegerTotal number of LODs, including LOD0. Padrão 3.
percentsarray of numberTriangle fraction per generated LOD.
onlyIfSingleLodbooleanOnly touch meshes that currently have a single LOD. Padrão true.
dryRunbooleanPadrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.batch_rebuild (risco 3, altera, dryRun, smoke)​

Rebuilds the render data of every static mesh of a folder (slow: use dryRun first to see the count).

ArgumentoTipoDescrição
dryRunbooleanPadrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.batch_set_build_settings (risco 2, altera, dryRun, smoke)​

Applies build settings (normals, tangents, lightmap UV generation, degenerates, precision) to every LOD of every mesh of a folder.

ArgumentoTipoDescrição
recomputeNormalsstring"true"/"false" to change, empty to leave alone.
recomputeTangentsstring
generateLightmapUVsstring
removeDegeneratesstring
fullPrecisionUVsstring
minLightmapResolutionintegerMinimum lightmap resolution used by the lightmap UV generator (-1 = leave). Padrão -1.
dstLightmapIndexintegerDestination UV channel of the generated lightmap UVs (-1 = leave). Padrão -1.
dryRunbooleanPadrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.batch_set_lightmap (risco 2, altera, dryRun, smoke)​

Sets the lightmap resolution of every static mesh of a folder, optionally only where it is below a threshold.

ArgumentoTipoDescrição
resolutionintegerLightmap resolution applied to the meshes. Padrão 64.
onlyBelowintegerOnly touch meshes whose current resolution is below this value (<= 0 = touch all). Padrão 0.
dryRunbooleanPadrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.batch_set_lod_group (risco 2, altera, dryRun, smoke)​

Assigns a LOD group to every static mesh of a folder.

ArgumentoTipoDescrição
groupstringobrigatório. LOD group applied to every mesh of the folder.
dryRunbooleanReport what would happen without changing anything. Padrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.batch_set_nanite (risco 2, altera, UE 5.0+, dryRun, smoke)​

Turns Nanite on or off for every static mesh of a folder above a triangle threshold.

ArgumentoTipoDescrição
enabledbooleanTurn Nanite on or off. Padrão true.
minTrianglesintegerOnly touch meshes with at least this many LOD0 triangles. Padrão 0.
dryRunbooleanPadrão true.

Retorna: meshes, count, changed, dryRun, message.

mesh.collision_stats (risco 0, smoke)​

Collision audit of a folder: meshes without simple collision, meshes using complex-as-simple and hull counts.

ArgumentoTipoDescrição
folderstringobrigatório. Content folder to process.
kindstringbox / sphere / capsule / convex.
onlyMissingbooleanOnly touch meshes that have no simple collision yet. Padrão true.
hullCountintegerConvex hull count when kind is convex. Padrão 4.
limitintegerMaximum number of meshes processed. Padrão 50.
dryRunbooleanReport what would happen without changing anything. Padrão true.

Retorna: meshes, withoutSimpleCollision, usingComplexAsSimple, totalPrimitives, totalConvexHulls, offenders, message.

mesh.copy_collision (risco 2, altera, smoke)​

Copies the simple collision of one mesh onto another.

ArgumentoTipoDescrição
fromstringobrigatório. Mesh the collision is read from.
tostringobrigatório. Mesh the collision is written to.
replacebooleanReplace the destination's collision instead of appending to it. Padrão true.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.copy_uv_channel (risco 2, altera, smoke)​

Copies the UV coordinates of one channel into another (the destination is created when missing).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
fromintegerobrigatório. Channel to read from.
tointegerobrigatório. Channel to write to (created when missing).

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.delete (risco 3, altera, destrutivo, smoke)​

Deletes a static mesh asset. Refused while other assets still reference it.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, name, folder, message, notes.

mesh.duplicate (risco 2, altera, smoke)​

Duplicates a static mesh into folder/name. Use this to create the working copy before editing engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Source static mesh asset path or unique name.
folderstringDestination folder (defaults to the source folder).
namestringobrigatório. Name of the new asset.

Retorna: mesh, name, folder, message, notes.

mesh.export (risco 1)​

Exports a static mesh to an FBX or OBJ file. Not smoke-tested: it writes outside the content folder.

ArgumentoTipoDescrição
meshstringobrigatório.
filestringobrigatório. Absolute path of the file to write.
formatstringfbx (default) or obj.

Retorna: mesh, name, folder, message, notes.

mesh.find_duplicate_geometry (risco 0, smoke)​

Groups static meshes of a folder that share the same triangle count, vertex count and bounds (likely duplicates).

ArgumentoTipoDescrição
folderstringobrigatório. Content folder to scan.
recursivebooleanInclude subfolders. Padrão true.
limitintegerMaximum number of meshes inspected. Padrão 200.

Retorna: groups, count, scanned, message.

mesh.find_high_poly (risco 0, smoke)​

Static meshes of a folder whose LOD0 exceeds a triangle threshold, sorted by triangle count.

ArgumentoTipoDescrição
thresholdintegerLOD0 triangle count above which a mesh is reported. Padrão 50000.

Retorna: meshes, count, offenders, totalTriangles, withoutCollision, singleLod, naniteEnabled, message.

mesh.find_without_collision (risco 0, smoke)​

Static meshes of a folder without simple collision.

ArgumentoTipoDescrição
folderstringobrigatório. Content folder to scan.
recursivebooleanInclude subfolders. Padrão true.
limitintegerMaximum number of meshes inspected. Padrão 200.

Retorna: meshes, count, offenders, totalTriangles, withoutCollision, singleLod, naniteEnabled, message.

mesh.find_without_lods (risco 0, smoke)​

Static meshes of a folder that have a single LOD.

ArgumentoTipoDescrição
folderstringobrigatório. Content folder to scan.
recursivebooleanInclude subfolders. Padrão true.
limitintegerMaximum number of meshes inspected. Padrão 200.

Retorna: meshes, count, offenders, totalTriangles, withoutCollision, singleLod, naniteEnabled, message.

mesh.fit_collision_to_bounds (risco 2, altera, smoke)​

Fits a single box, sphere or capsule to the mesh bounds, replacing the existing simple collision by default.

ArgumentoTipoDescrição
meshstringobrigatório.
kindstringbox / sphere / capsule.
replacebooleanReplace the existing simple collision instead of adding to it. Padrão true.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.flip_uv_v (risco 2, altera, smoke)​

Flips one UV channel vertically (v = 1 - v), the usual fix for meshes authored in a V-up tool.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerUV channel index. Padrão 0.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.generate_box_uv (risco 2, altera, smoke)​

Generates box-projected UVs into a channel (an empty size uses the mesh bounds).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerobrigatório. UV channel the projection is written to.
position{x,y,z}Centre of the projection gizmo in local space.
orientation{x,y,z}Orientation of the projection gizmo as pitch/yaw/roll.
tiling{x,y,z}Tiling on U and V (planar and cylindrical); defaults to 1,1.
size{x,y,z}Size of the projection box (box projection only); defaults to the mesh bounds.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.generate_cylindrical_uv (risco 2, altera, smoke)​

Generates cylindrical-projected UVs into a channel.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerobrigatório. UV channel the projection is written to.
position{x,y,z}Centre of the projection gizmo in local space.
orientation{x,y,z}Orientation of the projection gizmo as pitch/yaw/roll.
tiling{x,y,z}Tiling on U and V (planar and cylindrical); defaults to 1,1.
size{x,y,z}Size of the projection box (box projection only); defaults to the mesh bounds.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.generate_lightmap_uv (risco 2, altera, smoke)​

Turns on the engine's lightmap UV generator for a LOD and rebuilds it (source channel, destination channel and minimum resolution).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
minResolutionintegerMinimum lightmap texture resolution used for the packing. Padrão 64.
srcChannelintegerUV channel the generator reads from. Padrão 0.
dstChannelintegerUV channel the generated lightmap UVs are written to. Padrão 1.
setLightmapIndexbooleanAlso point the mesh's lightmap coordinate index at dstChannel. Padrão true.
rebuildbooleanPadrão true.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.generate_lods (risco 2, altera, smoke)​

Builds a whole LOD chain from LOD0 by automatic reduction (default 0.5, 0.25, 0.125...). One call replaces the existing LODs.

ArgumentoTipoDescrição
meshstringobrigatório.
countintegerobrigatório. Total number of LODs to produce, including LOD0 (2-8).
percentsarray of numberTriangle fraction per generated LOD (default 0.5, 0.25, 0.125...).
screenSizesarray of numberScreen size per LOD; empty means auto-compute.
rebuildbooleanPadrão true.

Retorna: mesh, message, lods, notes.

mesh.generate_planar_uv (risco 2, altera, smoke)​

Generates planar-projected UVs into a channel (position, orientation and tiling of the projection gizmo).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerobrigatório. UV channel the projection is written to.
position{x,y,z}Centre of the projection gizmo in local space.
orientation{x,y,z}Orientation of the projection gizmo as pitch/yaw/roll.
tiling{x,y,z}Tiling on U and V (planar and cylindrical); defaults to 1,1.
size{x,y,z}Size of the projection box (box projection only); defaults to the mesh bounds.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.get_bounds (risco 0, smoke)​

Local-space bounds of the mesh: origin, box extent, sphere radius, min/max and the bounds extensions.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, origin, boxExtent, sphereRadius, min, max, positiveBoundsExtension, negativeBoundsExtension, message.

mesh.get_build_settings (risco 0, smoke)​

Build settings of one LOD as key/value text.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.
lodintegerLOD index (0 = highest detail). Padrão 0.

Retorna: mesh, values, message.

mesh.get_collision (risco 0, smoke)​

Full collision setup of a mesh: every primitive with its geometry, the complexity flag, the physical material, mirroring and the complex collision mesh.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.get_collision_json (risco 0, smoke)​

Serialises the aggregate collision geometry of a mesh as engine property text, for a later mesh.set_collision_json.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, collision, primitives, message.

mesh.get_info (risco 0, smoke)​

Everything about a static mesh in one call: LODs with triangle/vertex/section counts, materials, sockets, bounds, lightmap, collision summary, Nanite, distance field, LOD group, min LOD and source files.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, name, folder, lodCount, lods, materials, sockets, boundsOrigin, boundsExtent, boundsSphereRadius, lightmapResolution, lightmapCoordinateIndex, collision, naniteEnabled, generateDistanceField, distanceFieldResolutionScale, lodGroup, minLod, supportRayTracing, allowCpuAccess, hasVertexColors, sourceFiles, totalTriangles, totalVertices.

mesh.get_lod (risco 0, smoke)​

Build settings, reduction settings, screen size and statistics of one LOD.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.
lodintegerLOD index (0 = highest detail). Padrão 0.

Retorna: mesh, stats, buildSettings, reductionSettings, autoComputeScreenSize.

mesh.get_nanite (risco 0, UE 5.0+, smoke)​

Current Nanite settings of a mesh as key/value text.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, values, message.

mesh.get_source_info (risco 0, smoke)​

Files the mesh was imported from plus the import settings that will be reused on the next reimport.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, sourceFiles, canReimport, importDataClass, settings, message.

mesh.get_stats (risco 0, smoke)​

Per-LOD triangle/vertex/section counts, total counts, UV channels, vertex colours, lightmap resolution, collision primitive count and a rough memory estimate.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, lods, totalTriangles, totalVertices, uvChannels, hasVertexColors, lightmapResolution, collisionPrimitives, materialSlots, estimatedMemoryKb.

mesh.get_uv_bounds (risco 0, smoke)​

Min/max UV coordinates of one channel and whether it leaves the 0-1 range.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerUV channel index. Padrão 0.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.gs_auto_uv (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Automatic UV unwrap with Geometry Script (XAtlas or PatchBuilder) written back into a LOD.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerUV channel the generated layout is written to. Padrão 0.
methodstringxatlas (default) or patchbuilder.
initialPatchCountintegerInitial patch count for the patchbuilder method. Padrão 100.
iterationsintegerXAtlas iteration count. Padrão 2.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.gs_boolean (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Boolean union, subtraction or intersection of two static meshes, written in place or into a new asset.

ArgumentoTipoDescrição
otherstringobrigatório. Second operand.
opstringunion / subtract / intersect.
otherLocation{x,y,z}Translation applied to the second operand before the operation.
otherRotation{x,y,z}Rotation of the second operand as pitch/yaw/roll.
otherScale{x,y,z}Scale of the second operand; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_combine (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Appends several static meshes into a single new asset.

ArgumentoTipoDescrição
meshesarray of stringobrigatório. Static meshes to append, in order.
folderstringobrigatório. Destination folder.
namestringobrigatório. Destination asset name.
collisionbooleanAlso generate simple collision for the result. Padrão false.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_box (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a box (dimensions, subdivision steps, optional collision).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_capsule (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a capsule (radius, height of the cylindrical part).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_cone (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a cone (base radius, top radius, height).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_cylinder (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a cylinder (radius, height, radial steps, capped).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_plane (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a flat rectangle in XY (dimensions, subdivisions).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_ramp (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a wedge-shaped ramp (width, and dimensions as run/rise).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_sphere (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a UV sphere (radius, steps).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_stairs (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a straight staircase from stacked boxes (stepCount, width, and dimensions as step run/rise).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_create_torus (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Creates a static mesh asset containing a torus (major radius, minor radius, steps).

ArgumentoTipoDescrição
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new static mesh asset.
dimensions{x,y,z}Box and plane size on X/Y/Z in centimetres; zero falls back to 100.
radiusnumberRadius of a sphere, cylinder, capsule or cone base; <= 0 falls back to 50. Padrão 0.0.
heightnumberHeight of a cylinder, cone or the cylindrical part of a capsule; <= 0 falls back to 100. Padrão 0.0.
majorRadiusnumberMajor radius of a torus. Padrão 0.0.
minorRadiusnumberMinor (tube) radius of a torus. Padrão 0.0.
topRadiusnumberTop radius of a cone (0 = a sharp tip). Padrão 0.0.
stepsintegerGeneric subdivision count (sphere latitude, torus major steps, plane subdivisions). Padrão 0.
radialStepsintegerRadial subdivisions of a cylinder, capsule or cone. Padrão 0.
heightStepsintegerVertical subdivisions of a cylinder or cone. Padrão 0.
cappedbooleanClose the ends of a cylinder or cone. Padrão true.
stepCountintegerNumber of steps of a staircase. Padrão 8.
widthnumberWidth of a staircase or ramp. Padrão 100.0.
collisionbooleanAlso generate simple collision fitted to the result. Padrão true.
materialstringMaterial assigned to slot 0 of the new asset.
location{x,y,z}Location of the primitive inside the asset.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_fill_holes (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Fills every open boundary loop of a mesh.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh to read.
lodintegerLOD read and written (default 0). Padrão 0.
inPlacebooleanWrite the result back into the source mesh instead of creating a new asset. Padrão true.
folderstringDestination folder when inPlace is false.
namestringDestination asset name when inPlace is false.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_flip_normals (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Flips every triangle and normal of a mesh (fixes inside-out geometry).

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh to read.
lodintegerLOD read and written (default 0). Padrão 0.
inPlacebooleanWrite the result back into the source mesh instead of creating a new asset. Padrão true.
folderstringDestination folder when inPlace is false.
namestringDestination asset name when inPlace is false.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_generate_collision_from_mesh (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Generates simple collision for a static mesh from its own geometry (boxes, spheres, capsules, convex hulls or minimum-volume shapes).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
methodstringbox / sphere / capsule / convex / min_volume / swept_hull / level_set.
maxHullsintegerMaximum number of convex hulls. Padrão 4.
hullTargetFaceCountintegerTarget face count per simplified hull. Padrão 25.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_info (risco 0, UE 5.0+, smoke)​

Whether Geometry Script is available here, plus the operation and primitive names accepted by mesh.gs_pipeline.

Sem argumentos.

Retorna: available, ops, primitives, engine, message.

mesh.gs_measure (risco 0, UE 5.1+, requer plugin GeometryScripting, smoke)​

Triangle/vertex counts, surface area, volume and bounds of a mesh as seen by Geometry Script.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh to read.
lodintegerLOD read and written (default 0). Padrão 0.
inPlacebooleanWrite the result back into the source mesh instead of creating a new asset. Padrão true.
folderstringDestination folder when inPlace is false.
namestringDestination asset name when inPlace is false.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_mirror (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Mirrors the geometry across the X, Y or Z plane through the origin.

ArgumentoTipoDescrição
axisstringx, y or z: the axis the geometry is mirrored across.
weldbooleanWeld the geometry along the mirror plane. Padrão true.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_pipeline (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Builds a whole prop in one call: a primitive or an existing mesh, an ordered list of operations, and one output asset.

ArgumentoTipoDescrição
meshstringExisting static mesh used as the source; leave empty to start from a primitive.
primitivestringPrimitive to start from when 'mesh' is empty: box / sphere / cylinder / capsule / cone / torus / plane.
dimensions{x,y,z}Size of the starting primitive (box/plane dimensions).
radiusnumberRadius of the starting primitive. Padrão 0.0.
heightnumberHeight of the starting primitive. Padrão 0.0.
opsarray of UeaGsOpOrdered list of operations applied to the working mesh.
folderstringDestination folder (required unless inPlace is true).
namestringDestination asset name (required unless inPlace is true).
inPlacebooleanWrite the result back into 'mesh' instead of creating a new asset. Padrão false.
collisionbooleanAlso generate simple collision for the result. Padrão false.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_recenter_pivot (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Moves the geometry so the pivot ends up at the bounds centre, the bottom centre, the top centre or the origin.

ArgumentoTipoDescrição
modestringbounds_center / bottom_center / origin / top_center.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_recompute_normals (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Recomputes the normals, optionally splitting them along edges sharper than an angle.

ArgumentoTipoDescrição
angleThresholdnumberSplit the normals along edges sharper than this angle (degrees). Padrão 60.0.
splitNormalsbooleanCompute split (hard-edge) normals instead of smooth per-vertex normals. Padrão true.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_remove_small_components (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Removes small disconnected islands below a triangle count, area or volume.

ArgumentoTipoDescrição
minTrianglesintegerRemove connected islands with fewer triangles than this. Padrão 4.
minAreanumberRemove connected islands with a smaller surface area than this. Padrão 1.0.
minVolumenumberRemove connected islands with a smaller volume than this. Padrão 1.0.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_set_material_ids (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Assigns one material ID to every triangle of a mesh.

ArgumentoTipoDescrição
materialIdintegerMaterial ID (material slot index) assigned to every triangle. Padrão 0.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_simplify (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Simplifies a mesh to a triangle count, a vertex count or a fraction of its triangles.

ArgumentoTipoDescrição
targetTrianglesintegerTarget triangle count; used when > 0. Padrão 0.
targetVerticesintegerTarget vertex count; used when > 0 and targetTriangles is 0. Padrão 0.
percentnumberFraction of the current triangles to keep (0-1); used when the counts above are 0. Padrão 0.5.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_transform (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Translates, rotates and scales the geometry of a mesh (optionally recentring it first).

ArgumentoTipoDescrição
translate{x,y,z}
rotate{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.
recenterbooleanMove the geometry so its bounds are centred on the origin before the transform. Padrão false.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_uv_planar_projection (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Planar UV projection computed with Geometry Script (works on the dynamic mesh, unlike mesh.generate_planar_uv).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerobrigatório. UV channel the projection is written to.
position{x,y,z}Centre of the projection gizmo in local space.
orientation{x,y,z}Orientation of the projection gizmo as pitch/yaw/roll.
tiling{x,y,z}Tiling on U and V (planar and cylindrical); defaults to 1,1.
size{x,y,z}Size of the projection box (box projection only); defaults to the mesh bounds.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.gs_voxel_morphology (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Voxel morphology: dilate, contract, close or open the mesh by a distance.

ArgumentoTipoDescrição
gridResolutionintegerVoxel grid resolution along the longest axis. Padrão 64.
windingThresholdnumberWinding threshold used to decide what is inside (solidify only). Padrão 0.5.
operationstringdilate / contract / close / open (morphology only).
distancenumberOffset distance in centimetres (morphology only). Padrão 1.0.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_voxel_solidify (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Voxelises a mesh and rebuilds a watertight surface from it (the usual fix for messy CAD geometry).

ArgumentoTipoDescrição
gridResolutionintegerVoxel grid resolution along the longest axis. Padrão 64.
windingThresholdnumberWinding threshold used to decide what is inside (solidify only). Padrão 0.5.
operationstringdilate / contract / close / open (morphology only).
distancenumberOffset distance in centimetres (morphology only). Padrão 1.0.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.gs_weld (risco 2, altera, UE 5.1+, requer plugin GeometryScripting, smoke)​

Welds coincident mesh edges within a tolerance (closes cracks left by an import).

ArgumentoTipoDescrição
tolerancenumberDistance tolerance in centimetres. Padrão 0.01.

Retorna: mesh, name, triangles, vertices, surfaceArea, volume, boundsMin, boundsMax, message, notes.

mesh.has_vertex_colors (risco 0, smoke)​

Whether a LOD of the mesh stores per-vertex colours.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.
lodintegerLOD index (0 = highest detail). Padrão 0.

Retorna: mesh, values, message.

mesh.insert_uv_channel (risco 2, altera, smoke)​

Inserts an empty UV channel at a given index, shifting the later channels up.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerUV channel index. Padrão 0.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.list (risco 0, smoke)​

Lists static meshes under a folder with optional triangle-count, LOD-count and collision filters. Empty folder lists /Game.

ArgumentoTipoDescrição
folderstringContent folder to search ("/Game" when empty).
nameContainsstringKeep only meshes whose name contains this text.
minTrianglesintegerKeep only meshes with at least this many LOD0 triangles (-1 = no filter). Padrão -1.
maxTrianglesintegerKeep only meshes with at most this many LOD0 triangles (-1 = no filter). Padrão -1.
withoutCollisionbooleanKeep only meshes without simple collision. Padrão false.
lodCountintegerKeep only meshes with exactly this many LODs (-1 = no filter). Padrão -1.
limitintegerMaximum number of meshes returned. Padrão 100.

Retorna: meshes, count, scanned, message.

mesh.list_collision_primitives (risco 0, smoke)​

Simple collision primitives of a mesh (same data as mesh.get_collision without the summary fields).

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.list_lod_groups (risco 0, smoke)​

LOD group names configured for this project (Engine LOD group settings).

Sem argumentos.

Retorna: names, count.

mesh.list_materials (risco 0, smoke)​

Material slots of the mesh: index, slot name, imported name, material path and UV density.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, materials, count, message.

mesh.list_sections (risco 0, smoke)​

Render sections of a LOD: material index, triangle count, collision, shadow casting and ray tracing flags.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.
lodintegerLOD index (0 = highest detail). Padrão 0.

Retorna: mesh, sections, count, message.

mesh.list_sockets (risco 0, smoke)​

Sockets of the mesh with their relative transforms and tags.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, sockets, count, message.

mesh.list_uv_channels (risco 0, smoke)​

UV channels of a LOD with their bounds, whether they leave the 0-1 range and which one is the lightmap channel.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.
lodintegerLOD index (0 = highest detail). Padrão 0.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.merge (risco 3, altera, requer mundo, smoke)​

Merges several static meshes into a single new asset (mesh merge utilities, optional material baking). Needs an editor world because the sources are merged through temporary components.

ArgumentoTipoDescrição
meshesarray of stringobrigatório. Static meshes to merge, in order.
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the merged asset.
mergeMaterialsbooleanBake the source materials into a single merged material. Padrão false.
pivotAtOriginbooleanPlace the pivot at the world origin instead of the first mesh's pivot. Padrão true.
lodSelectionintegerLOD of each source mesh to merge (-1 = use all LODs). Padrão 0.

Retorna: mesh, name, folder, message, notes.

mesh.rebuild (risco 2, altera, smoke)​

Rebuilds the render data of the mesh and reports any build errors.

ArgumentoTipoDescrição
meshstringobrigatório.
silentbooleanSuppress the engine's build progress dialog. Padrão true.

Retorna: mesh, message, lods, notes.

mesh.remove_all_sockets (risco 3, altera, destrutivo, smoke)​

Removes every socket of the mesh.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, sockets, count, message.

mesh.remove_collision (risco 3, altera, destrutivo, smoke)​

Removes every simple collision primitive of the mesh.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.remove_collision_primitive (risco 3, altera, smoke)​

Removes one collision primitive by type and index.

ArgumentoTipoDescrição
meshstringobrigatório.
typestringobrigatório. box / sphere / capsule / convex.
indexintegerobrigatório.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.remove_lods (risco 3, altera, smoke)​

Removes every LOD except LOD0.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, message, lods, notes.

mesh.remove_material_slot (risco 3, altera, smoke)​

Removes a material slot. Refused while a section still uses it.

ArgumentoTipoDescrição
meshstringobrigatório.
slotstringobrigatório. Slot index or slot name. Refused when a section still uses the slot.

Retorna: mesh, materials, count, message.

mesh.remove_socket (risco 3, altera, smoke)​

Removes one socket by name.

ArgumentoTipoDescrição
meshstringobrigatório.
namestringobrigatório.

Retorna: mesh, sockets, count, message.

mesh.remove_uv_channel (risco 3, altera, smoke)​

Removes one UV channel from a LOD.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerUV channel index. Padrão 0.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.rename (risco 3, altera, smoke)​

Renames or moves a static mesh asset.

ArgumentoTipoDescrição
meshstringobrigatório. Source static mesh asset path or unique name.
folderstringDestination folder (defaults to the source folder).
namestringobrigatório. Name of the new asset.

Retorna: mesh, name, folder, message, notes.

mesh.rename_material_slot (risco 2, altera, smoke)​

Renames a material slot (the name components use to override the material).

ArgumentoTipoDescrição
meshstringobrigatório.
slotstringobrigatório. Slot index or current slot name.
newNamestringobrigatório.

Retorna: mesh, materials, count, message.

mesh.report (risco 0, smoke)​

Markdown-style summary of a folder's static meshes: totals, budgets and the worst offenders, for a human to read.

ArgumentoTipoDescrição
folderstringobrigatório.
recursivebooleanPadrão true.
limitintegerPadrão 200.
maxTrianglesintegerFlag meshes with more LOD0 triangles than this (<= 0 disables the check). Padrão 100000.
minLodsintegerFlag meshes with fewer LODs than this (<= 0 disables the check). Padrão 2.
onlyOffendersbooleanOnly return the flagged meshes. Padrão false.

Retorna: report, meshes, totalTriangles, message.

mesh.save (risco 2, altera)​

Saves the mesh package to disk. Not smoke-tested: the self-test must not write assets to disk.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, message, lods, notes.

mesh.set_build_settings (risco 2, altera, smoke)​

Build settings of one LOD (or of every LOD with lod=-1): normals, tangents, lightmap UV generation, degenerates, precision, build scale and distance field.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerLOD to change, or -1 for every LOD. Padrão 0.
recomputeNormalsstring"true"/"false" to change, empty to leave alone.
recomputeTangentsstring
useMikkTSpacestring
generateLightmapUVsstring
minLightmapResolutionintegerMinimum lightmap resolution used when generating lightmap UVs (-1 = leave). Padrão -1.
srcLightmapIndexintegerSource UV channel for the generated lightmap UVs (-1 = leave). Padrão -1.
dstLightmapIndexintegerDestination UV channel for the generated lightmap UVs (-1 = leave). Padrão -1.
removeDegeneratesstring
buildReversedIndexBufferstring
highPrecisionTangentBasisstring
fullPrecisionUVsstring
buildScalenumberUniform build scale applied to the source geometry (<=0 = leave). Padrão -1.0.
distanceFieldResolutionScalenumberDistance field resolution scale (<0 = leave). Padrão -1.0.
distanceFieldTwoSidedstring
rebuildbooleanPadrão true.

Retorna: mesh, message, lods, notes.

mesh.set_collision_complexity (risco 2, altera, smoke)​

Collision complexity of the mesh (default, simple_and_complex, use_simple_as_complex, use_complex_as_simple).

ArgumentoTipoDescrição
meshstringobrigatório.
complexitystringobrigatório. default / simple_and_complex / use_simple_as_complex / use_complex_as_simple.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.set_collision_json (risco 3, altera)​

Replaces the aggregate collision geometry from the text produced by mesh.get_collision_json. Not smoke-tested: it needs the exact text of a previous mesh.get_collision_json call.

ArgumentoTipoDescrição
meshstringobrigatório.
collisionstringobrigatório. Aggregate geometry text as returned by mesh.get_collision_json.

Retorna: mesh, collision, primitives, message.

mesh.set_collision_mirrored (risco 2, altera, smoke)​

Whether mirrored collision data is generated for negatively scaled instances.

ArgumentoTipoDescrição
meshstringobrigatório.
mirroredbooleanGenerate mirrored collision data for negatively scaled instances. Padrão true.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.set_collision_primitive (risco 2, altera, smoke)​

Changes the geometry of one box, sphere or capsule collision primitive.

ArgumentoTipoDescrição
meshstringobrigatório.
typestringobrigatório. box / sphere / capsule. Convex hulls cannot be edited numerically.
indexintegerobrigatório.
center{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.
extent{x,y,z}Full size on X/Y/Z of a box; (0,0,0) leaves it.
radiusnumberRadius of a sphere or capsule; <= 0 leaves it. Padrão 0.0.
lengthnumberLength of a capsule; <= 0 leaves it. Padrão 0.0.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.set_complex_collision_mesh (risco 2, altera, smoke)​

Uses another static mesh as the complex (per-triangle) collision geometry.

ArgumentoTipoDescrição
meshstringobrigatório.
complexCollisionMeshstringStatic mesh whose geometry is used as the complex collision; empty clears it.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.set_cpu_access (risco 2, altera, smoke)​

CPU access to the vertex data and the uniform-sampling data used by Niagara and physics queries.

ArgumentoTipoDescrição
meshstringobrigatório.
allowCpuAccessbooleanKeep the vertex data accessible to the CPU at runtime. Padrão true.
uniformSamplingbooleanBuild the data needed to sample the mesh surface uniformly. Padrão false.
gpuUniformSamplingbooleanBuild the GPU-side uniform sampling data (requires uniformSampling). Padrão false.

Retorna: mesh, message, lods, notes.

mesh.set_distance_field (risco 2, altera, smoke)​

Mesh distance field generation, resolution scale and self-shadow bias.

ArgumentoTipoDescrição
meshstringobrigatório.
generatebooleanGenerate a mesh distance field. Padrão true.
resolutionScalenumberDistance field resolution scale (<0 = leave). Padrão -1.0.
selfShadowBiasnumberSelf-shadow bias (<0 = leave). Padrão -1.0.
rebuildbooleanPadrão false.

Retorna: mesh, message, lods, notes.

mesh.set_extended_bounds (risco 2, altera, smoke)​

Extra padding added to the rendered bounds of the mesh.

ArgumentoTipoDescrição
meshstringobrigatório.
positiveBoundsExtension{x,y,z}Extra size added on the +X/+Y/+Z side of the bounds.
negativeBoundsExtension{x,y,z}Extra size added on the -X/-Y/-Z side of the bounds.

Retorna: mesh, origin, boxExtent, sphereRadius, min, max, positiveBoundsExtension, negativeBoundsExtension, message.

mesh.set_import_settings (risco 2, altera, smoke)​

FBX import settings stored on the mesh, used by the next reimport.

ArgumentoTipoDescrição
meshstringobrigatório.
combineMeshesstring"true"/"false" to change, empty to leave alone.
generateLightmapUVsstring
autoGenerateCollisionstring
oneConvexHullPerUcxstring
normalImportMethodstringComputeNormals / ImportNormals / ImportNormalsAndTangents.
normalGenerationMethodstringBuiltIn / MikkTSpace.
vertexColorImportOptionstringIgnore / Override / Replace.
removeDegeneratesstring
buildReversedIndexBufferstring

Retorna: mesh, sourceFiles, canReimport, importDataClass, settings, message.

mesh.set_lightmap (risco 2, altera, smoke)​

Lightmap texture resolution and the UV channel that carries the lightmap UVs.

ArgumentoTipoDescrição
meshstringobrigatório.
resolutionintegerLightmap texture resolution in pixels (-1 = leave). Padrão -1.
coordinateIndexintegerUV channel that carries the lightmap UVs (-1 = leave). Padrão -1.

Retorna: mesh, message, lods, notes.

mesh.set_lightmap_uv_channel (risco 2, altera, smoke)​

UV channel that the lighting build reads the lightmap UVs from.

ArgumentoTipoDescrição
meshstringobrigatório.
channelintegerobrigatório. UV channel that carries the lightmap UVs.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.set_lod_count (risco 2, altera, smoke)​

Sets how many LODs the mesh has. New LODs copy LOD0's build settings; extra LODs are dropped.

ArgumentoTipoDescrição
meshstringobrigatório.
countintegerobrigatório. Number of LODs to keep (1-8). Extra LODs copy LOD0's settings.
rebuildbooleanRebuild the render data afterwards (slow but returns accurate statistics). Padrão true.

Retorna: mesh, message, lods, notes.

mesh.set_lod_group (risco 2, altera, smoke)​

Assigns a project LOD group (drives LOD count, screen sizes and reduction). "None" clears it.

ArgumentoTipoDescrição
meshstringobrigatório.
groupstringobrigatório. LOD group name from the project settings (see mesh.list_lod_groups); "None" clears it.

Retorna: mesh, message, lods, notes.

mesh.set_lod_screen_size (risco 2, altera, smoke)​

Screen size (0-1) at which one LOD becomes active.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerobrigatório.
screenSizenumberobrigatório. Screen size (0-1) at which this LOD becomes active.
autoComputebooleanLet the engine compute the LOD screen sizes automatically instead. Padrão false.

Retorna: mesh, message, lods, notes.

mesh.set_lod_screen_sizes (risco 2, altera, smoke)​

Screen sizes of every LOD at once, starting at LOD0.

ArgumentoTipoDescrição
meshstringobrigatório.
screenSizesarray of numberobrigatório. One screen size per LOD, starting at LOD0.
autoComputebooleanLet the engine compute the LOD screen sizes automatically instead. Padrão false.

Retorna: mesh, message, lods, notes.

mesh.set_material (risco 2, altera, smoke)​

Assigns a material to one slot (slot index or slot name).

ArgumentoTipoDescrição
meshstringobrigatório.
slotstringobrigatório. Slot index ("2") or slot name.
materialstringMaterial or material instance asset path; empty clears the slot.

Retorna: mesh, materials, count, message.

mesh.set_materials (risco 2, altera, smoke)​

Assigns materials to every slot at once, in slot order.

ArgumentoTipoDescrição
meshstringobrigatório.
materialsarray of stringobrigatório. One material asset path per slot, in slot order.

Retorna: mesh, materials, count, message.

mesh.set_min_lod (risco 2, altera, smoke)​

Lowest LOD the renderer may use, optionally per platform.

ArgumentoTipoDescrição
meshstringobrigatório.
minLodintegerobrigatório. Lowest LOD index the renderer may use.
platformstringPlatform name for a per-platform override ("Mobile", "Switch"...); empty = default.

Retorna: mesh, message, lods, notes.

mesh.set_nanite (risco 2, altera, UE 5.0+, smoke)​

Turns Nanite on or off and sets its precision/fallback settings (UE 5.0+; every listed field exists on all 5.x releases).

ArgumentoTipoDescrição
meshstringobrigatório.
enabledbooleanobrigatório. Turn Nanite on or off for this mesh.
positionPrecisionintegerPosition precision exponent; -1000 (the default) leaves the current value. Padrão -1000.
fallbackPercentTrianglesnumberFallback mesh triangle fraction (0-1, <0 = leave). Padrão -1.0.
fallbackRelativeErrornumberFallback mesh relative error (<0 = leave). Padrão -1.0.
keepPercentTrianglesnumberTriangle fraction kept by the Nanite build (0-1, <0 = leave). Padrão -1.0.
rebuildbooleanPadrão true.

Retorna: mesh, values, message.

mesh.set_phys_material (risco 2, altera, smoke)​

Physical material of the mesh's body setup.

ArgumentoTipoDescrição
meshstringobrigatório.
physMaterialstringPhysical material asset path; empty clears it.

Retorna: mesh, summary, primitives, generateMirrored, complexCollisionMesh, message, notes.

mesh.set_ray_tracing (risco 2, altera, smoke)​

Whether the mesh takes part in ray tracing.

ArgumentoTipoDescrição
meshstringobrigatório.
supportbooleanobrigatório. Whether the mesh takes part in ray tracing.

Retorna: mesh, message, lods, notes.

mesh.set_reduction (risco 2, altera, smoke)​

Reduction settings of one LOD (triangle/vertex percentage, max deviation, welding, hard angle, base LOD).

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerobrigatório.
percentTrianglesnumberFraction of triangles to keep (0-1). Negative leaves the current value. Padrão -1.0.
percentVerticesnumberFraction of vertices to keep (0-1). Negative leaves the current value. Padrão -1.0.
maxDeviationnumberMaximum allowed deviation from the source mesh. Negative leaves the current value. Padrão -1.0.
weldingThresholdnumberWelding threshold in centimetres. Negative leaves the current value. Padrão -1.0.
hardAnglenumberHard-edge angle threshold in degrees. Negative leaves the current value. Padrão -1.0.
recalculateNormalsbooleanRecalculate normals after the reduction. Padrão false.
baseLodintegerLOD used as the source of the reduction (-1 leaves the current value). Padrão -1.
rebuildbooleanPadrão true.

Retorna: mesh, message, lods, notes.

mesh.set_section (risco 2, altera, smoke)​

Changes one render section: material slot, collision, shadow casting and ray tracing visibility.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerobrigatório.
sectionintegerobrigatório.
materialIndexintegerMaterial slot index used by the section (-1 = leave). Padrão -1.
collisionstring"true"/"false" to change, empty to leave alone.
castShadowstring
visibleInRayTracingstring

Retorna: mesh, sections, count, message.

mesh.set_section_collision_many (risco 2, altera, smoke)​

Turns collision on or off for every render section of a LOD at once.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerLOD whose sections are changed. Padrão 0.
enabledbooleanCollision flag applied to every section of that LOD. Padrão true.

Retorna: mesh, sections, count, message.

mesh.set_socket (risco 2, altera, smoke)​

Changes an existing socket (transform, tag, preview mesh and optionally its name).

ArgumentoTipoDescrição
meshstringobrigatório.
namestringobrigatório. Socket name.
location{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means "leave alone" on set and (1,1,1) on add.
tagstringFree-form tag stored on the socket.
previewMeshstringStatic mesh shown at the socket in the editor preview.
newNamestringNew socket name (mesh.set_socket only).

Retorna: mesh, sockets, count, message.

mesh.set_uv_tiling (risco 2, altera, smoke)​

Scales and offsets the UV coordinates of one channel.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerPadrão 0.
channelintegerPadrão 0.
scale{x,y,z}Multiplier applied to U (x) and V (y).
offset{x,y,z}Offset added to U (x) and V (y) after scaling.

Retorna: mesh, lod, count, lightmapCoordinateIndex, channels, message, notes.

mesh.sk_add_socket (risco 2, altera)​

Adds a socket attached to a bone. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
namestringobrigatório.
bonestringBone the socket is attached to.
location{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.
newNamestringNew socket name (mesh.sk_set_socket only).

Retorna: mesh, sockets, count, message.

mesh.sk_check_skeleton_compatible (risco 0)​

Whether a skeleton is compatible with the mesh's bone hierarchy. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
skeletonstringobrigatório. Skeleton asset path.
checkCompatibilitybooleanRefuse the change when the skeleton is not compatible with the mesh. Padrão true.

Retorna: mesh, message, lods, notes.

mesh.sk_create_physics_asset (risco 3, altera)​

Creates a physics asset from the mesh's bones (geometry type, minimum bone size, constraints). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
folderstringobrigatório. Destination content folder.
namestringobrigatório. Name of the new physics asset.
minBoneSizenumberBones smaller than this are skipped. Padrão 20.0.
geomTypestringsphere / box / sphyl / capsule / single_convex / multi_convex.
bodyForAllbooleanCreate a body for every bone, even the small ones. Padrão false.
createConstraintsbooleanCreate constraints between the bodies. Padrão true.
walkPastSmallbooleanKeep walking past bones that are too small instead of stopping. Padrão true.
assignbooleanAlso assign the new asset to the mesh. Padrão true.

Retorna: mesh, message, lods, notes.

mesh.sk_get_bone_transform (risco 0)​

Reference transform of one bone, in component space or relative to its parent. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
bonestringobrigatório.
spacestringref (component space, default) or local (relative to the parent bone).

Retorna: mesh, bone, space, location, rotation, scale, message.

mesh.sk_get_bounds (risco 0)​

Imported bounds of a skeletal mesh plus its bounds extensions. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, origin, boxExtent, sphereRadius, positiveBoundsExtension, negativeBoundsExtension, message.

mesh.sk_get_info (risco 0)​

Everything about a skeletal mesh: skeleton, LODs, materials, sockets, bone and morph target counts, physics assets, bounds and cloth. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, name, skeleton, lodCount, lods, materials, sockets, boneCount, morphTargetCount, physicsAsset, shadowPhysicsAsset, lodSettings, perPolyCollision, minLod, boundsOrigin, boundsExtent, clothingAssets, message.

mesh.sk_get_stats (risco 0, smoke)​

Skeletal mesh audit of a folder: meshes without a physics asset, with a single LOD, bone and morph target totals.

ArgumentoTipoDescrição
folderstringContent folder to search ("/Game" when empty).
skeletonstringKeep only meshes bound to this skeleton.
limitintegerMaximum number of meshes returned. Padrão 100.

Retorna: meshes, withoutPhysicsAsset, singleLod, totalBones, totalMorphTargets, offenders, message.

mesh.sk_list (risco 0, smoke)​

Lists skeletal meshes under a folder, optionally filtered by skeleton.

ArgumentoTipoDescrição
folderstringContent folder to search ("/Game" when empty).
skeletonstringKeep only meshes bound to this skeleton.
limitintegerMaximum number of meshes returned. Padrão 100.

Retorna: meshes, count, message.

mesh.sk_list_bones (risco 0)​

Bones of the reference skeleton with their parent, depth and child count. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
nameContainsstringKeep only bones whose name contains this text.
depthintegerMaximum hierarchy depth returned (-1 = no limit). Padrão -1.
limitintegerMaximum number of bones returned. Padrão 200.

Retorna: mesh, bones, count, total, message.

mesh.sk_list_lods (risco 0)​

LODs of a skeletal mesh with triangle/vertex counts, screen size, hysteresis and reduction. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, message, lods, notes.

mesh.sk_list_materials (risco 0)​

Material slots of a skeletal mesh. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, materials, count, message.

mesh.sk_list_morph_targets (risco 0)​

Morph target names of a skeletal mesh. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, morphTargets, count, message.

mesh.sk_list_sockets (risco 0)​

Sockets stored on the mesh (not the ones inherited from the skeleton). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, sockets, count, message.

mesh.sk_regenerate_lods (risco 3, altera)​

Regenerates the LOD chain by reduction (UE 5 uses the skeletal mesh editor subsystem). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
countintegerobrigatório. Total number of LODs, including LOD0.
percentsarray of numberTriangle fraction per generated LOD (default 0.5, 0.25, 0.125...).
regenerateEvenIfImportedbooleanRegenerate LODs even when they were imported rather than generated. Padrão false.

Retorna: mesh, message, lods, notes.

mesh.sk_remove_lods (risco 3, altera, destrutivo)​

Removes LODs (by index, or every LOD except LOD0). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
lodsarray of integerLOD indices to remove; empty removes every LOD except LOD0.

Retorna: mesh, message, lods, notes.

mesh.sk_remove_socket (risco 3, altera)​

Removes a socket by name. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
namestringobrigatório.

Retorna: mesh, sockets, count, message.

mesh.sk_rename_material_slot (risco 2, altera)​

Renames a material slot. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
slotstringobrigatório.
newNamestringobrigatório.

Retorna: mesh, materials, count, message.

mesh.sk_set_bounds_extension (risco 2, altera)​

Extra padding added to the rendered bounds of a skeletal mesh. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
positiveBoundsExtension{x,y,z}
negativeBoundsExtension{x,y,z}

Retorna: mesh, origin, boxExtent, sphereRadius, positiveBoundsExtension, negativeBoundsExtension, message.

mesh.sk_set_lod_hysteresis (risco 2, altera)​

LOD hysteresis (the delay that stops a LOD from flickering). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerobrigatório.
valuenumberobrigatório. Screen size (0-1) or LOD hysteresis, depending on the tool.

Retorna: mesh, message, lods, notes.

mesh.sk_set_lod_screen_size (risco 2, altera)​

Screen size at which a LOD becomes active. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerobrigatório.
valuenumberobrigatório. Screen size (0-1) or LOD hysteresis, depending on the tool.

Retorna: mesh, message, lods, notes.

mesh.sk_set_lod_settings_asset (risco 2, altera)​

Assigns a SkeletalMeshLODSettings asset that drives the LOD chain. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
assetstringAsset path; empty clears the reference.

Retorna: mesh, message, lods, notes.

mesh.sk_set_material (risco 2, altera)​

Assigns a material to one slot. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
slotstringobrigatório. Slot index or slot name.
materialstringMaterial asset path; empty clears the slot.

Retorna: mesh, materials, count, message.

mesh.sk_set_materials (risco 2, altera)​

Assigns materials to every slot at once. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
materialsarray of stringobrigatório. One material asset path per slot, in slot order.

Retorna: mesh, materials, count, message.

mesh.sk_set_min_lod (risco 2, altera)​

Lowest LOD the renderer may use, optionally per platform. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
minLodintegerobrigatório.
platformstringPlatform name for a per-platform override; empty = default.

Retorna: mesh, message, lods, notes.

mesh.sk_set_per_poly_collision (risco 2, altera)​

Turns per-polygon collision on or off (expensive; only for meshes that need exact traces). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
enabledbooleanValue of the flag. Padrão true.

Retorna: mesh, message, lods, notes.

mesh.sk_set_physics_asset (risco 2, altera)​

Assigns (or clears) the physics asset of a skeletal mesh. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
physicsAssetstringPhysics asset path; empty clears it.

Retorna: mesh, message, lods, notes.

mesh.sk_set_reduction (risco 2, altera)​

Reduction settings of one LOD (triangle/vertex percentage, deviation, bones to remove). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
lodintegerobrigatório.
percentTrianglesnumberFraction of triangles to keep (0-1); negative leaves the current value. Padrão -1.0.
percentVerticesnumberFraction of vertices to keep (0-1); negative leaves the current value. Padrão -1.0.
maxDeviationnumberMaximum deviation percentage; negative leaves the current value. Padrão -1.0.
bonesToRemovearray of stringBones removed at this LOD.
baseLodintegerBase LOD the reduction reads from; negative leaves the current value. Padrão -1.

Retorna: mesh, message, lods, notes.

mesh.sk_set_shadow_physics_asset (risco 2, altera)​

Assigns (or clears) the cheaper physics asset used for shadow computations. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
physicsAssetstringPhysics asset path; empty clears it.

Retorna: mesh, message, lods, notes.

mesh.sk_set_skeleton (risco 3, altera)​

Binds the mesh to a skeleton, optionally refusing an incompatible one. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
skeletonstringobrigatório. Skeleton asset path.
checkCompatibilitybooleanRefuse the change when the skeleton is not compatible with the mesh. Padrão true.

Retorna: mesh, message, lods, notes.

mesh.sk_set_socket (risco 2, altera)​

Changes an existing socket (bone, transform, name). Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório.
namestringobrigatório.
bonestringBone the socket is attached to.
location{x,y,z}
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.
newNamestringNew socket name (mesh.sk_set_socket only).

Retorna: mesh, sockets, count, message.

mesh.sk_validate (risco 0)​

Sanity check of a skeletal mesh: missing skeleton or physics asset, LOD chain, empty material slots. Not smoke-tested: no skeletal mesh ships in engine content.

ArgumentoTipoDescrição
meshstringobrigatório. Skeletal mesh asset path or unique name.

Retorna: mesh, errors, warnings, valid, message.

mesh.uv_stats (risco 0, smoke)​

UV audit of a folder: meshes with a single UV channel, without generated lightmap UVs or using channel 0 as the lightmap.

ArgumentoTipoDescrição
folderstringobrigatório. Content folder to scan.
limitintegerMaximum number of meshes inspected. Padrão 200.

Retorna: meshes, withoutLightmapUvs, lightmapOnChannelZero, singleUvChannel, offenders, message.

mesh.validate (risco 0, smoke)​

Sanity check of a mesh: degenerate LOD chain, missing collision, missing lightmap UVs, empty material slots and Nanite/collision mismatches.

ArgumentoTipoDescrição
meshstringobrigatório. Static mesh asset path or unique asset name.

Retorna: mesh, errors, warnings, valid, message.