Changeset View
Changeset View
Standalone View
Standalone View
manual/sculpt_paint/brush/texture.rst
| .. _bpy.types.BrushTextureSlot: | .. _bpy.types.BrushTextureSlot: | ||||||||||||||
| ******* | ******* | ||||||||||||||
| Texture | Texture | ||||||||||||||
| ******* | ******* | ||||||||||||||
BlendifyUnsubmitted Done Inline Actions
Blendify: | |||||||||||||||
| .. figure:: /images/sculpt-paint_brush_texture_ui-example.jpg | This page covers both the Texture and Texture Mask panels. | ||||||||||||||
| :width: 580px | Add a Texture to the brush to control the color of the brush. | ||||||||||||||
| A Texture Mask is used to control the strength of the brush. | |||||||||||||||
| Both the Texture and Texture Mask offer the same settings. | |||||||||||||||
| Texture options and example. | .. replace the visual example with an actual use case in painting and sculpting | ||||||||||||||
| Use the texture data-block at the bottom of the paint panel to select a preloaded image or | .. figure:: /images/sculpt-paint_brush_texture_ui-example.jpg | ||||||||||||||
| procedural texture to use as your brush pattern. | :width: 580px | ||||||||||||||
| Note that in order to use it, you must have a placeholder material defined, | |||||||||||||||
| and that particular texture defined using the Material and Texture buttons. | |||||||||||||||
| It is not necessary to have that material or texture applied to any mesh anywhere; | |||||||||||||||
| it must only be defined. | |||||||||||||||
| The example to the right shows the effects of painting with a Voronoi texture. | Example of the Texture panel and a textured brush in use. | ||||||||||||||
| Texture | Texture | ||||||||||||||
| In paint modes the texture is used as a color source, | In paint modes the texture is used as a color source, | ||||||||||||||
| while for sculpting it is used to determine the strength of the brush. | while for sculpting it is used to determine the strength of the brush. | ||||||||||||||
| Any image texture or procedural texture can be assigned in the texture and texture mask panels. | |||||||||||||||
| Textures can be further edited in the properties editor (Click the properties icon for quick access) | |||||||||||||||
| .. tip:: | |||||||||||||||
| It's recommended to load all needed images ahead of time as image textures into Blender. | |||||||||||||||
| Then they can be easily selected by clicking on the texture and picking it from the data-block popup. | |||||||||||||||
| Textures can also be `appended/linked` from other Blender files. | |||||||||||||||
| .. Add example screenshot of texture panel with properties button highlighted. | |||||||||||||||
| .. _bpy.types.BrushTextureSlot.map_mode: | .. _bpy.types.BrushTextureSlot.map_mode: | ||||||||||||||
| Mapping | Mapping | ||||||||||||||
BlendifyUnsubmitted Done Inline Actions
This is called "Mapping" in the "Texture" panel and "Mask Mapping" in the "Texture Mask" panel; there should also be text in the description that denotes this difference. Blendify: This is called "Mapping" in the "Texture" panel and "Mask Mapping" in the "Texture Mask" panel… | |||||||||||||||
| Sets the way the texture is applied to the brush stroke. | How the texture is applied to the brush stroke. | ||||||||||||||
| .. tip:: | |||||||||||||||
| It is recommended to set the Mapping to *Area Plane* or *View Plane* for the most common behavior. | |||||||||||||||
| Ideally match this setting with the :ref:`Sculpt Plane <bpy.types.Brush.sculpt_plane>` setting if in sculpt mode. | |||||||||||||||
| :View Plane: | :View Plane: | ||||||||||||||
| If *View Plane* is enabled, the current view angle is used to project the brush texture onto the model. | If *View Plane* is enabled, the current view angle is used to project the brush texture onto the model. | ||||||||||||||
| I.e. the texture follows the mouse, so it appears that the texture is being dragged across the model. | |||||||||||||||
| In 2D painting, the texture moves with the brush. | .. visual example | ||||||||||||||
| :Area Plane: | :Area Plane: | ||||||||||||||
| Projects the brush texture along the local surface normal, | Projects the brush texture along the local surface :term:`normal`, | ||||||||||||||
| which keeps the texture from stretching when sculpting on a portion of the mesh | which keeps the texture from stretching when sculpting on a portion of the mesh | ||||||||||||||
| that is at an extreme angle to the viewpoint. | that is at an extreme angle to the viewpoint. | ||||||||||||||
| .. visual example | |||||||||||||||
| :Tiled: | :Tiled: | ||||||||||||||
| The *Tile* option tiles the texture across the screen, | The *Tile* option repeats the texture across the screen, | ||||||||||||||
| so moving the brush appears to move separately from the texture. | so moving the brush will not change where the texture is applied. | ||||||||||||||
| The *Tile* option is most useful with tileable images, rather than procedural textures. | The *Tile* option is most useful with tileable images, rather than procedural textures. | ||||||||||||||
| .. visual example | |||||||||||||||
| :3D: | :3D: | ||||||||||||||
| The *3D* option allows the brush to take full advantage of procedural textures. | The *3D* option allows the brush to take full advantage of procedural textures. | ||||||||||||||
| This mode uses vertex coordinates rather than the brush location to determine what area of the texture to use. | This mode uses vertex coordinates rather than the brush location to determine what area of the texture to use. | ||||||||||||||
| This option is not available for the Texture Mask. | |||||||||||||||
| .. visual example | |||||||||||||||
| :Random: | :Random: | ||||||||||||||
| Picks a random texture coordinate to sample from for each dab. | Picks a random texture coordinate to sample from for each step of the stroke. | ||||||||||||||
| :Stencil: | :Stencil: | ||||||||||||||
| Stencil mapping works by projecting the paint from the camera space on the mesh or canvas. | Stencil mapping works by projecting the paint from the camera space on the mesh or canvas. | ||||||||||||||
| Painting is applied only inside the boundaries of the stencil. | Painting is applied only inside the boundaries of the stencil. | ||||||||||||||
| The stencil is displayed as a screen space overlay on the viewport. | The stencil is displayed as a screen space overlay on the viewport. | ||||||||||||||
| To the transform the stencil texture and the stencil mask with additional :kbd:`Alt` pressed: | To transform the stencil texture use the following shortcuts (Hold :kbd:`Alt` for the Texture Mask): | ||||||||||||||
| - Move :kbd:`RMB` | - Move :kbd:`RMB` | ||||||||||||||
| - Scale :kbd:`Shift-RMB` | - Scale :kbd:`Shift-RMB` | ||||||||||||||
| - Rotate :kbd:`Ctrl-RMB` | - Rotate :kbd:`Ctrl-RMB` | ||||||||||||||
| When using stencil scaling, :kbd:`X` and :kbd:`Y` are used to constrain the scaling to one axis. | While using stencil scaling, :kbd:`X` and :kbd:`Y` are used to constrain the scaling to one axis. | ||||||||||||||
| Pressing one of the buttons twice reverts to unconstrained scaling. | Pressing one of the buttons twice reverts to unconstrained scaling. | ||||||||||||||
| .. visual example | |||||||||||||||
| .. _bpy.ops.brush.stencil_fit_image_aspect: | .. _bpy.ops.brush.stencil_fit_image_aspect: | ||||||||||||||
| Image Aspect | Image Aspect | ||||||||||||||
| Restore the aspect ratio of the original image to reset stretching introduce by scaling, | Restore the aspect ratio of the original image to reset stretching introduce by scaling, | ||||||||||||||
| (Image textures only.) This operator can use the tiling and scale values of the brush texture | (Image textures only.) This operator can use the tiling and scale values of the brush texture | ||||||||||||||
| if the relevant are enabled in :ref:`bpy.ops.screen.redo_last` panel. | if the relevant are enabled in :ref:`bpy.ops.screen.redo_last` panel. | ||||||||||||||
| .. screenshot of redo panel | |||||||||||||||
| .. _bpy.ops.brush.stencil_reset_transform: | .. _bpy.ops.brush.stencil_reset_transform: | ||||||||||||||
| Reset Transform | Reset Transform | ||||||||||||||
| Restores the position of the stencil. | Restores the position of the stencil. | ||||||||||||||
| Pressure Masking | |||||||||||||||
BlendifyUnsubmitted Done Inline Actions
Add the RNA reference so that the context sensitive online manual lookup works. Blendify: Add the RNA reference so that the context sensitive online manual lookup works. | |||||||||||||||
| Only available for the Texture Mask. It allows to clip the mask result based on pressure. | |||||||||||||||
| :Off: Disabled. | |||||||||||||||
| :Ramp: Fades out the mask effect on higher pressure. | |||||||||||||||
| :Cutoff: Expands the used values from the image, between zero and one, based on stylus pressure. | |||||||||||||||
| .. add visual example to compare ramp vs cutoff | |||||||||||||||
| .. _bpy.types.BrushTextureSlot.angle: | .. _bpy.types.BrushTextureSlot.angle: | ||||||||||||||
| Angle :kbd:`Ctrl-F` | Angle :kbd:`Ctrl-F` | ||||||||||||||
| This is the rotation angle of the texture brush. | This is the rotation angle of the texture brush. | ||||||||||||||
| It can be changed interactively via :kbd:`Ctrl-F` in the 3D Viewport. | It can be changed interactively via :kbd:`Ctrl-F` in the 3D Viewport. | ||||||||||||||
| While in the interactive rotation you can enter a value numerically as well. | While rotating the angle via the hotkey you can enter a value numerically as well. | ||||||||||||||
| .. _bpy.types.BrushTextureSlot.use_rake: | .. _bpy.types.BrushTextureSlot.use_rake: | ||||||||||||||
| Rake :kbd:`R` | Rake | ||||||||||||||
| Angle follows the direction of the brush stroke. Not available with *3D* textures. | Angle follows the direction of the brush stroke. Not available with *3D* textures. | ||||||||||||||
| (Shortcut sculpting only.) | |||||||||||||||
| .. visual example | |||||||||||||||
| .. _bpy.types.BrushTextureSlot.use_random: | .. _bpy.types.BrushTextureSlot.use_random: | ||||||||||||||
| Random :kbd:`R` | Random | ||||||||||||||
| Angle is randomized per dab. | Angle is randomized on each step of the stroke. | ||||||||||||||
| .. _bpy.types.BrushTextureSlot.random_angle: | .. _bpy.types.BrushTextureSlot.random_angle: | ||||||||||||||
| Random Angle | Random Angle | ||||||||||||||
| Constraints the random deviation to a range. | Constraints the random deviation to a range. | ||||||||||||||
| .. _bpy.types.TextureSlot.offset: | .. _bpy.types.TextureSlot.offset: | ||||||||||||||
| Offset X, Y, Z | Offset X, Y, Z | ||||||||||||||
| Offset the texture map placement in X, Y, and Z axes. | Offset the texture map placement in X, Y, and Z axes. | ||||||||||||||
| .. _bpy.types.TextureSlot.scale: | .. _bpy.types.TextureSlot.scale: | ||||||||||||||
| Size X, Y, Z | Size X, Y, Z | ||||||||||||||
| Set the scale of the texture in each axis. Not available for *Drag* sculpting textures. | Set the scale of the texture in each axis. Not available for *Drag* sculpting textures. | ||||||||||||||
| .. _bpy.types.Brush.texture_sample_bias: | .. _bpy.types.Brush.texture_sample_bias: | ||||||||||||||
| Sample Bias :guilabel:`Sculpt Mode` | Sample Bias :guilabel:`Sculpt Mode` | ||||||||||||||
| Value added to texture samples. | Value added to texture samples. | ||||||||||||||
| This can be used if the midlevel of a height map is not correct. | |||||||||||||||
| .. visual example | |||||||||||||||