Skip to content

Geometry Nodes: List Index Error if Material List count exceeds that of transferred data. #603

Open
@dibli-goost

Description

@dibli-goost

Malt version

Node Groups

Blender version

Blender 4.4

OS

Windows 10 64bits

Hardware info

AMD Ryzen Threadripper 1920x 12-Core Processor, 3950 Mhz, 24 Logical Processors | 32GB RAM | NVIDIA GeForce GTX 1080 Ti

Issue description and reproduction steps

Admittedly, this might be a little niche of an issue to come across but I'm facing it nonetheless. Using Geometry Nodes, it is possible to transfer mesh data from one object to another via the object info node. This can be useful for certain character model dependency problems and general ease of organization.

I haven't had any issues with this technique and Malt in prior versions, but for some reason, 4.4 is causing issues. The number of material slots on the object where the transfer takes place must be either equal to or less than the object it's receiving. Malt fails to render the viewport and the following error is printed to the console if the count is greater:

Python: Traceback (most recent call last):
  File "C:\Users\sexti\AppData\Roaming\Blender Foundation\Blender\4.4\scripts\addons\BlenderMalt\MaltRenderEngine.py", line 318, in view_draw
    scene = self.get_scene(context, depsgraph, self.request_scene_update, overrides)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\sexti\AppData\Roaming\Blender Foundation\Blender\4.4\scripts\addons\BlenderMalt\MaltRenderEngine.py", line 202, in get_scene
    add_object(obj, obj.matrix_world, id)
  File "C:\Users\sexti\AppData\Roaming\Blender Foundation\Blender\4.4\scripts\addons\BlenderMalt\MaltRenderEngine.py", line 154, in add_object
    result = Scene.Object(matrix, mesh[i], material, obj_parameters, mirror_scale, tags)
                                  ~~~~^^^
IndexError: list index out of range

Can be worked around pretty easily by just removing the extraneous slots. Curiously doesn't throw an error if As Instance is set to true, though this just inevitably leads to #277 propping up.

Attachments

material_index_bug.zip

malt 2025-04-02(12-58).log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions