Saltar al contenido principal

Kit skel

158 herramientas. Generado a partir del código fuente del plugin; no lo edites a mano.

Las descripciones de las herramientas y de los argumentos se muestran en inglés porque reflejan el schema de las herramientas (el mismo texto que el agente recibe en tools/list).

Guía​

Everything about the skeletal side of assets: the skeleton itself (bone tree, virtual bones, skeleton sockets, animation slot groups, curve metadata, blend profiles, per-bone translation retargeting, notify names, compatible skeletons), the deeper parts of a skeletal mesh (LOD info, reduction and build settings, sections, morph targets, skin weight profiles, reference pose, bounds, Niagara sampling, ray tracing, mesh merge, FBX export, import settings), physics assets (bodies, shapes, constraints, profiles, collision pairs) and clothing.

Works on UE 4.27 through 5.8 (~150 tools on 5.8, ~145 on 4.27). The 5.x-only tools are the compatible-skeleton list, the skin weight profile removal and the default mesh deformer; they are hidden from tools/list on 4.27 and refused with E_NOT_SUPPORTED if called anyway. The skel.cloth_* tools require the ChaosCloth plugin and disappear when it is not enabled.

The kit is split over five classes that all expose the skel. namespace:

ClassPrefixWhat
UUeaKit_Skeletonskel.bone tree queries, virtual bones, skeleton sockets, slot groups, curve metadata, blend profiles, retargeting modes, notify names, preview mesh, compatible skeletons, bone-tree merge/recreate
UUeaKit_SkelMeshskel.LOD info / reduction / build settings, sections, material slots, morph targets, skin weight profiles, reference pose, bounds, sampling, ray tracing, merge, export, import settings
UUeaKit_SkelPhysicsskel.pa_bodies and shapes, constraints with limits and motors, constraint and physical-animation profiles, collision pairs, mirroring, auto-generation
UUeaKit_SkelClothskel.cloth_clothing assets: create from a section, bind/unbind, configs, weight maps
UUeaKit_SkelBatchskel.folder-wide audits and bulk edits

This kit does not replace the basic mesh.sk_* tools (info, LOD screen size, materials, mesh-local sockets, bone list, morph target names, physics asset assignment). Those stay in the mesh kit; skel.* goes deeper and never duplicates a mesh.sk_* name.

Not here: animation assets (anim kit), placing skeletal meshes in a level (actor kit), skeletal mesh component settings (component kit), importing a new mesh from FBX (asset kit).

Start here​

  1. skel.get_skeleton {"skeleton":"/Game/Characters/SK_Hero_Skeleton"} — bone count, root, virtual bones, sockets, slot groups, curves, blend profiles, preview mesh, compatible skeletons, notify names, retarget sources.
  2. skel.get_mesh {"mesh":"/Game/Characters/SK_Hero"} — LOD infos, sections per LOD, material slots, morph targets, skin weight profiles, cloth, physics assets, bounds, sampling, ray tracing and the source files.
  3. skel.pa_get {"physicsAsset":"/Game/Characters/PA_Hero"} — bodies with their shapes and physics settings, constraints with limits and drives, profiles, disabled collision pairs, solver settings.
  4. skel.audit_meshes {"folder":"/Game/Characters","requireLods":true,"requirePhysicsAsset":true} — the whole folder in one table.

Everything that changes an asset is transactional (edit.undo works) but nothing is written to disk until you call skel.save_mesh, skel.save_skeleton, skel.pa_save or asset.save_all.

No skeletal mesh of your own to try this on? skel.create_test_mesh {"folder":"/Game/Tmp", "name":"SK_Test"} duplicates the engine's SkeletalCube (bones Bone01, Bone02) and its skeleton into your folder; that is exactly what the self-test uses.

Recipes​

Ragdoll from scratch​

skel.pa_create {"mesh":"/Game/Characters/SK_Hero","folder":"/Game/Characters",
"name":"PA_Hero","geomType":"sphyl","minBoneSize":8,"createConstraints":true}
skel.pa_list_bodies {"physicsAsset":"/Game/Characters/PA_Hero"}
skel.pa_set_body_physics {"physicsAsset":"/Game/Characters/PA_Hero","bone":"pelvis",
"physicsType":"simulated","massScale":1.0}
skel.pa_set_constraint_limits {"physicsAsset":"/Game/Characters/PA_Hero","name":"spine_02",
"swing1Motion":"limited","swing1Limit":25,
"swing2Motion":"limited","swing2Limit":25,
"twistMotion":"limited","twistLimit":10}
skel.pa_disable_collision_below {"physicsAsset":"/Game/Characters/PA_Hero","bone":"spine_01"}
skel.pa_validate {"physicsAsset":"/Game/Characters/PA_Hero"}

skel.pa_create needs the mesh to have skin weights on the bones you want bodies on; bones shorter than minBoneSize are skipped unless bodyForAll is true. Start with sphyl (capsules) — the convex types are much slower and only pay off for hands and props.

For a driven ragdoll, add a physical animation profile:

skel.pa_add_profile {"physicsAsset":"...","name":"Hit","kind":"physicalAnimation"}
skel.pa_set_physical_animation_profile {"physicsAsset":"...","profile":"Hit","bone":"spine_02",
"orientationStrength":2000,"angularVelocityStrength":100,
"isLocalSimulation":true}

Mirroring a half-built physics asset​

Build the left side only, then:

skel.pa_mirror {"physicsAsset":"/Game/Characters/PA_Hero","fromSuffix":"_l","toSuffix":"_r"}

Every body whose bone ends with _l is copied onto the matching _r bone with its shapes mirrored across the YZ plane (X negated, yaw and roll flipped). Use skel.pa_copy_body for a single bone.

Retarget-ready skeleton​

skel.apply_retarget_preset {"skeleton":"/Game/Characters/SK_Hero_Skeleton","preset":"humanoid"}
skel.add_virtual_bone {"skeleton":"...","source":"hand_l","target":"foot_l"}
skel.add_compatible_skeleton {"skeleton":"...","other":"/Game/Mannequin/UE4_Mannequin_Skeleton"}

The humanoid preset puts the root and every IK/virtual bone on Animation, the pelvis on AnimationScaled and everything else on Skeleton, which is what a proportion-independent retarget needs. Pass pelvisBone when the pelvis is not called pelvis/hips/spine_01. skel.add_compatible_skeleton is UE 5 only and lets an animation authored on the other skeleton play directly on this one.

LOD chain and section cleanup​

skel.generate_lods {"mesh":"/Game/Characters/SK_Hero","count":4,
"percents":[0.5,0.25,0.1],"screenSizes":[0.5,0.25,0.1]}
skel.set_lod_info {"mesh":"...","lod":3,"bonesToRemove":["index_03_l","index_03_r"],
"rebuild":true}
skel.list_sections {"mesh":"...","lod":0}
skel.set_section {"mesh":"...","lod":0,"section":2,"generateUpToLod":1}

skel.generate_lods needs a mesh reduction plugin (SkeletalReduction ships with the engine but has to be enabled); it fails with E_INTERNAL otherwise. generateUpToLod on a section makes that section disappear past the given LOD — the cheapest way to drop buckles and buttons at distance. skel.set_lod_reduction and skel.set_lod_build_settings tune the same LOD without rebuilding unless you pass rebuild: true.

Morph target management​

skel.list_morph_targets {"mesh":"/Game/Characters/SK_Hero"}
skel.rename_morph_target {"mesh":"...","name":"blendShape1","newName":"JawOpen"}
skel.copy_morph_targets {"mesh":"/Game/Characters/SK_HeroLod","from":"/Game/Characters/SK_Hero"}
skel.remove_all_morph_targets {"mesh":"/Game/Characters/SK_HeroProxy"}

copy_morph_targets refuses meshes whose LOD 0 vertex counts differ: morph deltas are indexed by vertex, so the topology must match exactly.

Mesh merge for modular characters​

skel.merge_meshes {"meshes":["/Game/Mod/SK_Torso","/Game/Mod/SK_Legs","/Game/Mod/SK_Head"],
"folder":"/Game/Mod","name":"SK_Merged","stripTopLods":0}

Every source must be bound to a compatible skeleton; the merged asset gets the first source's skeleton unless you pass skeleton. Merging is an editor-time bake — for runtime swapping use leader-pose components from the component kit instead.

Cloth​

skel.cloth_create_from_section {"mesh":"...","lod":0,"section":3,"name":"Cloak",
"removeSection":false,"physicsAsset":"/Game/Characters/PA_Hero"}
skel.cloth_set_config {"mesh":"...","name":"Cloak",
"values":[{"key":"BendingStiffness","value":"0.7"}]}
skel.cloth_set_weight_map_value {"mesh":"...","name":"Cloak","lod":0,"map":0,"value":10.0}

skel.cloth_set_config writes by reflection, so it works with any simulator config the enabled cloth plugin exposes; call skel.cloth_get_config first to see the property names. Weight map target 0 is MaxDistance, 1 BackstopDistance, 2 BackstopRadius.

Folder-wide work​

skel.audit_skeletons {"folder":"/Game/Characters"}
skel.batch_set_physics_asset {"folder":"/Game/Crowd","physicsAsset":"/Game/Crowd/PA_Shared",
"onlyMissing":true}
skel.batch_retarget_modes {"folder":"/Game/Characters","preset":"humanoid"}

skel.audit_skeletons scans the registry once and reports how many meshes and animations use each skeleton, so orphaned skeletons stand out immediately.

Gotchas​

  • 4.27 vs 5.x accessors. The kit hides every difference behind its own shim, but the tools that simply do not exist below UE 5 are hidden from tools/list: skel.list_compatible_skeletons, skel.add_compatible_skeleton, skel.remove_compatible_skeleton, skel.remove_skin_weight_profile (5.0+) and skel.set_default_mesh_deformer (5.1+).
  • Reduction needs a plugin. skel.generate_lods, skel.regenerate_lod, skel.remove_lod and skel.batch_regenerate_lods all go through the engine's skeletal reduction path. Without a mesh reduction plugin they fail instead of silently doing nothing.
  • Rebuild costs. set_lod_info, set_lod_reduction, set_lod_build_settings and set_ref_pose_bone take rebuild; leave it false while you make several changes, then call skel.rebuild_mesh once. Rebuilding a character mesh takes seconds, not milliseconds.
  • Reference pose edits are dangerous. skel.set_ref_pose_bone changes the bind pose, which breaks existing animations and invalidates the physics asset. Regenerate the physics asset with skel.pa_regenerate afterwards, and use skel.reset_ref_pose to go back to the skeleton's pose.
  • Virtual bone names. The engine names virtual bones VB <source>_<target>. add_virtual_bone returns the actual name in createdName; rename_virtual_bone and remove_virtual_bones accept the name with or without the VB prefix (it is added for you).
  • Curve metadata moved. UE 5.7 removed smart names; the kit uses the new FCurveMetaData API there and the smart-name container below it. The tool shapes are identical, but skel.rename_curve fails on a name that is already taken on both paths.
  • Cloth plugin. Every skel.cloth_* tool declares RequiresPlugin="ChaosCloth". The plugin is off by default; enable it in the project before the tools become callable. The kit never links against the plugin, so its module rename between 4.27 (Chaos) and 5.x (ChaosCloth) does not matter.
  • Material slot removal. skel.remove_material_slot refuses a slot a section still uses; point the sections elsewhere with skel.set_section first. Removing a slot shifts every higher section material index down by one, which the tool does for you.
  • Physics asset deletion. skel.pa_delete fails while a mesh still references the asset; clear it with skel.set_physics_assets {"mesh":"...","physicsAsset":""} first.

Herramientas​

Leyenda. riesgo 0 = solo lectura, 1 = operación inofensiva del editor, 2 = modifica un asset, 3 = elimina/reemplaza un asset, 4 = proyecto/configuración/build, 5 = potencialmente destructivo (las llamadas por encima de MaxAutoRisk requieren "_confirm": true). modifica = se ejecuta en una transacción (edit.undo la revierte). requiere PIE / requiere mundo = se rechaza sin una sesión PIE / sin un nivel abierto. requiere el plugin = no disponible cuando el plugin está desactivado. dryRun = acepta el argumento dryRun. smoke = cubierto por edit.self_test.

skel.add_compatible_skeleton (riesgo 2, modifica, UE 5.0+, smoke)​

Declares another skeleton compatible with this one (UE 5 only).

ArgumentoTipoDescripción
otherstringobligatorio. The other skeleton asset path or unique name.

Devuelve: skeleton, names, count, message, notes.

skel.add_curve (riesgo 2, modifica, smoke)​

Registers a curve name on the skeleton (metadata only; it does not create animation data).

ArgumentoTipoDescripción
namestringobligatorio. Curve name.
morphTargetbooleanMark the curve as driving a morph target. Valor predeterminado false.
materialbooleanMark the curve as driving a material parameter. Valor predeterminado false.
maxLodintegerLowest-detail LOD the curve is still evaluated on; -1 leaves it unchanged, 255 = always. Valor predeterminado -1.
linkedBonesarray of stringBones the curve is linked to (skel.set_curve_metadata only; empty leaves them unchanged).

Devuelve: skeleton, curves, count, message, notes.

skel.add_material_slot (riesgo 2, modifica, smoke)​

Adds a material slot to a skeletal mesh.

ArgumentoTipoDescripción
materialstringMaterial asset path; the slot stays empty when omitted.
slotNamestringSlot name; generated when omitted.

Devuelve: mesh, materials, count, message, notes.

skel.add_notify_name (riesgo 2, modifica, smoke)​

Adds a notify name to the skeleton's cached list (so it shows up in the notify pickers).

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: skeleton, names, count, message, notes.

skel.add_skeleton_socket (riesgo 2, modifica, smoke)​

Adds a socket attached to a bone of the skeleton.

ArgumentoTipoDescripción
namestringobligatorio. Socket name.
bonestringBone the socket is attached to (required when adding).
location{x,y,z}Offset from the bone.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.
forceAlwaysAnimatedbooleanKeep the socket's bone animated even when it is not otherwise required. Valor predeterminado false.
newNamestringNew socket name (skel.set_skeleton_socket only).

Devuelve: skeleton, sockets, count, message, notes.

skel.add_slot (riesgo 2, modifica, smoke)​

Adds an animation slot to a group (DefaultGroup when 'group' is empty).

ArgumentoTipoDescripción
slotstringSlot name (skel.add_slot, skel.set_slot_group, skel.remove_slot).
groupstringSlot group name (defaults to DefaultGroup for skel.add_slot).

Devuelve: skeleton, groups, count, message, notes.

skel.add_slot_group (riesgo 2, modifica, smoke)​

Adds a slot group.

ArgumentoTipoDescripción
slotstringSlot name (skel.add_slot, skel.set_slot_group, skel.remove_slot).
groupstringSlot group name (defaults to DefaultGroup for skel.add_slot).

Devuelve: skeleton, groups, count, message, notes.

skel.add_virtual_bone (riesgo 2, modifica, smoke)​

Adds a virtual bone parented to 'source' and following 'target'; returns the generated name.

ArgumentoTipoDescripción
sourcestringobligatorio. Bone the virtual bone is parented to.
targetstringobligatorio. Bone the virtual bone follows.
namestringExplicit virtual bone name (UE 5 only; the engine generates one when empty).

Devuelve: skeleton, virtualBones, count, createdName, message, notes.

skel.apply_retarget_preset (riesgo 2, modifica, smoke)​

Applies a retargeting preset to the whole bone tree ('humanoid' keeps the root and the IK bones on Animation and scales the pelvis).

ArgumentoTipoDescripción
presetstringobligatorio. humanoid (root=Animation, pelvis=AnimationScaled, IK bones=Animation, rest=Skeleton) or animation / skeleton (everything).
pelvisBonestringName of the pelvis/hips bone; auto-detected when empty.

Devuelve: skeleton, modes, count, changed, message, notes.

skel.audit_meshes (riesgo 0, smoke)​

Audits the skeletal meshes of a folder: triangle budget, LOD count, physics asset, morph targets.

ArgumentoTipoDescripción
folderstringobligatorio. Content folder to audit.
maxTrianglesintegerFlag meshes whose LOD 0 has more triangles than this; 0 disables the check. Valor predeterminado 0.
requireLodsbooleanFlag meshes with a single LOD. Valor predeterminado false.
requirePhysicsAssetbooleanFlag meshes without a physics asset. Valor predeterminado false.
requireMorphsbooleanFlag meshes without morph targets. Valor predeterminado false.
offendersOnlybooleanOnly report the meshes that failed a check. Valor predeterminado false.
limitintegerMaximum number of meshes inspected. Valor predeterminado 200.

Devuelve: folder, meshes, count, offenders, totalTriangles, message.

skel.audit_physics_assets (riesgo 0, smoke)​

Audits the physics assets of a folder: bodies without shapes, constraints, disabled collision pairs.

ArgumentoTipoDescripción
folderstringobligatorio. Content folder to audit.
limitintegerMaximum number of assets inspected. Valor predeterminado 200.

Devuelve: folder, physicsAssets, count, offenders, message.

skel.audit_skeletons (riesgo 0, smoke)​

Audits the skeletons of a folder: bones, virtual bones, sockets, and how many meshes and animations use each one.

ArgumentoTipoDescripción
folderstringobligatorio. Content folder to audit.
limitintegerMaximum number of assets inspected. Valor predeterminado 200.

Devuelve: folder, skeletons, count, orphaned, message.

skel.batch_regenerate_lods (riesgo 3, modifica, destructivo)​

Regenerates the LOD chain of every skeletal mesh of a folder. Not smoke-tested: skeletal reduction needs a mesh reduction plugin.

ArgumentoTipoDescripción
countintegerTotal number of LODs including LOD0. Valor predeterminado 3.

Devuelve: folder, changed, skipped, count, message.

skel.batch_retarget_modes (riesgo 3, modifica, smoke)​

Applies a retargeting preset to every skeleton of a folder.

ArgumentoTipoDescripción
presetstringobligatorio. humanoid, animation or skeleton.

Devuelve: folder, changed, skipped, count, message.

skel.batch_set_lod_settings (riesgo 3, modifica, smoke)​

Assigns one SkeletalMeshLODSettings asset to every skeletal mesh of a folder.

ArgumentoTipoDescripción
settingsstringobligatorio. SkeletalMeshLODSettings asset path.
applybooleanImmediately copy the settings into the LOD infos. Valor predeterminado true.

Devuelve: folder, changed, skipped, count, message.

skel.batch_set_physics_asset (riesgo 3, modifica, smoke)​

