Advanced Setup > Mesh > ApplyMultires

Issue #2125 resolved
Domiek created an issue

There’s already an “apply subsurf” operator in here, why not add a multires option as well? There are multiple reasons where a high res char mesh is preferable over only using the multires modifier in a low/high poly proxy workflow, especially since this is how Diffeo brings in the HD mesh from Daz.

I ended up modifying the existing apply_subsurf method to make the multires work for myself.

 def run(self, context):
        from .driver import Driver
        ob = context.object
        mod = getModifier(ob, 'MULTIRES') #changed from SUBSURF
        if not mod:
            raise DazError("Object %s\n has no multires modifier." % ob.name)
        modname = mod.name

        # Duplicate object and apply subsurf modifier
        activateObject(context, ob)
        bpy.ops.object.duplicate()
        nob = context.object
        active_object_name = bpy.context.active_object.name ###
        bpy.data.objects[active_object_name].modifiers["Multires"].levels = 2 # <--
        bpy.ops.object.modifier_apply(modifier=modname)
        nskeys = len(coords)

I know it’s not the most elegant modification but hopefully it saves Thomas some time if he does decide to take a look and implement a more robust adjustment.

Comments (4)

  1. Thomas Larsson repo owner
    • changed status to open

    That should be straightforward to implement, and will require almost no new code.

  2. Log in to comment