unreal.SkeletalMesh

class unreal.SkeletalMesh(outer: Object | None = None, name: Name | str = 'None')

Bases: SkinnedAsset

SkeletalMesh is geometry bound to a hierarchical skeleton of bones which can be animated for the purpose of deforming the mesh. Skeletal Meshes are built up of two parts; a set of polygons composed to make up the surface of the mesh, and a hierarchical skeleton which can be used to animate the polygons. The 3D models, rigging, and animations are created in an external modeling and animation application (3DSMax, Maya, Softimage, etc). see: https://docs.unrealengine.com/latest/INT/Engine/Content/Types/SkeletalMeshes/

C++ Source:

  • Module: Engine

  • File: SkeletalMesh.h

Editor Properties: (see get_editor_property/set_editor_property)

  • asset_import_data (AssetImportData): [Read-Write]

  • asset_user_data (Array[AssetUserData]): [Read-Write] Array of user data stored with the asset

  • cloth_lod_bias_mode (ClothLODBiasMode): [Read-Write]

  • default_animating_rig (Object): [Read-Write]

  • default_mesh_deformer (MeshDeformer): [Read-Write]

  • disable_below_min_lod_stripping (PerPlatformBool): [Read-Write]

  • enable_per_poly_collision (bool): [Read-Write]

  • global_force_mip_levels_to_be_resident (bool): [Read-Write] Global and serialized version of ForceMiplevelsToBeResident.

  • lod_info (Array[SkeletalMeshLODInfo]): [Read-Write]

  • lod_settings (SkeletalMeshLODSettings): [Read-Write]

  • materials (Array[SkeletalMaterial]): [Read-Write]

  • max_num_optional_lo_ds (PerPlatformInt): [Read-Write]

  • max_num_streamed_lo_ds (PerPlatformInt): [Read-Write]

  • mesh_clothing_assets (Array[ClothingAssetBase]): [Read-Write]

  • min_lod (PerPlatformInt): [Read-Write]

  • min_quality_level_lod (PerQualityLevelInt): [Read-Write]

  • morph_targets (Array[MorphTarget]): [Read-Write]

  • negative_bounds_extension (Vector): [Read-Write]

  • never_stream (bool): [Read-Write]

  • node_mapping_data (Array[NodeMappingContainer]): [Read-Write]

  • num_cinematic_mip_levels (int32): [Read-Write] Number of mip-levels to use for cinematic quality.

  • overlay_material (MaterialInterface): [Read-Write]

  • overlay_material_max_draw_distance (float): [Read-Write]

  • override_lod_streaming_settings (bool): [Read-Write]

  • physics_asset (PhysicsAsset): [Read-Write]

  • positive_bounds_extension (Vector): [Read-Write]

  • post_process_anim_blueprint (type(Class)): [Read-Write]

  • post_process_anim_bplod_threshold (int32): [Read-Write] * Max LOD level that post-process AnimBPs are evaluated. * For example if you have the threshold set to 2, it will evaluate until including LOD 2 (based on 0 index). In case the LOD level gets set to 3, it will stop evaluating the post-process AnimBP. * Setting it to -1 will always evaluate it and disable LODing.

  • ray_tracing_min_lod (int32): [Read-Write]

  • sampling_info (SkeletalMeshSamplingInfo): [Read-Write]

  • shadow_physics_asset (PhysicsAsset): [Read-Write]

  • skel_mirror_axis (AxisType): [Read-Write]

  • skel_mirror_flip_axis (AxisType): [Read-Write]

  • skel_mirror_table (Array[BoneMirrorInfo]): [Read-Write]

  • skeleton (Skeleton): [Read-Only]

  • skin_weight_profiles (Array[SkinWeightProfileInfo]): [Read-Write]

  • support_lod_streaming (PerPlatformBool): [Read-Write]

  • support_ray_tracing (bool): [Read-Write]

  • thumbnail_info (ThumbnailInfo): [Read-Only]

add_socket(socket, add_to_skeleton=False) None

Add a skeletal socket object to this SkeletalMesh, and optionally promotes it to USkeleton socket.

Parameters:
property default_animating_rig: Object

[Read-Write]

Type:

(Object)

property default_mesh_deformer: MeshDeformer

[Read-Only]

Type:

(MeshDeformer)

find_socket_and_index(socket_name) -> (SkeletalMeshSocket, out_index=int32)

Find a socket object in this SkeletalMesh by name. Entering NAME_None will return NULL. If there are multiple sockets with the same name, will return the first one. Also returns the index for the socket allowing for future fast access via GetSocketByIndex()

Parameters:

socket_name (Name) –

Returns:

out_index (int32):

Return type:

int32

get_all_morph_target_names() Array[str]

Returns the list of all morph targets of this skeletal mesh

Returns:

The list of morph targets

Return type:

Array[str]

get_bounds() BoxSphereBounds

Get the extended bounds of this mesh (imported bounds plus bounds extension). USkinnedAsset interface.

Return type:

BoxSphereBounds

get_imported_bounds() BoxSphereBounds

