Announcement

Collapse
No announcement yet.

Get Material Slot Name for Static Mesh

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Get Material Slot Name for Static Mesh

    Hello,

    I'm currently using a python script to import an fbx and create a Static Mesh.

    My current asset I'm testing has 4 materials, which have the correct slot name, but the actual material name gets set to "WorldGameMaterial".

    If I set "import_materials" to true, it sets the name properly, but I don't want the materials imported.

    Does anyone know how to get the material slot names for a static mesh?

    Thanks.


    #2
    Here's the solution:

    static_mesh = unreal.load_asset(static_mesh_path)
    static_mesh_component = unreal.StaticMeshComponent()
    static_mesh_component.set_static_mesh(static_mesh)
    material_slot_names = unreal.StaticMeshComponent.get_material_slot_names(static_mesh_component)

    Comment


      #3
      Sorry to revive this post but how would you set the material of that static mesh?

      Comment


        #4
        Originally posted by Disneygame101 View Post
        Sorry to revive this post but how would you set the material of that static mesh?
        Late response but: unreal.StaticMesh has a "set_material()" function.
        It doesn't take the name of the material slot though, it takes the index.

        I'm basically doing:

        material_index = static_mesh.get_material_index(material.get_name())
        static_mesh.set_material(material_index, material)

        This assumes the material name is the same as the material slot on the static mesh though.

        Comment

        Working...
        X