unreal.StaticMesh

class unreal.StaticMesh(outer=None, name='None')

Bases: unreal.StreamableRenderAsset

A StaticMesh is a piece of geometry that consists of a static set of polygons. Static Meshes can be translated, rotated, and scaled, but they cannot have their vertices animated in any way. As such, they are more efficient to render than other types of geometry such as USkeletalMesh, and they are often the basic building block of levels created in the engine. see: https://docs.unrealengine.com/latest/INT/Engine/Content/Types/StaticMeshes/ see: AStaticMeshActor, UStaticMeshComponent

C++ Source:

  • Module: Engine

  • File: StaticMesh.h

Editor Properties: (see get_editor_property/set_editor_property)

  • allow_cpu_access (bool): [Read-Write] If true, will keep geometry data CPU-accessible in cooked builds, rather than uploading to GPU memory and releasing it from CPU memory. This is required if you wish to access StaticMesh geometry data on the CPU at runtime in cooked builds (e.g. to convert StaticMesh to ProceduralMeshComponent)

  • asset_import_data (AssetImportData): [Read-Write] Importing data and options used for this mesh

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

  • body_setup (BodySetup): [Read-Write] Body Setup

  • complex_collision_mesh (StaticMesh): [Read-Write] Complex Collision Mesh

  • customized_collision (bool): [Read-Write] If the user has modified collision in any way or has custom collision imported. Used for determining if to auto generate collision on import

  • distance_field_self_shadow_bias (float): [Read-Write] Useful for reducing self shadowing from distance field methods when using world position offset to animate the mesh’s vertices.

  • generate_mesh_distance_field (bool): [Read-Write] Whether to generate a distance field for this mesh, which can be used by DistanceField Indirect Shadows. This is ignored if the project’s ‘Generate Mesh Distance Fields’ setting is enabled.

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

  • has_navigation_data (bool): [Read-Write] If true, mesh will have NavCollision property with additional data for navmesh generation and usage.

    Set to false for distant meshes (always outside navigation bounds) to save memory on collision data.

  • light_map_coordinate_index (int32): [Read-Write] The light map coordinate index

  • light_map_resolution (int32): [Read-Write] The light map resolution

  • lod_for_collision (int32): [Read-Write] Specifies which mesh LOD to use for complex (per-poly) collision. Sometimes it can be desirable to use a lower poly representation for collision to reduce memory usage, improve performance and behaviour. Collision representation does not change based on distance to camera.

  • lod_for_occluder_mesh (int32): [Read-Write] Specifies which mesh LOD to use as occluder geometry for software occlusion Set to -1 to not use this mesh as occluder

  • lod_group (Name): [Read-Write] The LOD group to which this mesh belongs.

  • lpv_bias_multiplier (float): [Read-Write] Bias multiplier for Light Propagation Volume lighting

  • nav_collision (NavCollisionBase): [Read-Only] Nav Collision

  • negative_bounds_extension (Vector): [Read-Write] Negative Bounds Extension

  • never_stream (bool): [Read-Write] Never Stream

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

  • positive_bounds_extension (Vector): [Read-Write] Positive Bounds Extension

  • static_materials (Array(StaticMaterial)): [Read-Write] Static Materials

  • support_gpu_uniformly_distributed_sampling (bool): [Read-Write] If true, a GPU buffer containing required data for uniform mesh surface sampling will be created at load time. It is created from the cpu data so bSupportUniformlyDistributedSampling is also required to be true.

  • support_physical_material_masks (bool): [Read-Write] If true, complex collision data will store UVs and face remap table for use when performing PhysicalMaterialMask lookups in cooked builds. Note the increased memory cost for this functionality.

  • support_ray_tracing (bool): [Read-Write] If true, a ray tracing acceleration structure will be built for this mesh and it may be used in ray tracing effects

  • support_uniformly_distributed_sampling (bool): [Read-Write] Mesh supports uniformly distributed sampling in constant time. Memory cost is 8 bytes per triangle. Example usage is uniform spawning of particles.

  • thumbnail_info (ThumbnailInfo): [Read-Only] Information for thumbnail rendering

add_material(material)Name

Adds a new material and return its slot name

Parameters

material (MaterialInterface) –

Returns

Return type

Name

add_socket(socket)None

Add a socket object in this StaticMesh.

Parameters

socket (StaticMeshSocket) –

build_from_static_mesh_descriptions(static_mesh_descriptions, build_simple_collision=False)None

Builds static mesh LODs from the array of StaticMeshDescriptions passed in

Parameters
classmethod create_static_mesh_description(outer=None)StaticMeshDescription

Create an empty StaticMeshDescription object, to describe a static mesh at runtime

Parameters

outer (Object) –

Returns

Return type

StaticMeshDescription

find_socket(socket_name)StaticMeshSocket

Find a socket object in this StaticMesh by name. Entering NAME_None will return NULL. If there are multiple sockets with the same name, will return the first one.

Parameters

socket_name (Name) –

Returns

Return type

StaticMeshSocket

get_bounding_box()Box

Returns the bounding box, in local space including bounds extension(s), of the StaticMesh asset

Returns

Return type

Box

get_bounds()BoxSphereBounds

Returns the number of bounds of the mesh.

Returns

The bounding box represented as box origin with extents and also a sphere that encapsulates that box

Return type

BoxSphereBounds

get_material(material_index)MaterialInterface

Gets a Material given a Material Index and an LOD number

Parameters

material_index (int32) –

Returns

Requested material

Return type

MaterialInterface

get_material_index(material_slot_name)int32

Gets a Material index given a slot name

Parameters

material_slot_name (Name) –

Returns

Requested material

Return type

int32

get_minimum_lod_for_platform(platform_name)int32

Get Minimum LODFor Platform

Parameters

platform_name (Name) –

Returns

Return type

int32

get_minimum_lod_for_platforms()

Get Minimum LODFor Platforms

Returns

platform_minimum_lo_ds (Map(Name, int32)):

Return type

Map(Name, int32)

get_num_lods()int32

Returns the number of LODs used by the mesh.

Returns

Return type

int32

get_num_sections(lod)int32

Returns number of Sections that this StaticMesh has, in the supplied LOD (LOD 0 is the highest)

Parameters

lod (int32) –

Returns

Return type

int32

property lod_for_collision

[Read-Write] Specifies which mesh LOD to use for complex (per-poly) collision. Sometimes it can be desirable to use a lower poly representation for collision to reduce memory usage, improve performance and behaviour. Collision representation does not change based on distance to camera.

Type

(int32)

property lpv_bias_multiplier

[Read-Only] Bias multiplier for Light Propagation Volume lighting

Type

(float)

remove_socket(socket)None

Remove a socket object in this StaticMesh by providing it’s pointer. Use FindSocket() if needed.

Parameters

socket (StaticMeshSocket) –

set_material(material_index, new_material)None

Sets a Material given a Material Index

Parameters
set_num_source_models(num)None

Set Num Source Models

Parameters

num (int32) –

property static_materials

[Read-Write] Static Materials

Type

(Array(StaticMaterial))