user: How do I use VertexWeightMixModifier(Modifier) in Blender? Include parameters, examples, warnings and best practices.

assistant: # VertexWeightMixModifier(Modifier)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Modifier`](bpy.types.Modifier.html#bpy.types.Modifier "bpy.types.Modifier")

*class* bpy.types.VertexWeightMixModifier(*Modifier*)
:   Mix the weights of two vertex groups

    default_weight_a
    :   Default weight a vertex will have if it is not in the first A vgroup

        Type:
        :   float in [0, 1], default 0.0

    default_weight_b
    :   Default weight a vertex will have if it is not in the second B vgroup

        Type:
        :   float in [0, 1], default 0.0

    invert_mask_vertex_group
    :   Invert vertex group mask influence

        Type:
        :   boolean, default False

    invert_vertex_group_a
    :   Invert the influence of vertex group A

        Type:
        :   boolean, default False

    invert_vertex_group_b
    :   Invert the influence of vertex group B

        Type:
        :   boolean, default False

    mask_constant
    :   Global influence of current modifications on vgroup

        Type:
        :   float in [-inf, inf], default 1.0

    mask_tex_map_bone
    :   Which bone to take texture coordinates from

        Type:
        :   string, default “”, (never None)

    mask_tex_map_object
    :   Which object to take texture coordinates from

        Type:
        :   [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object")

    mask_tex_mapping
    :   Which texture coordinates to use for mapping

        - `LOCAL`
          Local – Use local generated coordinates.
        - `GLOBAL`
          Global – Use global coordinates.
        - `OBJECT`
          Object – Use local generated coordinates of another object.
        - `UV`
          UV – Use coordinates from a UV layer.

        Type:
        :   enum in [`'LOCAL'`, `'GLOBAL'`, `'OBJECT'`, `'UV'`], default `'LOCAL'`

    mask_tex_use_channel
    :   Which texture channel to use for masking

        Type:
        :   enum in [`'INT'`, `'RED'`, `'GREEN'`, `'BLUE'`, `'HUE'`, `'SAT'`, `'VAL'`, `'ALPHA'`], default `'INT'`

    mask_tex_uv_layer
    :   UV map name

        Type:
        :   string, default “”, (never None)

    mask_texture
    :   Masking texture

        Type:
        :   [`Texture`](bpy.types.Texture.html#bpy.types.Texture "bpy.types.Texture")

    mask_vertex_group
    :   Masking vertex group name

        Type:
        :   string, default “”, (never None)

    mix_mode
    :   How weights from vgroup B affect weights of vgroup A

        - `SET`
          Replace – Replace VGroup A’s weights by VGroup B’s ones.
        - `ADD`
          Add – Add VGroup B’s weights to VGroup A’s ones.
        - `SUB`
          Subtract – Subtract VGroup B’s weights from VGroup A’s ones.
        - `MUL`
          Multiply – Multiply VGroup A’s weights by VGroup B’s ones.
        - `DIV`
          Divide – Divide VGroup A’s weights by VGroup B’s ones.
        - `DIF`
          Difference – Difference between VGroup A’s and VGroup B’s weights.
        - `AVG`
          Average – Average value of VGroup A’s and VGroup B’s weights.
        - `MIN`
          Minimum – Minimum of VGroup A’s and VGroup B’s weights.
        - `MAX`
          Maximum – Maximum of VGroup A’s and VGroup B’s weights.

        Type:
        :   enum in [`'SET'`, `'ADD'`, `'SUB'`, `'MUL'`, `'DIV'`, `'DIF'`, `'AVG'`, `'MIN'`, `'MAX'`], default `'SET'`

    mix_set
    :   Which vertices should be affected

        - `ALL`
          All – Affect all vertices (might add some to VGroup A).
        - `A`
          VGroup A – Affect vertices in VGroup A.
        - `B`
          VGroup B – Affect vertices in VGroup B (might add some to VGroup A).
        - `OR`
          VGroup A or B – Affect vertices in at least one of both VGroups (might add some to VGroup A).
        - `AND`
          VGroup A and B – Affect vertices in both groups.

        Type:
        :   enum in [`'ALL'`, `'A'`, `'B'`, `'OR'`, `'AND'`], default `'AND'`

    normalize
    :   Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)

        Type:
        :   boolean, default False

    vertex_group_a
    :   First vertex group name

        Type:
        :   string, default “”, (never None)

    vertex_group_b
    :   Second vertex group name

        Type:
        :   string, default “”, (never None)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type