Assigns one physics asset to every skeletal mesh of a folder (optionally only to those without one).

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path.
onlyMissingbooleanOnly touch the meshes that have no physics asset yet. Valor predeterminado false.

Devuelve: folder, changed, skipped, count, message.

skel.batch_set_skeleton (riesgo 3, modifica, destructivo, smoke)​

Rebinds every skeletal mesh of a folder to one skeleton (refused when the hierarchies differ unless 'force').

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path.
forcebooleanRebind even when the bone hierarchies do not match. Valor predeterminado false.

Devuelve: folder, changed, skipped, count, message.

skel.cloth_bind (riesgo 2, modifica, requiere el plugin ChaosCloth)​

Binds an existing clothing asset to a mesh section. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name.
lodintegerobligatorio. LOD of the section to drive.
sectionintegerobligatorio. Section to drive.
clothLodintegerCloth LOD used for the binding. Valor predeterminado 0.

Devuelve: mesh, lod, section, clothingAsset, clothLod, bound, message.

skel.cloth_create_from_section (riesgo 3, modifica, requiere el plugin ChaosCloth)​

Creates a clothing asset from a mesh section and binds it to that section. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD the source section lives in.
sectionintegerobligatorio. Section index to turn into cloth.
namestringobligatorio. Name of the new clothing asset.
removeSectionbooleanLeave the source section out of the rendered mesh. Valor predeterminado false.
physicsAssetstringPhysics asset the cloth collisions are taken from.

Devuelve: mesh, clothingAssets, count, message, notes.

skel.cloth_get (riesgo 0, requiere el plugin ChaosCloth)​

One clothing asset in detail. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name (or index as text).

Devuelve: mesh, clothingAssets, count, message, notes.

skel.cloth_get_config (riesgo 0, requiere el plugin ChaosCloth)​

Every property of a cloth simulator config, read by reflection. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name.
configstringConfig object name (ChaosClothConfig by default).
valuesarray of UeaKeyValueProperties to set, as "PropertyName=Value" pairs (skel.cloth_set_config only).

Devuelve: mesh, clothingAsset, config, values, failed, message.

skel.cloth_get_section_binding (riesgo 0, requiere el plugin ChaosCloth)​

Which clothing asset (if any) drives a mesh section. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index.
sectionintegerobligatorio. Section index.

Devuelve: mesh, lod, section, clothingAsset, clothLod, bound, message.

skel.cloth_list (riesgo 0, requiere el plugin ChaosCloth)​

Clothing assets bound to a skeletal mesh, with their LOD count, reference bone and configs. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, clothingAssets, count, message, notes.

skel.cloth_list_weight_maps (riesgo 0, requiere el plugin ChaosCloth)​

Weight maps (max distance, backstop, ...) of a cloth LOD with their value ranges. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name.
lodintegerCloth LOD index; -1 lists every LOD. Valor predeterminado -1.

Devuelve: mesh, clothingAsset, weightMaps, count, message.

skel.cloth_rebuild (riesgo 2, modifica, requiere el plugin ChaosCloth)​

Rebuilds the cached simulation data of a clothing asset after a config or weight map change. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name (or index as text).

Devuelve: mesh, clothingAssets, count, message, notes.

skel.cloth_remove (riesgo 3, modifica, destructivo, requiere el plugin ChaosCloth)​

Removes a clothing asset from the mesh (and unbinds every section it drove). Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name (or index as text).

Devuelve: mesh, clothingAssets, count, message, notes.

skel.cloth_set_config (riesgo 2, modifica, requiere el plugin ChaosCloth)​

Writes properties of a cloth simulator config by name (reflection, so it works with any simulator). Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name.
configstringConfig object name (ChaosClothConfig by default).
valuesarray of UeaKeyValueProperties to set, as "PropertyName=Value" pairs (skel.cloth_set_config only).

Devuelve: mesh, clothingAsset, config, values, failed, message.

skel.cloth_set_weight_map_value (riesgo 3, modifica, requiere el plugin ChaosCloth)​

Fills a whole weight map of a cloth LOD with one value. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
namestringobligatorio. Clothing asset name.
lodintegerobligatorio. Cloth LOD index.
mapintegerobligatorio. Weight map target (numeric id, e.g. 0 = MaxDistance).
valuenumberobligatorio. Value written into every vertex of the map.

Devuelve: mesh, clothingAsset, weightMaps, count, message.

skel.cloth_unbind (riesgo 2, modifica, requiere el plugin ChaosCloth)​

Removes the cloth simulation from a mesh section. Not smoke-tested: needs the ChaosCloth plugin.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index.
sectionintegerobligatorio. Section index.

Devuelve: mesh, lod, section, clothingAsset, clothLod, bound, message.

skel.copy_lod_settings (riesgo 2, modifica, smoke)​

Copies every LOD info (screen sizes, reduction, bake poses) from another skeletal mesh.

ArgumentoTipoDescripción
fromstringobligatorio. Source skeletal mesh asset path or unique name.

Devuelve: mesh, lods, count, message, notes.

skel.copy_morph_targets (riesgo 2, modifica, smoke)​

Copies the morph targets of another mesh (both meshes must have the same vertex count).

ArgumentoTipoDescripción
fromstringobligatorio. Source skeletal mesh asset path or unique name.

Devuelve: mesh, morphTargets, count, message, notes.

skel.create_blend_profile (riesgo 2, modifica, smoke)​

Creates a blend profile (mode TimeFactor / WeightFactor / BlendMask; UE 4.27 has no modes).

ArgumentoTipoDescripción
namestringobligatorio. Blend profile name.
modestringTimeFactor (default), WeightFactor or BlendMask. Ignored on UE 4.27, which has no modes.

Devuelve: skeleton, profiles, count, message, notes.

skel.create_test_mesh (riesgo 2, modifica, smoke)​

Duplicates the engine's SkeletalCube (and its skeleton) into a folder; the fixture every other skel tool can be tried on.

ArgumentoTipoDescripción
folderstringobligatorio. Destination content folder.
namestringobligatorio. Name of the new skeletal mesh (its skeleton gets "_Skeleton" appended).

Devuelve: mesh, name, folder, skeleton, bones, message, notes.

skel.duplicate_mesh (riesgo 2, modifica, smoke)​

Duplicates a skeletal mesh into another folder or under another name.

ArgumentoTipoDescripción
folderstringDestination content folder; the source folder when empty.
namestringobligatorio. Name of the copy.

Devuelve: mesh, name, folder, skeleton, bones, message, notes.

skel.export_fbx (riesgo 1)​

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

ArgumentoTipoDescripción
filestringobligatorio. Destination file path (absolute, or relative to the project directory).
asciibooleanWrite ASCII FBX instead of binary. Valor predeterminado false.
exportMorphTargetsbooleanInclude morph targets in the export. Valor predeterminado true.
lodintegerLOD to export; negative exports the whole chain. Valor predeterminado -1.

Devuelve: mesh, message, lods, notes.

skel.find_bones (riesgo 0, smoke)​

Finds bones by wildcard pattern ("hand_", "_l"); a plain word matches as a substring.

ArgumentoTipoDescripción
patternstringobligatorio. Wildcard pattern ("hand_", "_l"); a plain word matches as a substring.
limitintegerMaximum number of bones returned. Valor predeterminado 200.

Devuelve: skeleton, bones, count, total, message.

skel.generate_lods (riesgo 3, modifica)​

Builds a whole LOD chain by reduction. Not smoke-tested: skeletal reduction needs a mesh reduction plugin the smoke project does not enable.

ArgumentoTipoDescripción
countintegerobligatorio. Total number of LODs including LOD0.
percentsarray of numberTriangle fraction per generated LOD (default 0.5, 0.25, 0.125...).
screenSizesarray of numberScreen size per generated LOD.

Devuelve: mesh, lods, count, message, notes.

skel.get_bone (riesgo 0, smoke)​

One bone in detail: local and component-space reference transform, children and retargeting mode.

ArgumentoTipoDescripción
bonestringobligatorio. Bone name (case-insensitive).

Devuelve: skeleton, bone, componentLocation, componentRotation, componentScale, children, message.

skel.get_bone_chain (riesgo 0, smoke)​

Bone path between two bones (walks up from 'to' until it reaches 'from').

ArgumentoTipoDescripción
fromstringobligatorio. First bone of the chain.
tostringobligatorio. Last bone of the chain.

Devuelve: skeleton, bones, count, message.

skel.get_bone_influences (riesgo 0, smoke)​

How many vertices of a LOD a bone influences, and the strongest weight found.

ArgumentoTipoDescripción
bonestringobligatorio. Bone name.
lodintegerLOD index (0 when omitted). Valor predeterminado 0.

Devuelve: mesh, bone, lod, influencedVertices, maxWeight, sections, message.

skel.get_import_settings (riesgo 0, smoke)​

FBX import settings stored on the mesh (they apply to the next reimport).

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, importDataClass, settings, sourceFiles, canReimport, message, notes.

skel.get_lod_build_settings (riesgo 0, smoke)​

Build settings of one LOD (normals, tangents, MikkTSpace, welding thresholds).

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index (0-based).

Devuelve: mesh, importDataClass, settings, sourceFiles, canReimport, message, notes.

skel.get_lod_info (riesgo 0, smoke)​

LOD info of one LOD (-1 returns every LOD): screen size, hysteresis, reduction, bake pose, bones to remove.

