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

assistant: # WaveModifier(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.WaveModifier(*Modifier*)
:   Wave effect modifier

    damping_time
    :   Number of frames in which the wave damps out after it dies

        Type:
        :   float in [-1.04857e+06, 1.04857e+06], default 10.0

    falloff_radius
    :   Distance after which it fades out

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

    height
    :   Height of the wave

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

    invert_vertex_group
    :   Invert vertex group influence

        Type:
        :   boolean, default False

    lifetime
    :   Lifetime of the wave in frames, zero means infinite

        Type:
        :   float in [-1.04857e+06, 1.04857e+06], default 0.0

    narrowness
    :   Distance between the top and the base of a wave, the higher the value, the more narrow the wave

        Type:
        :   float in [0, inf], default 1.5

    speed
    :   Speed of the wave, towards the starting point when negative

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

    start_position_object
    :   Object which defines the wave center

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

    start_position_x
    :   X coordinate of the start position

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

    start_position_y
    :   Y coordinate of the start position

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

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

    texture_coords
    :   - `LOCAL`
          Local – Use the local coordinate system for the texture coordinates.
        - `GLOBAL`
          Global – Use the global coordinate system for the texture coordinates.
        - `OBJECT`
          Object – Use the linked object’s local coordinate system for the texture coordinates.
        - `UV`
          UV – Use UV coordinates for the texture coordinates.

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

    texture_coords_bone
    :   Bone to set the texture coordinates

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

    texture_coords_object
    :   Object to set the texture coordinates

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

    time_offset
    :   Either the starting frame (for positive speed) or ending frame (for negative speed)

        Type:
        :   float in [-1.04857e+06, 1.04857e+06], default 0.0

    use_cyclic
    :   Cyclic wave effect

        Type:
        :   boolean, default True

    use_normal
    :   Displace along normals

        Type:
        :   boolean, default False

    use_normal_x
    :   Enable displacement along the X normal

        Type:
        :   boolean, default True

    use_normal_y
    :   Enable displacement along the Y normal

        Type:
        :   boolean, default True

    use_normal_z
    :   Enable displacement along the Z normal

        Type:
        :   boolean, default True

    use_x
    :   X axis motion

        Type:
        :   boolean, default True

    use_y
    :   Y axis motion

        Type:
        :   boolean, default True

    uv_layer
    :   UV map name

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

    vertex_group
    :   Vertex group name for modulating the wave

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

    width
    :   Distance between the waves

        Type:
        :   float in [0, inf], default 1.5

    *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