Get the original imported bounds of the skel mesh

Return type:

BoxSphereBounds

get_min_lod_for_quality_levels() -> (quality_level_minimum_lo_ds=Map[PerQualityLevels, int32], default=int32)

Get Min LODFor Quality Levels

Returns:

quality_level_minimum_lo_ds (Map[PerQualityLevels, int32]):

default (int32):

Return type:

tuple

get_node_mapping_container(source_asset) NodeMappingContainer

Get Node Mapping Container

Parameters:

source_asset (Blueprint) –

Return type:

NodeMappingContainer

get_overlay_material() MaterialInterface

Get the default overlay material used by this mesh

Return type:

MaterialInterface

get_overlay_material_max_draw_distance() float

Get the default overlay material max draw distance used by this mesh

Return type:

float

get_socket_by_index(index) SkeletalMeshSocket

Returns a socket by index. Max index is NumSockets(). The meshes sockets are accessed first, then the skeletons.

Parameters:

index (int32) –

Return type:

SkeletalMeshSocket

is_section_using_cloth(section_index, check_corresponding_sections=True) bool

Checks whether the provided section is using APEX cloth. if bCheckCorrespondingSections is true disabled sections will defer to correspond sections to see if they use cloth (non-cloth sections are disabled and another section added when cloth is enabled, using this flag allows for a check on the original section to succeed)

Parameters:
  • section_index (int32) – Index to check

  • check_corresponding_sections (bool) – Whether to check corresponding sections for disabled sections

Return type:

bool

property lod_settings: SkeletalMeshLODSettings

[Read-Write]

Type:

(SkeletalMeshLODSettings)

property materials: None

[Read-Write]

Type:

(Array[SkeletalMaterial])

property mesh_clothing_assets: None

[Read-Write]

Type:

(Array[ClothingAssetBase])

property morph_targets: None

[Read-Write]

Type:

(Array[MorphTarget])

property negative_bounds_extension: Vector

[Read-Only]

Type:

(Vector)

property node_mapping_data: None

[Read-Only]

Type:

(Array[NodeMappingContainer])

num_sockets() int32

Returns the number of sockets available. Both on this mesh and it’s skeleton.

Return type:

int32

property overlay_material: MaterialInterface

[Read-Only]

Type:

(MaterialInterface)

property overlay_material_max_draw_distance: float

[Read-Only]

Type:

(float)

property physics_asset: PhysicsAsset

[Read-Only]

Type:

(PhysicsAsset)

property positive_bounds_extension: Vector

[Read-Only]

Type:

(Vector)

property post_process_anim_blueprint: Class

[Read-Only]

Type:

(type(Class))

regenerate_lod(new_lod_count=0, regenerate_even_if_imported=False, generate_base_lod=False) bool

Regenerate LODs of the mesh

Parameters:
  • new_lod_count (int32) – Set valid value (>0) if you want to change LOD count. Otherwise, it will use the current LOD and regenerate

  • regenerate_even_if_imported (bool) – If this is true, it only regenerate even if this LOD was imported before If false, it will regenerate for only previously auto generated ones

  • generate_base_lod (bool) – If this is true and there is some reduction data, the base LOD will be reduce according to the settings

Returns:

true if succeed. If mesh reduction is not available this will return false.

Return type:

bool

remove_lo_ds(to_remove_lo_ds) bool

Remove all the specified LODs. This function will remove all the valid LODs in the list. Valid LOD is any LOD greater then 0 that exist in the skeletalmesh. We cannot remove the base LOD 0.

Parameters:

to_remove_lo_ds (Array[int32]) – The LODs we need to remove

Returns:

true if the successfully remove all the LODs. False otherwise, but evedn if it return false it will have removed all valid LODs.

Return type:

bool

rename_socket(old_name, new_name) bool

Rename a socket within a skeleton

Parameters:
  • old_name (Name) – The old name of the socket

  • new_name (Name) – The new name of the socket

Returns:

true if the renaming succeeded.

Return type:

bool

set_min_lod_for_quality_levels(quality_level_minimum_lo_ds, default=-1) None

Allow to override min lod quality levels on a skeletalMesh and it Default value (-1 value for Default dont override its value).

Parameters:
set_overlay_material(new_overlay_material) None

Change the default overlay material used by this mesh

Parameters:

new_overlay_material (MaterialInterface) –

set_overlay_material_max_draw_distance(max_draw_distance) None

Change the default overlay material max draw distance used by this mesh

Parameters:

max_draw_distance (float) –

property shadow_physics_asset: PhysicsAsset

[Read-Only]

Type:

(PhysicsAsset)

property skeleton: Skeleton

[Read-Only]

Type:

(Skeleton)

strip_lod_geometry(lod_index, texture_mask, threshold) bool

This function will strip all triangle in the specified LOD that don’t have any UV area pointing on a black pixel in the TextureMask. We use the UVChannel 0 to find the pixels in the texture.

Parameters:
  • lod_index (int32) –

  • texture_mask (Texture2D) –

  • threshold (float) –

Return type:

bool