ArgumentoTipoDescripción
lodintegerLOD index (0-based); -1 means every LOD. Valor predeterminado -1.

Devuelve: mesh, lods, count, message, notes.

skel.get_mesh (riesgo 0, smoke)​

Deep information about a skeletal mesh: LOD infos, sections, materials, morph targets, skin weight profiles, cloth, physics, bounds, sampling, ray tracing and import settings.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, name, skeleton, boneCount, lods, sections, materials, morphTargets, skinWeightProfiles, clothingAssets, physicsAsset, shadowPhysicsAsset, lodSettings, postProcessAnimBlueprint, defaultMeshDeformer, minLod, boundsOrigin, boundsExtent, positiveBoundsExtension, negativeBoundsExtension, samplingRegions, supportRayTracing, rayTracingMinLod, sourceFiles, message.

skel.get_ref_pose (riesgo 0, smoke)​

Reference pose of a skeletal mesh, in local (default) or component space.

ArgumentoTipoDescripción
bonesarray of stringBones to report; empty reports every bone.
spacestringlocal (relative to the parent, default) or component.
limitintegerMaximum number of bones returned. Valor predeterminado 300.

Devuelve: mesh, space, bones, count, message, notes.

skel.get_required_bones (riesgo 0, smoke)​

Bones required to render a LOD, and the bones that actually have weights on it.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index (0-based).

Devuelve: mesh, lod, requiredBones, activeBones, count, message.

skel.get_retarget_modes (riesgo 0, smoke)​

Translation retargeting mode of every bone of the skeleton.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, modes, count, changed, message, notes.

skel.get_skeleton (riesgo 0, smoke)​

Everything about a skeleton: bone count, root, virtual bones, sockets, slot groups, curves, blend profiles, preview mesh, compatible skeletons, notify names and retarget sources.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, name, boneCount, rootBone, virtualBones, sockets, slotGroups, curves, blendProfiles, previewMesh, compatibleSkeletons, notifyNames, retargetSources, message.

skel.get_vertex_info (riesgo 0, smoke)​

Position, normal, first UV and bone weights of one vertex of a LOD.

ArgumentoTipoDescripción
vertexintegerobligatorio. Vertex index inside the LOD.
lodintegerLOD index (0 when omitted). Valor predeterminado 0.

Devuelve: mesh, lod, vertex, position, normal, uv, influences, message.

skel.import_lod (riesgo 3, modifica)​

Imports (or reimports) a LOD from an FBX file. Not smoke-tested: it needs an FBX file on disk.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index to import into.
filestringobligatorio. Absolute path of the FBX file.

Devuelve: mesh, lods, count, message, notes.

skel.is_mesh_compatible (riesgo 0, smoke)​

Whether a skeletal mesh's bone hierarchy matches this skeleton.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: skeleton, other, compatible, message.

skel.list_animations_using_skeleton (riesgo 0, smoke)​

Animation assets bound to a skeleton (asset registry query, nothing is loaded).

ArgumentoTipoDescripción
classFilterstringKeep only assets of this class (AnimSequence, AnimMontage, BlendSpace...); empty = every animation asset.
limitintegerMaximum number of assets returned. Valor predeterminado 200.

Devuelve: skeleton, assets, count, message, notes.

skel.list_blend_profiles (riesgo 0, smoke)​

Blend profiles of a skeleton with their mode and per-bone scales.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, profiles, count, message, notes.

skel.list_bones (riesgo 0, smoke)​

Bones of a skeleton with index, parent, depth, reference-pose local transform and retargeting mode.

ArgumentoTipoDescripción
parentstringOnly list this bone and its descendants.
depthintegerMaximum hierarchy depth returned relative to the root (-1 = no limit). Valor predeterminado -1.
nameContainsstringKeep only bones whose name contains this text.
limitintegerMaximum number of bones returned. Valor predeterminado 300.

Devuelve: skeleton, bones, count, total, message.

skel.list_compatible_skeletons (riesgo 0, UE 5.0+, smoke)​

Skeletons declared compatible with this one (UE 5 only; animations of a compatible skeleton can be played directly).

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, names, count, message, notes.

skel.list_curves (riesgo 0, smoke)​

Curve metadata of a skeleton: name, morph target / material flags, max LOD and linked bones.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, curves, count, message, notes.

skel.list_material_slots (riesgo 0, smoke)​

Material slots of a skeletal mesh, with the slot names and whether a section uses them.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, materials, count, message, notes.

skel.list_meshes_using_skeleton (riesgo 0, smoke)​

Skeletal meshes bound to a skeleton (asset registry query, nothing is loaded).

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, assets, count, message, notes.

skel.list_morph_targets (riesgo 0, smoke)​

Morph targets of a skeletal mesh with the number of vertex deltas per LOD.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, morphTargets, count, message, notes.

skel.list_notify_names (riesgo 0, smoke)​

Animation notify names cached on the skeleton.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, names, count, message, notes.

skel.list_sections (riesgo 0, smoke)​

Sections of a LOD (-1 = every LOD) with material slot, counts and per-section flags.

ArgumentoTipoDescripción
lodintegerLOD index (0-based); -1 means every LOD. Valor predeterminado -1.

Devuelve: mesh, sections, count, message, notes.

skel.list_skeleton_sockets (riesgo 0, smoke)​

Sockets stored on the skeleton (shared by every mesh bound to it).

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, sockets, count, message, notes.

skel.list_skeletons (riesgo 0, smoke)​

Lists skeleton assets under a content folder.

ArgumentoTipoDescripción
folderstringContent folder to search ("/Game" when empty).
nameContainsstringKeep only skeletons whose name contains this text.
limitintegerMaximum number of skeletons returned. Valor predeterminado 100.

Devuelve: skeletons, count, message.

skel.list_skin_weight_profiles (riesgo 0, smoke)​

Skin weight profiles of a skeletal mesh.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, profiles, count, message, notes.

skel.list_slot_groups (riesgo 0, smoke)​

Animation slot groups of a skeleton and the slots they contain.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, groups, count, message, notes.

skel.list_virtual_bones (riesgo 0, smoke)​

Virtual bones of a skeleton (derived bones between a source and a target bone).

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, virtualBones, count, createdName, message, notes.

skel.merge_bones_from_mesh (riesgo 2, modifica, smoke)​

Adds the bones of a mesh that the skeleton does not know yet to its bone tree.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: skeleton, message, notes.

skel.merge_meshes (riesgo 2, modifica, smoke)​

Merges several skeletal meshes into a new asset (modular characters).

ArgumentoTipoDescripción
meshesarray of stringobligatorio. Source skeletal meshes, in draw order.
folderstringobligatorio. Destination content folder.
namestringobligatorio. Name of the merged asset.
skeletonstringSkeleton for the merged mesh; the first source mesh's skeleton when empty.
stripTopLodsintegerNumber of top LODs to strip from the sources. Valor predeterminado 0.

Devuelve: mesh, name, folder, skeleton, bones, message, notes.

skel.pa_add_body (riesgo 2, modifica, smoke)​

Adds a physics body on a bone with one default shape.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.
shapestringcapsule (default), box or sphere.
sizenumberShape size: radius for sphere/capsule, half-extent for box. Valor predeterminado 5.0.
physicsTypestringdefault, kinematic or simulated.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_add_constraint (riesgo 2, modifica, smoke)​

Creates a constraint between two bones (preset locked, free or ragdoll).

ArgumentoTipoDescripción
bone1stringobligatorio. Child bone.
bone2stringobligatorio. Parent bone.
namestringJoint name; the child bone name when empty.
presetstringlocked, free or ragdoll (limited swings and twist).

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_add_profile (riesgo 2, modifica, smoke)​

Adds a constraint or physical animation profile.

ArgumentoTipoDescripción
namestringobligatorio. Profile name.
kindstringobligatorio. constraint or physicalAnimation.
newNamestringNew name (skel.pa_rename_profile only).

Devuelve: physicsAsset, constraintProfiles, physicalAnimationProfiles, message, notes.

skel.pa_add_shape (riesgo 2, modifica, smoke)​

Adds a collision shape to a body.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.
typestringobligatorio. box, sphere or capsule.
indexintegerShape index inside its type list (skel.pa_set_shape / skel.pa_remove_shape). Valor predeterminado 0.
center{x,y,z}Shape centre relative to the bone.
rotation{x,y,z}Shape rotation as pitch/yaw/roll.
extent{x,y,z}Full extents of a box shape; (0,0,0) leaves them unchanged.
radiusnumberRadius of a sphere or capsule; negative leaves it unchanged. Valor predeterminado -1.0.
lengthnumberLength of a capsule's line segment; negative leaves it unchanged. Valor predeterminado -1.0.
namestringOptional shape name.
contributeToMassbooleanWhether the shape adds to the body's mass. Valor predeterminado true.

Devuelve: physicsAsset, bone, shapes, count, message, notes.

skel.pa_assign_to_mesh (riesgo 2, modifica, smoke)​

Assigns the physics asset to a skeletal mesh (as the main or the shadow physics asset).

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.
shadowbooleanAssign it as the shadow physics asset instead of the main one. Valor predeterminado false.

Devuelve: physicsAsset, message, notes.

skel.pa_copy_body (riesgo 2, modifica, smoke)​

Copies the shapes and settings of one body onto another bone, optionally mirrored.

