# ShrinkwrapConstraint(Constraint)

base classes — `bpy_struct`, `Constraint`

class `bpy.types.``ShrinkwrapConstraint`(Constraint)

  Create constraint-based shrinkwrap relationship

  `cull_face`

    Stop vertices from projecting to a face on the target when facing towards/away

    - `OFF` Off, No culling.
    - `FRONT` Front, No projection when in front of the face.
    - `BACK` Back, No projection when behind the face.

    Type: | enum in [‘OFF’, ‘FRONT’, ‘BACK’], default ‘OFF’

  `distance`

    Distance to Target

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

  `project_axis`

    Axis constrain to

    Type: | enum in [‘POS_X’, ‘POS_Y’, ‘POS_Z’, ‘NEG_X’, ‘NEG_Y’, ‘NEG_Z’], default ‘POS_X’

  `project_axis_space`

    Space for the projection axis

    - `WORLD` World Space, The constraint is applied relative to the world coordinate system.
    - `POSE` Pose Space, The constraint is applied in Pose Space, the object transformation is ignored.
    - `LOCAL_WITH_PARENT` Local With Parent, The constraint is applied relative to the rest pose local coordinate system of the bone, thus including the parent-induced transformation.
    - `LOCAL` Local Space, The constraint is applied relative to the local coordinate system of the object.

    Type: | enum in [‘WORLD’, ‘POSE’, ‘LOCAL_WITH_PARENT’, ‘LOCAL’], default ‘WORLD’

  `project_limit`

    Limit the distance used for projection (zero disables)

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

  `shrinkwrap_type`

    Select type of shrinkwrap algorithm for target position

    - `NEAREST_SURFACE` Nearest Surface Point, Shrink the location to the nearest target surface.
    - `PROJECT` Project, Shrink the location to the nearest target surface along a given axis.
    - `NEAREST_VERTEX` Nearest Vertex, Shrink the location to the nearest target vertex.
    - `TARGET_PROJECT` Target Normal Project, Shrink the location to the nearest target surface along the interpolated vertex normals of the target.

    Type: | enum in [‘NEAREST_SURFACE’, ‘PROJECT’, ‘NEAREST_VERTEX’, ‘TARGET_PROJECT’], default ‘NEAREST_SURFACE’

  `target`

    Target Mesh object

    Type: | `Object`

  `track_axis`

    Axis that is aligned to the normal

    Type: | enum in [‘TRACK_X’, ‘TRACK_Y’, ‘TRACK_Z’, ‘TRACK_NEGATIVE_X’, ‘TRACK_NEGATIVE_Y’, ‘TRACK_NEGATIVE_Z’], default ‘TRACK_X’

  `use_invert_cull`

    When projecting in the opposite direction invert the face cull mode

    Type: | boolean, default False

  `use_project_opposite`

    Project in both specified and opposite directions

    Type: | boolean, default False

  `use_track_normal`

    Align the specified axis to the surface normal

    Type: | boolean, default False

  `wrap_mode`

    Select how to constrain the object to the target surface

    - `ON_SURFACE` On Surface, The point is constrained to the surface of the target object, with distance offset towards the original point location.
    - `INSIDE` Inside, The point is constrained to be inside the target object.
    - `OUTSIDE` Outside, The point is constrained to be outside the target object.
    - `OUTSIDE_SURFACE` Outside Surface, The point is constrained to the surface of the target object, with distance offset always to the outside, towards or away from the original location.
    - `ABOVE_SURFACE` Above Surface, The point is constrained to the surface of the target object, with distance offset applied exactly along the target normal.

    Type: | enum in [‘ON_SURFACE’, ‘INSIDE’, ‘OUTSIDE’, ‘OUTSIDE_SURFACE’, ‘ABOVE_SURFACE’], default ‘ON_SURFACE’

  classmethod `bl_rna_get_subclass`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The RNA type or default when not found.
    Return type: | `bpy.types.Struct` subclass

  classmethod `bl_rna_get_subclass_py`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The class or default when not found.
    Return type: | type

Inherited Properties

`bpy_struct.id_data` `Constraint.name` `Constraint.type` `Constraint.owner_space` `Constraint.target_space` `Constraint.mute` `Constraint.show_expanded` | `Constraint.is_valid` `Constraint.active` `Constraint.is_proxy_local` `Constraint.influence` `Constraint.error_location` `Constraint.error_rotation`

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_overridable_library` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` | `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.pop` `bpy_struct.property_overridable_library_set` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`