PGCRYPT/OpenBlender_Train huggingface dataset:
user: How do I use View3D Operators in Blender? Include parameters, examples, warnings and best practices.

assistant:            Orbit Left – Orbit the view around to the left.
          - `ORBITRIGHT`
            Orbit Right – Orbit the view around to the right.
          - `ORBITUP`
            Orbit Up – Orbit the view up.
          - `ORBITDOWN`
            Orbit Down – Orbit the view down.

bpy.ops.view3d.view_pan(*\**, *type='PANLEFT'*)
:   Pan the view in a given direction

    Parameters:
    :   **type** (enum in [`'PANLEFT'`, `'PANRIGHT'`, `'PANUP'`, `'PANDOWN'`], (optional)) –

        Pan, Direction of View Pan

        - `PANLEFT`
          Pan Left – Pan the view to the left.
        - `PANRIGHT`
          Pan Right – Pan the view to the right.
        - `PANUP`
          Pan Up – Pan the view up.
        - `PANDOWN`
          Pan Down – Pan the view down.

bpy.ops.view3d.view_persportho()
:   Switch the current view from perspective/orthographic projection

bpy.ops.view3d.view_roll(*\**, *angle=0.0*, *type='ANGLE'*)
:   Roll the view

    Parameters:
    :   - **angle** (*float in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Roll
        - **type** (enum in [`'ANGLE'`, `'LEFT'`, `'RIGHT'`], (optional)) –

          Roll Angle Source, How roll angle is calculated

          - `ANGLE`
            Roll Angle – Roll the view using an angle value.
          - `LEFT`
            Roll Left – Roll the view around to the left.
          - `RIGHT`
            Roll Right – Roll the view around to the right.

bpy.ops.view3d.view_selected(*\**, *use_all_regions=False*)
:   Move the view to the selection center

    Parameters:
    :   **use_all_regions** (*boolean**,* *(**optional**)*) – All Regions, View selected for all regions

bpy.ops.view3d.walk()
:   Interactively walk around the scene

bpy.ops.view3d.zoom(*\**, *mx=0*, *my=0*, *delta=0*, *use_cursor_init=True*)
:   Zoom in/out in the view

    Parameters:
    :   - **mx** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Region Position X
        - **my** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Region Position Y
        - **delta** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Delta
        - **use_cursor_init** (*boolean**,* *(**optional**)*) – Use Mouse Position, Allow the initial mouse position to be used

bpy.ops.view3d.zoom_border(*\**, *xmin=0*, *xmax=0*, *ymin=0*, *ymax=0*, *wait_for_input=True*, *zoom_out=False*)
:   Zoom in the view to the nearest object contained in the border

    Parameters:
    :   - **xmin** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – X Min
        - **xmax** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – X Max
        - **ymin** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Y Min
        - **ymax** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Y Max
        - **wait_for_input** (*boolean**,* *(**optional**)*) – Wait for Input
        - **zoom_out** (*boolean**,* *(**optional**)*) – Zoom Out

bpy.ops.view3d.zoom_camera_1_to_1()
:   Match the camera to 1:1 to the render output
user: Describe Introduction from the Blender manual or Python API, including usage steps and snippets.

assistant: # Introduction

Brushes are the main way of interacting with any painting and sculpting mode. By click & dragging in the 3D Viewport
(or the Image Editor when using [Texture Paint](../texture_paint/index.html)), the active brush creates a
[stroke](stroke.html) with a certain effect, depending on the used brush settings. Brushes are
used as brush assets and stored in asset libraries, which makes it easy to reuse and share them. Typically they have a
preview image and a name that indicate the effect they create.
user: Give a detailed overview of Example: syntax, arguments, return values, common patterns.

assistant: Wave Distortion Effect samples.

|  |  |  |  |
| --- | --- | --- | --- |
| <../../_images/grease-pencil_visual-effects_wave-distortion_h10.png>   Amplitude: 10 (horizontal). | <../../_images/grease-pencil_visual-effects_wave-distortion_h30.png>   Amplitude: 30 (horizontal). | <../../_images/grease-pencil_visual-effects_wave-distortion_v10.png>   Amplitude: 10 (vertical). | <../../_images/grease-pencil_visual-effects_wave-distortion_v30.png>   Amplitude: 30 (vertical). |
user: Describe Settings from the Blender manual or Python API, including usage steps and snippets.

assistant: For the most part, *Viewport Render* uses the current viewport settings.
Some settings are located in the properties of the render engine
that is used to render the view.

Solid mode uses the render settings of Workbench;
Material Preview mode uses the render settings of EEVEE.

Additionally, some output settings are used too:

- Resolution
- Aspect
- Output path
- File format
user: Give a detailed overview of VolumeToMeshModifier(Modifier): syntax, arguments, return values, common patterns.

assistant: # VolumeToMeshModifier(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.VolumeToMeshModifier(*Modifier*)
:   adaptivity
    :   Reduces the final face count by simplifying geometry where detail is not needed

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

    grid_name
    :   Grid in the volume object that is converted to a mesh

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

    object
    :   Object

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

    resolution_mode
    :   Mode for how the desired voxel size is specified

        - `GRID`
          Grid – Use resolution of the volume grid.
        - `VOXEL_AMOUNT`
          Voxel Amount – Desired number of voxels along one axis.
        - `VOXEL_SIZE`
          Voxel Size – Desired voxel side length.

        Type:
        :   enum in [`'GRID'`, `'VOXEL_AMOUNT'`, `'VOXEL_SIZE'`], default `'GRID'`

    threshold
    :   Voxels with a larger value are inside the generated mesh

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

    use_smooth_shade
    :   Output faces with smooth shading rather than flat shaded

        Type:
        :   boolean, default False

    voxel_amount
    :   Approximate number of voxels along one axis

        Type:
        :   int in [0, inf], default 0

    voxel_size
    :   Smaller values result in a higher resolution output

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

    *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
user: What is Mark/Clear Seam and how is it used in Blender Python scripting?

assistant: These operators set or unset this mark for selected edges.
Seams are a way to create separations, “islands”, in UV maps.
See the [UV Mapping section](../../../../editors/uv/index.xhtml#editors-uv-index) for more details.
user: How do I use ThemeDopeSheet(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # ThemeDopeSheet(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.ThemeDopeSheet(*bpy_struct*)
:   Theme settings for the Dope Sheet

    grid
    :   Type:
        :   [`mathutils.Color`](mathutils.html#mathutils.Color "mathutils.Color") of 3 items in [0, 1], default (0.0, 0.0, 0.0)

    interpolation_line
    :   Color of lines showing non-Bézier interpolation modes

        Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    keyframe_border
    :   Color of keyframe border

        Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    keyframe_border_selected
    :   Color of selected keyframe border

        Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    keyframe_scale_factor
    :   Scale factor for adjusting the height of keyframes

        Type:
        :   float in [0.8, 5], default 1.0

    simulated_frames
    :   Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    space
    :   Settings for space

        Type:
        :   [`ThemeSpaceGeneric`](bpy.types.ThemeSpaceGeneric.html#bpy.types.ThemeSpaceGeneric "bpy.types.ThemeSpaceGeneric"), (readonly, never None)

    summary
    :   Color of summary channel

        Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    *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
user: Describe Outputs from the Blender manual or Python API, including usage steps and snippets.

assistant: The output of the node is dynamic. It is either a vector or a scalar depending on the operator.
For instance, the *Length* operator has a scalar output while the *Add* operator has a vector output.

Vector
:   Output vector.

Value
:   Output value.
user: Give a detailed overview of NodeTreeInterfacePanel(NodeTreeInterfaceItem): syntax, arguments, return values, common patterns.

assistant: # NodeTreeInterfacePanel(NodeTreeInterfaceItem)

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

*class* bpy.types.NodeTreeInterfacePanel(*NodeTreeInterfaceItem*)
:   Declaration of a node panel

    default_closed
    :   Panel is closed by default on new nodes

        Type:
        :   boolean, default False

    description
    :   Panel description

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

    interface_items
    :   Items in the node panel

        Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`NodeTreeInterfaceItem`](bpy.types.NodeTreeInterfaceItem.html#bpy.types.NodeTreeInterfaceItem "bpy.types.NodeTreeInterfaceItem"), (readonly)

    name
    :   Panel name

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

    persistent_uid
    :   Unique identifier for this panel within this node tree

        Type:
        :   int in [-inf, inf], default 0, (readonly)

    *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
user: Describe Examples from the Blender manual or Python API, including usage steps and snippets.

assistant: Below are some common curves you can use to achieve desired effects.

[[image reference removed]](../../../../_images/compositing_types_color_rgb-curves_example-common-use.png)

From left to right: 1. Lighten shadows 2. Negative 3. Decrease contrast 4. Posterize.

### Color Correction using Curves

[[image reference removed]](../../../../_images/compositing_types_color_rgb-curves_example-rgb.png)

Color correction with curves.

In this example, the image has too much red in it,
so we run it through an *RGB Curves* node and reduce the Red channel.

The documentation for the [Mix Color Node](../mix_color.html) has an additional
example about fixing overexposure.

### Color Correction using Black/White Levels

[[image reference removed]](../../../../_images/compositing_types_color_rgb-curves_black-white-levels.png)

Color correction with Black/White Levels.

Manually adjusting the RGB curves for color correction can be difficult.
Another option for color correction is to use the Black and White Levels instead,
which really might be their main purpose.

In this example,
the White Level is set to the color of a bright spot of the sand in the background,
and the Black Level to the color in the center of the fish’s eye.
To do this efficiently it is best to bring up the Image Editor showing the original input image.
You can then use the levels’ color picker to easily choose
the appropriate colors from the input image, zooming into pixel level if necessary.
The result can be fine-tuned with the R, G, and B curves like in the previous example.

The curve for C is used to compensate for the increased contrast that is a side effect of
setting Black and White Levels.

### Effects

[[image reference removed]](../../../../_images/compositing_types_color_rgb-curves_ex.png)

Changing colors by inverting the red channel.
user: Describe UVProjectModifier(Modifier) from the Blender manual or Python API, including usage steps and snippets.

assistant: # UVProjectModifier(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.UVProjectModifier(*Modifier*)
:   UV projection modifier to set UVs from a projector

    aspect_x
    :   Horizontal aspect ratio (only used for camera projectors)

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

    aspect_y
    :   Vertical aspect ratio (only used for camera projectors)

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

    projector_count
    :   Number of projectors to use

        Type:
        :   int in [1, 10], default 1

    projectors
    :   Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`UVProjector`](bpy.types.UVProjector.html#bpy.types.UVProjector "bpy.types.UVProjector"), (readonly)

    scale_x
    :   Horizontal scale (only used for camera projectors)

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

    scale_y
    :   Vertical scale (only used for camera projectors)

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

    uv_layer
    :   UV map 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
user: Explain TextureNodeTree(NodeTree) in complete detail according to the official Blender documentation.

assistant: # TextureNodeTree(NodeTree)

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

*class* bpy.types.TextureNodeTree(*NodeTree*)
:   Node tree consisting of linked nodes used for textures

    *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
user: Describe Inputs from the Blender manual or Python API, including usage steps and snippets.

assistant: Geometry
:   The input geometry containing the hair curves to be blended.

Factor
:   Controls the overall strength of the blending effect.
    A value of 0.0 applies no blending, while 1.0 fully averages the selected curves.

Blend Radius
:   Defines the distance used to find neighboring curves that influence the blend.

Blend Neighbors
:   Limits the number of neighboring curves considered during the blending process.
    Increasing this value can result in smoother results but slower performance.

Preserve Length
:   When enabled, the length of each curve is maintained during blending.
    When disabled, curves may stretch or compress as a result of the averaging.
user: What is Grids and how is it used in Blender Python scripting?

assistant: The [List View](../../interface/controls/templates/list_view.html#ui-list-view) shows the grids in the OpenVDB-file, listing their name and data type.
A “grid” is a set of volumetric data, which typically stores the density of each voxel
but can also contain temperatures, velocities and so on.

Click a grid to make the volume object display it.
user: Give a detailed overview of Color Sets: syntax, arguments, return values, common patterns.

assistant: [image reference removed]

The Color Sets panel is used to define the bone color scheme for the final rig. The colors from the list
can be associated with bone collections from the relevant panel.

The top two rows of the Color Sets panel are used to define the general behavior of the bone colors.
Usually color themes use a gradient of colors to define the different bone states: default, selected and active.
When multiple color themes are used in the same rig, identifying which bone is selected or
active can be tricky since each color will have its corresponding state.

To override this behavior Rigify unifies the active and selected states using the same color.
This is defined by two values:

Unified Selected/Active Colors
:   When this option is active adding a bone group in the list will always keep the colors consistent.
    When a color scheme is added from a theme, the color scheme is loaded as is.
    Click on the *Apply* button to force the system to unify selected and active colors.

Selected/Active Colors
:   This two color fields define respectively the *Selected* and *Active* colors.
    By default Rigify reads these colors from the theme defined by the user in the Blender preferences.
    This way the *Selected*/*Active* colors can always have a predictable and consistent behavior in the UI.
    The colors can be customized by clicking on the relevant color field.
    To reset them to the Blender current theme value just click on the button with the update icon.

Color Sets can be added and deleted by clicking on  or .
All color sets can be deleted at once by clicking on the Specials menu.

To add the colors from the predefined Rigify default color scheme (as shown in the image) to the list click
the *Add Standard* button.

To add a specific theme with its own color scheme, select it from the list and click on the *Add From Theme* button.
user: Give a detailed overview of Inherited Properties: syntax, arguments, return values, common patterns.

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`TextureSlot.texture`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.texture "bpy.types.TextureSlot.texture") - [`TextureSlot.name`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.name "bpy.types.TextureSlot.name") - [`TextureSlot.offset`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.offset "bpy.types.TextureSlot.offset") - [`TextureSlot.scale`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.scale "bpy.types.TextureSlot.scale") | - [`TextureSlot.color`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.color "bpy.types.TextureSlot.color") - [`TextureSlot.blend_type`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.blend_type "bpy.types.TextureSlot.blend_type") - [`TextureSlot.default_value`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.default_value "bpy.types.TextureSlot.default_value") - [`TextureSlot.output_node`](bpy.types.TextureSlot.html#bpy.types.TextureSlot.output_node "bpy.types.TextureSlot.output_node") |
user: Describe ArmatureModifier(Modifier) from the Blender manual or Python API, including usage steps and snippets.

assistant: # ArmatureModifier(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.ArmatureModifier(*Modifier*)
:   Armature deformation modifier

    invert_vertex_group
    :   Invert vertex group influence

        Type:
        :   boolean, default False

    object
    :   Armature object to deform with

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

    use_bone_envelopes
    :   Bind Bone envelopes to armature modifier

        Type:
        :   boolean, default False

    use_deform_preserve_volume
    :   Deform rotation interpolation with quaternions

        Type:
        :   boolean, default False

    use_multi_modifier
    :   Use same input as previous modifier, and mix results using overall vgroup

        Type:
        :   boolean, default False

    use_vertex_groups
    :   Bind vertex groups to armature modifier

        Type:
        :   boolean, default True

    vertex_group
    :   Name of Vertex Group which determines influence of modifier per point

        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
user: How do I use Inherited Properties in Blender? Include parameters, examples, warnings and best practices.

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`Strip.name`](bpy.types.Strip.html#bpy.types.Strip.name "bpy.types.Strip.name") - [`Strip.type`](bpy.types.Strip.html#bpy.types.Strip.type "bpy.types.Strip.type") - [`Strip.select`](bpy.types.Strip.html#bpy.types.Strip.select "bpy.types.Strip.select") - [`Strip.select_left_handle`](bpy.types.Strip.html#bpy.types.Strip.select_left_handle "bpy.types.Strip.select_left_handle") - [`Strip.select_right_handle`](bpy.types.Strip.html#bpy.types.Strip.select_right_handle "bpy.types.Strip.select_right_handle") - [`Strip.mute`](bpy.types.Strip.html#bpy.types.Strip.mute "bpy.types.Strip.mute") - [`Strip.lock`](bpy.types.Strip.html#bpy.types.Strip.lock "bpy.types.Strip.lock") - [`Strip.frame_final_duration`](bpy.types.Strip.html#bpy.types.Strip.frame_final_duration "bpy.types.Strip.frame_final_duration") - [`Strip.frame_duration`](bpy.types.Strip.html#bpy.types.Strip.frame_duration "bpy.types.Strip.frame_duration") - [`Strip.frame_start`](bpy.types.Strip.html#bpy.types.Strip.frame_start "bpy.types.Strip.frame_start") - [`Strip.frame_final_start`](bpy.types.Strip.html#bpy.types.Strip.frame_final_start "bpy.types.Strip.frame_final_start") | - [`Strip.frame_final_end`](bpy.types.Strip.html#bpy.types.Strip.frame_final_end "bpy.types.Strip.frame_final_end") - [`Strip.frame_offset_start`](bpy.types.Strip.html#bpy.types.Strip.frame_offset_start "bpy.types.Strip.frame_offset_start") - [`Strip.frame_offset_end`](bpy.types.Strip.html#bpy.types.Strip.frame_offset_end "bpy.types.Strip.frame_offset_end") - [`Strip.channel`](bpy.types.Strip.html#bpy.types.Strip.channel "bpy.types.Strip.channel") - [`Strip.use_linear_modifiers`](bpy.types.Strip.html#bpy.types.Strip.use_linear_modifiers "bpy.types.Strip.use_linear_modifiers") - [`Strip.blend_type`](bpy.types.Strip.html#bpy.types.Strip.blend_type "bpy.types.Strip.blend_type") - [`Strip.blend_alpha`](bpy.types.Strip.html#bpy.types.Strip.blend_alpha "bpy.types.Strip.blend_alpha") - [`Strip.effect_fader`](bpy.types.Strip.html#bpy.types.Strip.effect_fader "bpy.types.Strip.effect_fader") - [`Strip.use_default_fade`](bpy.types.Strip.html#bpy.types.Strip.use_default_fade "bpy.types.Strip.use_default_fade") - [`Strip.color_tag`](bpy.types.Strip.html#bpy.types.Strip.color_tag "bpy.types.Strip.color_tag") - [`Strip.modifiers`](bpy.types.Strip.html#bpy.types.Strip.modifiers "bpy.types.Strip.modifiers") - [`Strip.show_retiming_keys`](bpy.types.Strip.html#bpy.types.Strip.show_retiming_keys "bpy.types.Strip.show_retiming_keys") |
user: What is Single Image and how is it used in Blender Python scripting?

assistant: When you add a single still image (`*.jpg`, `*.png`, etc.),
by default, Blender will create a 25 frame long strip which renders the image throughout the strip’s range in the timeline.
This length can be adjusted by adding images through the “Add Image Strip” operator and changing the property in the sidebar.
user: How do I use Outputs in Blender? Include parameters, examples, warnings and best practices.

assistant: X/Y
:   The marker’s X and Y location.

Speed
:   The velocity of the marker, measured in pixels per frame.
    This could be used to fake effects like motion blur by connecting it to the Vector Blur Node.
user: Explain GeometryNodeImportCSV(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeImportCSV(GeometryNode)

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

*class* bpy.types.GeometryNodeImportCSV(*GeometryNode*)
:   Import geometry from an CSV file

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: Show practical ways to work with Example in a Blender add-on or script – include code.

assistant: Consider a node setup for green screen removal, using
a [Color Key](color_key.html):

[[image reference removed]](../../../_images/compositing_types_matte_keying-screen_key-usage.png)

Often, lighting is uneven across the backdrop.

[[image reference removed]](../../../_images/compositing_types_matte_keying-screen_source.jpg)

Example from the [Mango Open Movie](https://mango.blender.org/), Tears of Steel.

That can result in a bad matte.

[[image reference removed]](../../../_images/compositing_types_matte_keying-screen_bad.jpg)

Example of a poor mask: Some of the backdrop is opaque,
and some parts of the gun in the foreground are transparent.

If you increase the tolerances on the Color Key node, it will accept
more shades of green to mask out. But it may also incorrectly mask out more of
the foreground.

Instead of increasing the range of accepted shades to be masked out,
the Keying Screen node lets you change what shade of green (or other color) to used
for different parts of the image.

Start in the [Movie Clip Editor](../../../editors/clip/index.html).
Open the Sidebar region and Toolbar to show tracking configuration.
Tracks used for gradients are not useful for camera solving, because they do not track well.
So create a new object track in the *Objects* selector.
Place tracking markers on the clip to sample different parts of the backdrop.

[[image reference removed]](../../../_images/compositing_types_matte_keying-screen_trackers.jpg)

These tracks may be tracked or moved manually, so gradients can be updated
over time. If the marker is not enabled for a frame, it will not be used creating
the gradient. (Such as the red-colored marker on the arm in the screenshot above)

Once the tracks are created, add the node to your compositing setup,
and select the tracking object used for the backdrop.

[[image reference removed]](../../../_images/compositing_types_matte_keying-screen_usage.png)

Node configuration with *Keying Screen*’s generated gradient
plate connected to the Color input of the Keying node.

[[image reference removed]](../../../_images/compositing_types_matte_keying-screen_generated.jpg)

Gradient plate generated by *Keying Screen*.

The resulting image now has a better matte.

[[image reference removed]](../../../_images/compositing_types_matte_color-spill_example-after.jpg)
user: What is About UVs and how is it used in Blender Python scripting?

assistant: Every point in the UV map corresponds to a vertex in the mesh.
The lines joining the UVs correspond to edges in the mesh.
Each face in the UV map corresponds to a mesh face.
Think of a UV map as projecting the surface of your 3D model onto a 2D image.

Each face of a mesh can have many UV textures. Each UV texture can have an individual image assigned to it.
When you unwrap a face to a UV texture in the UV Editor, each face of the mesh is automatically assigned
four UV coordinates: These coordinates define the way an image or a texture is mapped onto the face.
To distinguish from XYZ coordinates, the U and V axes are used to mark the coordinates of each point.
Hence the name, UV unwrapping. These coordinates can be used for rendering or for real-time viewport
display as well.

Every face in Blender can have a link to a different image.
The UV coordinates define how this image is mapped onto the face.
This image then can be rendered or displayed in real-time.
A 3D Viewport has to be in “Face Select” mode to be able to assign Images or
change UV coordinates of the active mesh object.
This allows a face to participate in many UV textures.
A face at the hairline of a character might participate in the facial UV texture,
*and* in the scalp/hair UV texture.

These are described more fully in the next sections.
user: Provide the full official documentation entry for Bpy.Types.Stuccitexture, preserving all code examples.

assistant: ro Report issue on this page On this page StucciTexture(Texture) StucciTexture StucciTexture.noise_basis StucciTexture.noise_scale StucciTexture.noise_type StucciTexture.stucci_type StucciTexture.turbulence StucciTexture.users_material StucciTexture.users_object_modifier StucciTexture.bl_rna_get_subclass() StucciTexture.bl_rna_get_subclass_py() Inherited Properties Inherited Functions
user: Show practical ways to work with Interpolate Sequence in a Blender add-on or script – include code.

assistant: Interpolate strokes between the previous and next keyframe by adding *multiple* keyframes.
A breakdown keyframe will be added on every frame between the previous and next keyframe.

Step
:   Number of frames between generated interpolated frames.

Layer
:   Layers included in the interpolation.

Exclude Break Downs
:   Exclude existing Breakdowns keyframes as interpolation extremes.

Flip Mode
:   Invert destination stroke to match start and end with source stroke.

Smooth
:   Amount of smoothing to apply to interpolated strokes, to reduce jitter/noise.

Iterations
:   Number of times to smooth newly created strokes.

Type
:   Interpolation method to use the next time *Interpolate Sequence* is run.
user: Show practical ways to work with Inputs in a Blender add-on or script – include code.

assistant: Image 1
:   Contains foreground content against the background that is to be removed.

Image 2
:   The reference background image.

Tolerance
:   Where pixels match the reference background to within the specified threshold, the matte is made transparent.

Falloff
:   Increase to make nearby pixels partially transparent producing a smoother blend along the edges.
user: Show practical ways to work with GeometryNodeSampleUVSurface(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeSampleUVSurface(GeometryNode)

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

*class* bpy.types.GeometryNodeSampleUVSurface(*GeometryNode*)
:   Calculate the interpolated values of a mesh attribute at a UV coordinate

    data_type
    :   Type:
        :   enum in [Attribute Type Items](bpy_types_enum_items/attribute_type_items.html#rna-enum-attribute-type-items), default `'FLOAT'`

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: How do I use Inputs in Blender? Include parameters, examples, warnings and best practices.

assistant: Geometry
:   The input geometry containing the hair curves to be grouped and,
    optionally, existing guide curves.

Guides
:   The curves or points that can act as guides.
    These are the candidates that other curves will be assigned to.

Guide Distance
:   The minimum spacing between chosen guides.
    This prevents guides from being selected too close together and helps control
    how large each guide’s influence region will be.

Guide Mask
:   A mask that restricts which curves are allowed to become guides.
    Curves with a mask value of 0 cannot be selected as guides.

Group ID
:   An ID used to divide the curves into independent groups for guide assignment.
    A curve will only select a guide that has the same *Group ID* value.
    This is useful for ensuring that different regions (for example, left vs. right side of a groom)
    do not mix.
user: Explain ShaderNodeOutputAOV(ShaderNode) in complete detail according to the official Blender documentation.

assistant: # ShaderNodeOutputAOV(ShaderNode)

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

*class* bpy.types.ShaderNodeOutputAOV(*ShaderNode*)
:   Arbitrary Output Variables.
    Provide custom render passes for arbitrary shader node outputs

    aov_name
    :   Name of the AOV that this output writes to

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

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: Explain Open in complete detail according to the official Blender documentation.

assistant: Opens a file browser to select an image for loading into the editor.
Images can also be opened by dragging and dropping them directly into the editor.

When opening an image, the following options are available:

Relative Path
:   Sets the file path to be relative to the currently opened blend-file.

    See [Relative Paths](../../files/blend/open_save.html#files-blend-relative-paths).

Detect Sequences
:   Automatically looks for image sequences in the selected images (based on the file name).
    Disable this when you do want to get single images that are part of a sequence.
    See [Opening an Image Sequence](../../files/media/image_formats.html#image-formats-open-sequence) for more information.

Detect UDIMs
:   Automatically looks for [UDIM](../../modeling/meshes/uv/workflows/udims.html)
    tiles in the directory of the selected image; if matches are found they are loaded into Blender as UDIMs.
    This works by detecting if the filename has a `.xxxx` (four digit number) before the file extension.
user: What is TextureNodeChecker(TextureNode) and how is it used in Blender Python scripting?

assistant: # TextureNodeChecker(TextureNode)

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

*class* bpy.types.TextureNodeChecker(*TextureNode*)
:   *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: Describe AnnotationLayers(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # AnnotationLayers(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.AnnotationLayers(*bpy_struct*)
:   Collection of annotation layers

    active_index
    :   Index of active annotation layer

        Type:
        :   int in [0, inf], default 0

    active_note
    :   Note/Layer to add annotation strokes to

        Type:
        :   enum in [`'DEFAULT'`], default `'DEFAULT'`

    new(*name*, *\**, *set_active=True*)
    :   Add a new annotation layer

        Parameters:
        :   - **name** (*string**,* *(**never None**)*) – Name, Name of the layer
            - **set_active** (*boolean**,* *(**optional**)*) – Set Active, Set the newly created layer to the active layer

        Returns:
        :   The newly created layer

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

    remove(*layer*)
    :   Remove a annotation layer

        Parameters:
        :   **layer** ([`AnnotationLayer`](bpy.types.AnnotationLayer.html#bpy.types.AnnotationLayer "bpy.types.AnnotationLayer"), (never None)) – The layer to remove

    *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
user: Explain Sensor Noise Node in complete detail according to the official Blender documentation.

assistant: # Sensor Noise Node

[image reference removed]

The *Sensor Noise* node simulates the random noise patterns produced by digital camera sensors.
This can be used to match real footage, add realism to rendered images, or stylistically mimic
the imperfections of digital imaging systems.
user: Show practical ways to work with Mask From Mesh Boundary in a Blender add-on or script – include code.

assistant: Generates a mask based on the topological islands of the mesh. The settings of the operation can be changed
in the [Adjust Last Operation](../../../interface/undo_redo.html) panel.

Mode
:   Choose how the newly created mask is mixed with the existing one. By default it will replace the old mask via
    “Mix”.

Mix Factor
:   The factor of the mix effect. Choose how strong the new mask is applied on the existing one.

Automask Settings
:   The same settings as the [Auto-Masking](../controls.html) settings are applied.

Propagation Steps
:   Same as [Auto-Masking](../controls.html).
user: Provide the full official documentation entry for ObjectShaderFx(bpy_struct), preserving all code examples.

assistant: # ObjectShaderFx(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.ObjectShaderFx(*bpy_struct*)
:   Collection of object effects

    new(*name*, *type*)
    :   Add a new shader fx

        Parameters:
        :   - **name** (*string**,* *(**never None**)*) – New name for the effect
            - **type** (enum in [Object Shaderfx Type Items](bpy_types_enum_items/object_shaderfx_type_items.html#rna-enum-object-shaderfx-type-items)) – Effect type to add

        Returns:
        :   Newly created effect

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

    remove(*shader_fx*)
    :   Remove an existing effect from the object

        Parameters:
        :   **shader_fx** ([`ShaderFx`](bpy.types.ShaderFx.html#bpy.types.ShaderFx "bpy.types.ShaderFx"), (never None)) – Effect to remove

    clear()
    :   Remove all effects from the object

    *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