ArgumentoTipoDescripción
fromstringobligatorio. Source bone.
tostringobligatorio. Destination bone (its body is created when missing).
mirrorbooleanMirror the shapes across the YZ plane (X is negated). Valor predeterminado false.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_create (riesgo 3, modifica, smoke)​

Creates a physics asset from a skeletal mesh's bones (geometry type, minimum bone size, constraints) and optionally assigns it.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh the bodies are generated from.
folderstringDestination content folder (skel.pa_create only).
namestringName of the new physics asset (skel.pa_create only).
minBoneSizenumberBones shorter than this are skipped. Valor predeterminado 20.0.
geomTypestringsphyl (capsule, default), box, sphere, singleConvex, multiConvex or taperedCapsule.
vertWeightstringanyWeight or dominantWeight (default).
autoOrientbooleanOrient the created bodies along their bone. Valor predeterminado true.
createConstraintsbooleanCreate constraints between adjacent bodies. Valor predeterminado true.
walkPastSmallbooleanKeep walking past bones that are too small instead of stopping. Valor predeterminado true.
bodyForAllbooleanCreate a body for every bone, even the small ones. Valor predeterminado false.
disableCollisionsByDefaultbooleanDisable collision between the created bodies by default. Valor predeterminado true.
hullCountintegerNumber of hulls for the convex geometry types. Valor predeterminado 4.
maxHullVertsintegerMaximum vertices per convex hull. Valor predeterminado 16.
assignbooleanAlso assign the asset to the mesh (skel.pa_create only). Valor predeterminado true.

Devuelve: physicsAsset, name, folder, bodies, constraints, boneNames, message, notes.

skel.pa_delete (riesgo 3, modifica, destructivo)​

Deletes the physics asset. Not smoke-tested: deleting an asset inside the self-test transaction is unsafe.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, message, notes.

skel.pa_disable_collision_below (riesgo 2, modifica, smoke)​

Disables collision between a bone's body and every body below it in the hierarchy.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.

Devuelve: physicsAsset, pairs, count, message, notes.

skel.pa_enable_all_collision (riesgo 3, modifica, smoke)​

Clears the whole collision-disable table, so every body collides with every other one.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, pairs, count, message, notes.

skel.pa_get (riesgo 0, smoke)​

Everything about a physics asset: bodies, shapes, constraints, profiles, disabled collision pairs and solver settings.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, name, previewMesh, bodies, constraints, constraintProfiles, physicalAnimationProfiles, disabledCollisionPairs, solverSettings, message, notes.

skel.pa_get_body (riesgo 0, smoke)​

One body in detail.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_get_constraint (riesgo 0, smoke)​

One constraint in detail (by joint name or index).

ArgumentoTipoDescripción
namestringobligatorio. Joint name (or index as text).

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_list (riesgo 0, smoke)​

Lists physics assets under a content folder.

ArgumentoTipoDescripción
folderstringContent folder to search ("/Game" when empty).
limitintegerMaximum number of assets returned. Valor predeterminado 100.

Devuelve: physicsAssets, count, message, notes.

skel.pa_list_bodies (riesgo 0, smoke)​

Bodies of a physics asset with their shapes and physics settings.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_list_collision_pairs (riesgo 0, smoke)​

Body pairs whose collision is disabled (or every pair).

ArgumentoTipoDescripción
disabledOnlybooleanOnly report the pairs whose collision is disabled. Valor predeterminado true.

Devuelve: physicsAsset, pairs, count, message, notes.

skel.pa_list_constraints (riesgo 0, smoke)​

Constraints of a physics asset with their limits and drives.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_list_profiles (riesgo 0, smoke)​

Constraint and physical animation profile names.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, constraintProfiles, physicalAnimationProfiles, message, notes.

skel.pa_list_shapes (riesgo 0, smoke)​

Collision shapes of one body.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.

Devuelve: physicsAsset, bone, shapes, count, message, notes.

skel.pa_mirror (riesgo 2, modifica, smoke)​

Mirrors every body whose bone ends with one suffix onto the bone with the other suffix.

ArgumentoTipoDescripción
fromSuffixstringobligatorio. Suffix of the source bones (e.g. "_l").
toSuffixstringobligatorio. Suffix of the destination bones (e.g. "_r").

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_regenerate (riesgo 3, modifica, destructivo, smoke)​

Regenerates the bodies and constraints of an existing physics asset from a mesh.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset to regenerate.

Devuelve: physicsAsset, name, folder, bodies, constraints, boneNames, message, notes.

skel.pa_remove_body (riesgo 3, modifica, destructivo, smoke)​

Removes the physics body of a bone (and the constraints that used it).

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_remove_constraint (riesgo 3, modifica, destructivo, smoke)​

Removes a constraint.

ArgumentoTipoDescripción
namestringobligatorio. Joint name (or index as text).

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_remove_profile (riesgo 3, modifica, destructivo, smoke)​

Removes a constraint or physical animation profile.

ArgumentoTipoDescripción
namestringobligatorio. Profile name.
kindstringobligatorio. constraint or physicalAnimation.
newNamestringNew name (skel.pa_rename_profile only).

Devuelve: physicsAsset, constraintProfiles, physicalAnimationProfiles, message, notes.

skel.pa_remove_shape (riesgo 3, modifica, destructivo, smoke)​

Removes a collision shape from a body.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.
typestringobligatorio. box, sphere or capsule.
indexintegerShape index inside its type list (skel.pa_set_shape / skel.pa_remove_shape). Valor predeterminado 0.
center{x,y,z}Shape centre relative to the bone.
rotation{x,y,z}Shape rotation as pitch/yaw/roll.
extent{x,y,z}Full extents of a box shape; (0,0,0) leaves them unchanged.
radiusnumberRadius of a sphere or capsule; negative leaves it unchanged. Valor predeterminado -1.0.
lengthnumberLength of a capsule's line segment; negative leaves it unchanged. Valor predeterminado -1.0.
namestringOptional shape name.
contributeToMassbooleanWhether the shape adds to the body's mass. Valor predeterminado true.

Devuelve: physicsAsset, bone, shapes, count, message, notes.

skel.pa_rename_profile (riesgo 2, modifica, smoke)​

Renames a constraint or physical animation profile.

ArgumentoTipoDescripción
namestringobligatorio. Profile name.
kindstringobligatorio. constraint or physicalAnimation.
newNamestringNew name (skel.pa_rename_profile only).

Devuelve: physicsAsset, constraintProfiles, physicalAnimationProfiles, message, notes.

skel.pa_save (riesgo 1)​

Saves the physics asset package to disk. Not smoke-tested: the self-test never writes to disk.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, message, notes.

skel.pa_scale_shapes (riesgo 2, modifica, smoke)​

Scales every collision shape of the asset (or of some bones) by a factor.

ArgumentoTipoDescripción
factornumberobligatorio. Scale factor applied to every radius/extent.
bonesarray of stringBones to scale; empty scales every body.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_set_body_collision (riesgo 2, modifica, smoke)​

Collision settings of one body: collision enabled mode, object type and per-channel responses.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.
collisionEnabledstringnoCollision, queryOnly, physicsOnly or queryAndPhysics ("" leaves it unchanged).
objectTypestringCollision object type channel name (WorldStatic, Pawn, PhysicsBody...).
responsesarray of UeaKeyValuePer-channel responses as "Channel=ignore

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_set_body_physics (riesgo 2, modifica, smoke)​

Physics settings of one body: simulation type, mass, damping, gravity, CCD, centre of mass, physical material.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.
physicsTypestringdefault, kinematic or simulated ("" leaves it unchanged).
massScalenumberMultiplier applied to the computed mass; negative leaves it unchanged. Valor predeterminado -1.0.
massKgnumberExplicit mass in kilograms; negative leaves the computed mass. Valor predeterminado -1.0.
linearDampingnumberLinear damping; negative leaves it unchanged. Valor predeterminado -1.0.
angularDampingnumberAngular damping; negative leaves it unchanged. Valor predeterminado -1.0.
enableGravitybooleanWhether gravity acts on the body. Valor predeterminado true.
simulatePhysicsbooleanWhether the body simulates by default. Valor predeterminado false.
startAwakebooleanWhether the body starts awake. Valor predeterminado true.
useCCDbooleanUse continuous collision detection. Valor predeterminado false.
centerOfMassOffset{x,y,z}Offset applied to the centre of mass.
physicalMaterialstringPhysical material asset path ("" leaves it unchanged).

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_set_collision_pair (riesgo 2, modifica, smoke)​

Enables or disables collision between the bodies of two bones.

ArgumentoTipoDescripción
bone1stringobligatorio. First bone.
bone2stringobligatorio. Second bone.
enabledbooleanTrue to let the two bodies collide. Valor predeterminado true.

Devuelve: physicsAsset, pairs, count, message, notes.

skel.pa_set_constraint (riesgo 2, modifica, smoke)​

General constraint settings: collision, projection, break thresholds, parent dominance, frame rotation.

ArgumentoTipoDescripción
namestringobligatorio. Joint name.
disableCollisionbooleanMake the two bodies ignore each other. Valor predeterminado true.
projectionEnabledbooleanEnable joint projection (keeps long chains from stretching). Valor predeterminado false.
linearBreakablebooleanLet the constraint break under linear force. Valor predeterminado false.
linearBreakThresholdnumberForce above which the constraint breaks; negative leaves it unchanged. Valor predeterminado -1.0.
angularBreakablebooleanLet the constraint break under torque. Valor predeterminado false.
angularBreakThresholdnumberTorque above which the constraint breaks; negative leaves it unchanged. Valor predeterminado -1.0.
parentDominatesbooleanLet the parent body dominate the child. Valor predeterminado false.
frameRotation{x,y,z}Rotation offset applied to the constraint frame, as pitch/yaw/roll.

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_set_constraint_limits (riesgo 2, modifica, smoke)​

Angular and linear limits of a constraint, with the soft-limit parameters.

ArgumentoTipoDescripción
namestringobligatorio. Joint name.
swing1Motionstringfree, limited or locked ("" leaves it unchanged).
swing1LimitnumberSwing 1 limit in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
swing2Motionstringfree, limited or locked ("" leaves it unchanged).
swing2LimitnumberSwing 2 limit in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
twistMotionstringfree, limited or locked ("" leaves it unchanged).
twistLimitnumberTwist limit in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
linearXMotionstringfree, limited or locked ("" leaves it unchanged).
linearYMotionstringfree, limited or locked ("" leaves it unchanged).
linearZMotionstringfree, limited or locked ("" leaves it unchanged).
linearLimitnumberLinear limit distance; negative leaves it unchanged. Valor predeterminado -1.0.
softSwingbooleanMake the swing limit soft. Valor predeterminado false.
swingStiffnessnumberSoft swing stiffness; negative leaves it unchanged. Valor predeterminado -1.0.
swingDampingnumberSoft swing damping; negative leaves it unchanged. Valor predeterminado -1.0.
softTwistbooleanMake the twist limit soft. Valor predeterminado false.
twistStiffnessnumberSoft twist stiffness; negative leaves it unchanged. Valor predeterminado -1.0.
twistDampingnumberSoft twist damping; negative leaves it unchanged. Valor predeterminado -1.0.
softLinearbooleanMake the linear limit soft. Valor predeterminado false.
linearStiffnessnumberSoft linear stiffness; negative leaves it unchanged. Valor predeterminado -1.0.
linearDampingnumberSoft linear damping; negative leaves it unchanged. Valor predeterminado -1.0.

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_set_constraint_motor (riesgo 2, modifica, smoke)​

Angular and linear drives (motors) of a constraint.

ArgumentoTipoDescripción
namestringobligatorio. Joint name.
angularDriveModestringslerp or twistAndSwing ("" leaves it unchanged).
orientationDrivebooleanEnable the angular orientation drive. Valor predeterminado false.
velocityDrivebooleanEnable the angular velocity drive. Valor predeterminado false.
strengthnumberAngular drive spring strength; negative leaves it unchanged. Valor predeterminado -1.0.
dampingnumberAngular drive damping; negative leaves it unchanged. Valor predeterminado -1.0.
maxForcenumberMaximum force the drives may apply; negative leaves it unchanged. Valor predeterminado -1.0.
target{x,y,z}Target orientation as pitch/yaw/roll.
linearPositionDrivebooleanEnable the linear position drive on all three axes. Valor predeterminado false.
linearVelocityDrivebooleanEnable the linear velocity drive on all three axes. Valor predeterminado false.

Devuelve: physicsAsset, constraints, count, message, notes.

skel.pa_set_physical_animation_profile (riesgo 2, modifica, smoke)​

Physical animation drive strengths of one bone inside a physical animation profile.

ArgumentoTipoDescripción
profilestringobligatorio. Physical animation profile name.
bonestringobligatorio. Bone the settings apply to.
orientationStrengthnumberStrength of the orientation drive. Valor predeterminado 0.0.
angularVelocityStrengthnumberStrength of the angular velocity drive. Valor predeterminado 0.0.
positionStrengthnumberStrength of the position drive. Valor predeterminado 0.0.
velocityStrengthnumberStrength of the linear velocity drive. Valor predeterminado 0.0.
maxLinearForcenumberMaximum linear force the drives may apply. Valor predeterminado 0.0.
maxAngularForcenumberMaximum angular force the drives may apply. Valor predeterminado 0.0.
isLocalSimulationbooleanSimulate in the space of the body's parent instead of world space. Valor predeterminado true.

Devuelve: physicsAsset, constraintProfiles, physicalAnimationProfiles, message, notes.

skel.pa_set_physical_material (riesgo 2, modifica)​

Assigns a physical material to one body or to every body. Not smoke-tested: no physical material ships in engine content.

ArgumentoTipoDescripción
bonestringBone to change; every body when empty.
materialstringobligatorio. Physical material asset path.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.pa_set_preview_mesh (riesgo 2, modifica, smoke)​

Sets the skeletal mesh the physics asset editor previews.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: physicsAsset, message, notes.

skel.pa_set_profile_constraint (riesgo 2, modifica, smoke)​

Stores constraint limits and drive strengths inside a constraint profile.

ArgumentoTipoDescripción
profilestringobligatorio. Constraint profile name.
constraintstringobligatorio. Joint name.
swing1Motionstringfree, limited or locked ("" leaves it unchanged).
swing1LimitnumberSwing 1 limit in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
swing2Motionstringfree, limited or locked ("" leaves it unchanged).
swing2LimitnumberSwing 2 limit in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
twistMotionstringfree, limited or locked ("" leaves it unchanged).
twistLimitnumberTwist limit in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
strengthnumberAngular drive spring strength; negative leaves it unchanged. Valor predeterminado -1.0.
dampingnumberAngular drive damping; negative leaves it unchanged. Valor predeterminado -1.0.

Devuelve: physicsAsset, constraintProfiles, physicalAnimationProfiles, message, notes.

skel.pa_set_shape (riesgo 2, modifica, smoke)​

Edits an existing collision shape.

ArgumentoTipoDescripción
bonestringobligatorio. Bone the body is attached to.
typestringobligatorio. box, sphere or capsule.
indexintegerShape index inside its type list (skel.pa_set_shape / skel.pa_remove_shape). Valor predeterminado 0.
center{x,y,z}Shape centre relative to the bone.
rotation{x,y,z}Shape rotation as pitch/yaw/roll.
extent{x,y,z}Full extents of a box shape; (0,0,0) leaves them unchanged.
radiusnumberRadius of a sphere or capsule; negative leaves it unchanged. Valor predeterminado -1.0.
lengthnumberLength of a capsule's line segment; negative leaves it unchanged. Valor predeterminado -1.0.
namestringOptional shape name.
contributeToMassbooleanWhether the shape adds to the body's mass. Valor predeterminado true.

Devuelve: physicsAsset, bone, shapes, count, message, notes.

skel.pa_set_solver (riesgo 2, modifica, smoke)​

Solver settings of the physics asset (iteration counts and solver type).

ArgumentoTipoDescripción
positionIterationsintegerPosition iterations (UE 5) / solver iterations (UE 4.27); negative leaves it unchanged. Valor predeterminado -1.
velocityIterationsintegerVelocity iterations (UE 5) / joint iterations (UE 4.27); negative leaves it unchanged. Valor predeterminado -1.
projectionIterationsintegerProjection iterations (UE 5) / collision iterations (UE 4.27); negative leaves it unchanged. Valor predeterminado -1.
solverTypestringWorld or RBAN ("" leaves it unchanged).

Devuelve: physicsAsset, message, notes.

skel.pa_validate (riesgo 0, smoke)​

Sanity check: bodies without shapes, constraints pointing at missing bodies, bones without a body.

ArgumentoTipoDescripción
physicsAssetstringobligatorio. Physics asset path or unique name.

Devuelve: physicsAsset, errors, warnings, valid, message.

skel.pa_weld_bodies (riesgo 3, modifica)​

Merges the body of a child bone into its parent's. Not smoke-tested: it needs a live skeletal mesh component.

ArgumentoTipoDescripción
parentstringobligatorio. Bone that keeps its body.
childstringobligatorio. Bone whose body is merged into the parent's.

Devuelve: physicsAsset, bodies, count, message, notes.

skel.rebuild_mesh (riesgo 2, modifica, smoke)​

Rebuilds the mesh's render data after low-level edits.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, message, lods, notes.

skel.recreate_bone_tree (riesgo 3, modifica, destructivo, smoke)​

Rebuilds the bone tree from a mesh, discarding the current hierarchy (breaks existing animations).

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: skeleton, message, notes.

skel.regenerate_lod (riesgo 3, modifica)​

Regenerates one LOD from its reduction settings. Not smoke-tested: skeletal reduction needs a mesh reduction plugin the smoke project does not enable.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index (0-based).

Devuelve: mesh, lods, count, message, notes.

skel.reimport_mesh (riesgo 3, modifica)​

Reimports the mesh from its source file (or from a new one). Not smoke-tested: it needs an FBX file on disk.

ArgumentoTipoDescripción
filestringSource file to reimport from ("" uses the stored one).

Devuelve: mesh, message, lods, notes.

skel.remove_all_morph_targets (riesgo 3, modifica, destructivo, smoke)​

Removes every morph target of a skeletal mesh.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, morphTargets, count, message, notes.

skel.remove_blend_profile (riesgo 3, modifica, destructivo, smoke)​

Deletes a blend profile.

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: skeleton, profiles, count, message, notes.

skel.remove_compatible_skeleton (riesgo 2, modifica, UE 5.0+, smoke)​

Removes a skeleton from the compatible list (UE 5 only).

ArgumentoTipoDescripción
otherstringobligatorio. The other skeleton asset path or unique name.

Devuelve: skeleton, names, count, message, notes.

skel.remove_curve (riesgo 3, modifica, destructivo, smoke)​

Removes a curve and its metadata from the skeleton.

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: skeleton, curves, count, message, notes.

skel.remove_lod (riesgo 3, modifica, destructivo)​

Removes one LOD. Not smoke-tested: the engine cube fixture only has LOD0 and LOD removal needs a reduction plugin.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index (0-based).

Devuelve: mesh, lods, count, message, notes.

skel.remove_material_slot (riesgo 3, modifica, destructivo, smoke)​

Removes a material slot; refused while a section still uses it.

ArgumentoTipoDescripción
slotstringobligatorio. Slot index or slot name.

Devuelve: mesh, materials, count, message, notes.

skel.remove_morph_target (riesgo 3, modifica, destructivo)​

Removes one morph target. Not smoke-tested: the engine cube fixture has no morph targets.

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: mesh, morphTargets, count, message, notes.

skel.remove_notify_name (riesgo 2, modifica, smoke)​

Removes a notify name from the skeleton's cached list.

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: skeleton, names, count, message, notes.

skel.remove_skeleton_socket (riesgo 3, modifica, destructivo, smoke)​

Removes a socket from the skeleton.

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: skeleton, sockets, count, message, notes.

skel.remove_skin_weight_profile (riesgo 3, modifica, destructivo, UE 5.0+)​

Removes a skin weight profile (UE 5 only; UE 4.27 has no removal API). Not smoke-tested: the engine cube fixture has no skin weight profiles.

ArgumentoTipoDescripción
namestringobligatorio. Name to operate on.

Devuelve: mesh, profiles, count, message, notes.

skel.remove_slot (riesgo 3, modifica, destructivo, smoke)​

Removes an animation slot.

ArgumentoTipoDescripción
slotstringSlot name (skel.add_slot, skel.set_slot_group, skel.remove_slot).
groupstringSlot group name (defaults to DefaultGroup for skel.add_slot).

Devuelve: skeleton, groups, count, message, notes.

skel.remove_virtual_bones (riesgo 3, modifica, destructivo, smoke)​

Removes virtual bones by name.

ArgumentoTipoDescripción
namesarray of stringobligatorio. Names to operate on.

Devuelve: skeleton, virtualBones, count, createdName, message, notes.

skel.rename_curve (riesgo 2, modifica, smoke)​

Renames a curve.

ArgumentoTipoDescripción
namestringobligatorio. Current name.
newNamestringobligatorio. New name.

Devuelve: skeleton, curves, count, message, notes.

skel.rename_morph_target (riesgo 2, modifica)​

Renames a morph target. Not smoke-tested: the engine cube fixture has no morph targets.

ArgumentoTipoDescripción
namestringobligatorio. Current name.
newNamestringobligatorio. New name.

Devuelve: mesh, morphTargets, count, message, notes.

skel.rename_virtual_bone (riesgo 2, modifica, smoke)​

Renames a virtual bone.

ArgumentoTipoDescripción
namestringobligatorio. Current name.
newNamestringobligatorio. New name.

Devuelve: skeleton, virtualBones, count, createdName, message, notes.

skel.reset_ref_pose (riesgo 3, modifica, smoke)​

Resets the mesh's reference pose to the skeleton's one.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, space, bones, count, message, notes.

skel.save_mesh (riesgo 1)​

Saves the skeletal mesh package to disk. Not smoke-tested: the self-test never writes to disk.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: mesh, message, lods, notes.

skel.save_skeleton (riesgo 1)​

Saves the skeleton package to disk.

ArgumentoTipoDescripción
skeletonstringobligatorio. Skeleton asset path or unique name.

Devuelve: skeleton, message, notes.

skel.set_allow_cpu_access (riesgo 2, modifica, smoke)​

Keeps the mesh's vertex buffers readable on the CPU (needed by some Niagara and trace setups).

ArgumentoTipoDescripción
enabledbooleanValue of the flag. Valor predeterminado true.

Devuelve: mesh, message, lods, notes.

skel.set_blend_profile_bone (riesgo 2, modifica, smoke)​

Sets the blend scale of one bone (optionally its whole subtree) in a blend profile.

ArgumentoTipoDescripción
profilestringobligatorio. Blend profile name.
bonestringobligatorio. Bone name.
scalenumberobligatorio. Blend scale (1 = normal speed/weight, 0 = the bone does not blend).
recursebooleanAlso apply the scale to every descendant of the bone. Valor predeterminado false.

Devuelve: skeleton, profiles, count, message, notes.

skel.set_bounds (riesgo 2, modifica, smoke)​

Extra padding added to the rendered bounds (fixes meshes that disappear when animated).

ArgumentoTipoDescripción
positiveExtension{x,y,z}Padding added on +X/+Y/+Z.
negativeExtension{x,y,z}Padding added on -X/-Y/-Z.

Devuelve: mesh, message, lods, notes.

skel.set_curve_metadata (riesgo 2, modifica, smoke)​

Updates the metadata of an existing curve (morph target / material flags, max LOD, linked bones).

ArgumentoTipoDescripción
namestringobligatorio. Curve name.
morphTargetbooleanMark the curve as driving a morph target. Valor predeterminado false.
materialbooleanMark the curve as driving a material parameter. Valor predeterminado false.
maxLodintegerLowest-detail LOD the curve is still evaluated on; -1 leaves it unchanged, 255 = always. Valor predeterminado -1.
linkedBonesarray of stringBones the curve is linked to (skel.set_curve_metadata only; empty leaves them unchanged).

Devuelve: skeleton, curves, count, message, notes.

skel.set_default_mesh_deformer (riesgo 2, modifica, UE 5.1+, smoke)​

Assigns (or clears) the default mesh deformer (UE 5.1+ deformer graph).

ArgumentoTipoDescripción
assetstringAsset path; "" clears the reference.

Devuelve: mesh, message, lods, notes.

skel.set_import_settings (riesgo 2, modifica, smoke)​

Edits the FBX import settings stored on the mesh (they apply to the next reimport).

ArgumentoTipoDescripción
importMorphTargetsbooleanImport morph targets on the next reimport. Valor predeterminado true.
updateSkeletonReferencePosebooleanUpdate the skeleton's reference pose from the file. Valor predeterminado false.
useT0AsRefPosebooleanUse frame 0 of the file as the reference pose. Valor predeterminado false.
preserveSmoothingGroupsbooleanKeep the file's smoothing groups. Valor predeterminado true.
importMeshesInBoneHierarchybooleanImport meshes that live inside the bone hierarchy. Valor predeterminado true.
thresholdPositionnumberWeld distance for positions; negative leaves it unchanged. Valor predeterminado -1.0.
thresholdTangentNormalnumberWeld threshold for tangents/normals; negative leaves it unchanged. Valor predeterminado -1.0.
thresholdUvnumberWeld threshold for UVs; negative leaves it unchanged. Valor predeterminado -1.0.
normalImportMethodstringComputeNormals / ImportNormals / ImportNormalsAndTangents ("" leaves it unchanged).
normalGenerationMethodstringBuiltIn / MikkTSpace ("" leaves it unchanged).
computeWeightedNormalsbooleanWeight generated normals by triangle area. Valor predeterminado false.

Devuelve: mesh, importDataClass, settings, sourceFiles, canReimport, message, notes.

skel.set_lod_build_settings (riesgo 2, modifica, smoke)​

Edits the build settings of one LOD (normals, tangents, MikkTSpace, welding thresholds).

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index.
recomputeNormalsbooleanRecompute normals when building. Valor predeterminado false.
recomputeTangentsbooleanRecompute tangents when building. Valor predeterminado true.
useMikkTSpacebooleanUse MikkTSpace to generate tangents. Valor predeterminado true.
computeWeightedNormalsbooleanWeight generated normals by triangle area. Valor predeterminado false.
removeDegeneratesbooleanDrop degenerate triangles. Valor predeterminado true.
useHighPrecisionTangentBasisbooleanStore tangents with higher precision. Valor predeterminado false.
useFullPrecisionUVsbooleanStore UVs with full precision. Valor predeterminado false.
thresholdPositionnumberWeld distance for positions; negative leaves it unchanged. Valor predeterminado -1.0.
thresholdTangentNormalnumberWeld threshold for tangents/normals; negative leaves it unchanged. Valor predeterminado -1.0.
thresholdUvnumberWeld threshold for UVs; negative leaves it unchanged. Valor predeterminado -1.0.
rebuildbooleanRebuild the mesh after the change. Valor predeterminado false.

Devuelve: mesh, lods, count, message, notes.

skel.set_lod_info (riesgo 2, modifica, smoke)​

Edits the LOD info of one LOD: screen size, hysteresis, CPU access, sampling, bake pose, bones to remove/prioritize.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index (0-based).
screenSizenumberScreen size at which the LOD becomes active; negative leaves it unchanged. Valor predeterminado -1.0.
hysteresisnumberLOD hysteresis; negative leaves it unchanged. Valor predeterminado -1.0.
allowCpuAccessbooleanKeep the LOD's vertex buffers readable on the CPU. Valor predeterminado false.
supportUniformSamplingbooleanSupport uniformly distributed sampling (Niagara). Valor predeterminado false.
bakePosestringAnimation whose pose is baked into the LOD ("" clears it, omitted leaves it unchanged).
bakePoseOverridestringAnimation whose pose overrides the baked one.
bonesToRemovearray of stringBones removed at this LOD (replaces the current list when non-empty).
bonesToPrioritizearray of stringBones the reduction tries to preserve (replaces the current list when non-empty).
weightOfPrioritizationnumberWeight given to the prioritized bones; negative leaves it unchanged. Valor predeterminado -1.0.
rebuildbooleanRebuild the mesh after the change (slower, but the result is immediately visible). Valor predeterminado false.

Devuelve: mesh, lods, count, message, notes.

skel.set_lod_reduction (riesgo 2, modifica, smoke)​

Edits the reduction settings of one LOD (termination criterion, percentages, deviation, bone limits).

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index (0-based).
terminationCriterionstringNumOfTriangles, NumOfVerts, NumOfTrianglesPercent, NumOfVertsPercent... ("" leaves it unchanged).
percentTrianglesnumberFraction of triangles to keep (0-1); negative leaves it unchanged. Valor predeterminado -1.0.
percentVerticesnumberFraction of vertices to keep (0-1); negative leaves it unchanged. Valor predeterminado -1.0.
maxDeviationnumberMaximum deviation in percent; negative leaves it unchanged. Valor predeterminado -1.0.
maxBonesPerVertexintegerMaximum bone influences per vertex; negative leaves it unchanged. Valor predeterminado -1.
weldingThresholdnumberDistance below which vertices are welded; negative leaves it unchanged. Valor predeterminado -1.0.
hardAnglenumberNormal split angle in degrees; negative leaves it unchanged. Valor predeterminado -1.0.
baseLodintegerLOD the reduction reads from; negative leaves it unchanged. Valor predeterminado -1.
lockEdgesbooleanKeep boundary edges. Valor predeterminado false.
enforceBoneBoundariesbooleanDo not collapse vertices across bone boundaries. Valor predeterminado false.
rebuildbooleanRebuild the mesh after the change. Valor predeterminado false.

Devuelve: mesh, lods, count, message, notes.

skel.set_lod_settings_asset (riesgo 2, modifica)​

Assigns a SkeletalMeshLODSettings asset and optionally copies its settings into the LOD infos. Not smoke-tested: no LOD settings asset ships in engine content.

ArgumentoTipoDescripción
settingsstringSkeletalMeshLODSettings asset path; "" clears it.
applybooleanImmediately copy the settings into the mesh's LOD infos. Valor predeterminado true.

Devuelve: mesh, lods, count, message, notes.

skel.set_min_lod_per_platform (riesgo 2, modifica, smoke)​

Minimum LOD with per-platform overrides and the below-minimum stripping switch.

ArgumentoTipoDescripción
minLodintegerobligatorio. Default minimum LOD the renderer may use.
perPlatformarray of UeaKeyValuePer-platform overrides as "platform=lod" (e.g. "Mobile=2").
disableBelowMinLodStrippingbooleanKeep the LODs below the minimum in cooked builds. Valor predeterminado false.

Devuelve: mesh, message, lods, notes.

skel.set_physics_assets (riesgo 2, modifica, smoke)​

Assigns the physics asset and the shadow physics asset in one call.

ArgumentoTipoDescripción
physicsAssetstringPhysics asset path; "" clears it.
shadowPhysicsAssetstringCheaper physics asset used for shadow computations; "" clears it.

Devuelve: mesh, message, lods, notes.

skel.set_post_process_anim_blueprint (riesgo 2, modifica, smoke)​

Assigns (or clears) the post-process animation blueprint run after the main anim graph.

ArgumentoTipoDescripción
assetstringAsset path; "" clears the reference.

Devuelve: mesh, message, lods, notes.

skel.set_preview_mesh (riesgo 2, modifica, smoke)​

Sets the mesh shown when the skeleton is opened in Persona.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

Devuelve: skeleton, message, notes.

skel.set_ray_tracing (riesgo 2, modifica, smoke)​

Whether a ray tracing acceleration structure is built for the mesh, and from which LOD.

ArgumentoTipoDescripción
supportbooleanobligatorio. Build a ray tracing acceleration structure for this mesh.
minLodintegerLowest LOD used by ray tracing (UE 5 only); negative leaves it unchanged. Valor predeterminado -1.

Devuelve: mesh, message, lods, notes.

skel.set_ref_pose_bone (riesgo 3, modifica, smoke)​

Moves one bone of the mesh's reference pose. Breaks existing animations and invalidates the physics asset.

ArgumentoTipoDescripción
bonestringobligatorio. Bone name.
location{x,y,z}New translation relative to the parent bone.
rotation{x,y,z}New rotation relative to the parent bone, as pitch/yaw/roll.
scale{x,y,z}New scale; (0,0,0) means 1,1,1.
rebuildbooleanRebuild the mesh after the change. Valor predeterminado true.

Devuelve: mesh, space, bones, count, message, notes.

skel.set_retarget_mode (riesgo 2, modifica, smoke)​

Sets the translation retargeting mode of a bone (Animation, Skeleton, AnimationScaled, AnimationRelative, OrientAndScale).

ArgumentoTipoDescripción
bonestringobligatorio. Bone name.
modestringobligatorio. Animation, Skeleton, AnimationScaled, AnimationRelative or OrientAndScale.
recursebooleanAlso apply the mode to every descendant of the bone. Valor predeterminado false.

Devuelve: skeleton, modes, count, changed, message, notes.

skel.set_sampling_regions (riesgo 2, modifica, smoke)​

Replaces the Niagara sampling regions of a skeletal mesh (an empty list clears them).

ArgumentoTipoDescripción
regionsarray of UeaSkelSamplingRegionThe regions; an empty array clears them.

Devuelve: mesh, message, lods, notes.

skel.set_section (riesgo 2, modifica, smoke)​

Edits one section of a LOD: material slot, disabled, cast shadow, recompute tangent, ray tracing visibility, generate-up-to LOD.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index.
sectionintegerobligatorio. Section index inside the LOD.
materialSlotintegerMaterial slot the section draws with; negative leaves it unchanged. Valor predeterminado -1.
disabledbooleanSkip the section in the renderer. Valor predeterminado false.
castShadowbooleanSection casts shadows. Valor predeterminado true.
recomputeTangentbooleanRecompute tangents every frame (needed by some cloth/morph setups). Valor predeterminado false.
visibleInRayTracingbooleanSection is visible to ray tracing (UE 5 only). Valor predeterminado true.
generateUpToLodintegerThe section disappears past this LOD; negative leaves it unchanged. Valor predeterminado -1.

Devuelve: mesh, sections, count, message, notes.

skel.set_skeleton_socket (riesgo 2, modifica, smoke)​

Changes an existing skeleton socket (bone, transform, name).

ArgumentoTipoDescripción
namestringobligatorio. Socket name.
bonestringBone the socket is attached to (required when adding).
location{x,y,z}Offset from the bone.
rotation{x,y,z}Rotation as pitch/yaw/roll.
scale{x,y,z}Scale; (0,0,0) means 1,1,1.
forceAlwaysAnimatedbooleanKeep the socket's bone animated even when it is not otherwise required. Valor predeterminado false.
newNamestringNew socket name (skel.set_skeleton_socket only).

Devuelve: skeleton, sockets, count, message, notes.

skel.set_skin_weight_profile (riesgo 2, modifica)​

Changes the flags of a skin weight profile. Not smoke-tested: the engine cube fixture has no skin weight profiles.

ArgumentoTipoDescripción
namestringobligatorio. Profile name.
defaultProfilebooleanMake the profile replace the default skin weights. Valor predeterminado false.
defaultProfileFromLodintegerLOD index from which the profile overrides the default weights. Valor predeterminado 0.

Devuelve: mesh, profiles, count, message, notes.

skel.set_slot_group (riesgo 2, modifica, smoke)​

Moves an existing slot to another group.

ArgumentoTipoDescripción
slotstringSlot name (skel.add_slot, skel.set_slot_group, skel.remove_slot).
groupstringSlot group name (defaults to DefaultGroup for skel.add_slot).

Devuelve: skeleton, groups, count, message, notes.

skel.set_source_file (riesgo 2, modifica)​

Points the mesh at another source file for the next reimport. Not smoke-tested: it needs an FBX file on disk.

ArgumentoTipoDescripción
assetstringAsset path; "" clears the reference.

Devuelve: mesh, message, lods, notes.

skel.set_vertex_color_lod (riesgo 3, modifica, smoke)​

Paints every vertex of a LOD with one colour (useful to prime a vertex colour channel).

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index.
colorstringobligatorio. Colour as "#RRGGBB", "#RRGGBBAA" or "R,G,B,A" with 0-255 components.

Devuelve: mesh, message, lods, notes.

skel.strip_lod_geometry (riesgo 3, modifica)​

Strips the geometry of a LOD using a texture mask. Not smoke-tested: it needs a mask texture and a reducible mesh.

ArgumentoTipoDescripción
lodintegerobligatorio. LOD index.
textureMaskstringobligatorio. Texture asset used as the mask.
thresholdnumberThreshold above which a triangle is kept (0-1). Valor predeterminado 0.5.

Devuelve: mesh, lods, count, message, notes.

skel.validate_mesh (riesgo 0, smoke)​

Sanity check: missing skeleton, sections without a material, LOD ordering, degenerate bounds, physics asset mismatch.

ArgumentoTipoDescripción
meshstringobligatorio. Skeletal mesh asset path or unique name.

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