Asset Shelf: Add manual entry #104580

Merged
Aaron Carlisle merged 5 commits from ChrisLend/blender-manual:asset_shelf into blender-v4.0-release 2023-10-26 23:06:10 +02:00
20 changed files with 323 additions and 266 deletions
Showing only changes of commit 792d30ad80 - Show all commits

View File

@ -26,7 +26,7 @@ sys.setrecursionlimit(2000)
# Not used directly by Sphinx, but used by this file and the buildbot. # Not used directly by Sphinx, but used by this file and the buildbot.
blender_version = '4.1' blender_version = '4.0'
# -- Project information ----------------------------------------------------- # -- Project information -----------------------------------------------------

View File

@ -14,16 +14,20 @@ Clicking the icon toggles all overlays in the 3D Viewport.
The drop-down button displays a popover with more detailed settings, The drop-down button displays a popover with more detailed settings,
which are described below. which are described below.
The available options depend on the mode that the 3D Viewport is in. Next to the Viewport Overlays popover could be a second popover.
The availability of these options depend on the mode the 3D Viewport is in or what type of object is selected.
These settings are described later on in this page.
Object Mode
=========== General
=======
The following options are always present, independent of the current mode. The following options are always present, independent of the current mode.
Some of the overlays can be customized in the Some of the overlays can be customized in the
:doc:`Viewport Preferences </editors/preferences/viewport>`. :doc:`Viewport Preferences </editors/preferences/viewport>`.
Guides Guides
------ ------
@ -42,23 +46,23 @@ Subdivision
Text Info Text Info
Show various bits of information in the top left corner of the viewport. Show various bits of information in the top left corner of the viewport.
View Perspective - **View Perspective** --
Name of the :doc:`View Perspective </editors/3dview/navigate/projections>`, Name of the :doc:`View Perspective </editors/3dview/navigate/projections>`,
such as "Top Orthographic" or "User Perspective." such as "Top Orthographic" or "User Perspective."
Playback Frame Rate (FPS) - **Playback Frame Rate (FPS)** --
Displays the Frames Per Second at which the animation is playing. Displays the Frames Per Second at which the animation is playing.
By default, Blender goes through every single frame, which may result in an FPS that's lower than By default, Blender goes through every single frame, which may result in an FPS that's lower than
intended (and the animation playing slower than realtime); the FPS turns red in this case. intended (and the animation playing slower than realtime); the FPS turns red in this case.
You can change this behavior in the Playback popover of the :doc:`Timeline </editors/timeline>`. You can change this behavior in the Playback popover of the :doc:`Timeline </editors/timeline>`.
Object Info - **Object Info** --
Shows the current frame in parentheses, followed by the names of the selected Shows the current frame in parentheses, followed by the names of the selected
:doc:`Collection </scene_layout/collections/index>` and the :ref:`active object <object-active>`. :doc:`Collection </scene_layout/collections/index>` and the :ref:`active object <object-active>`.
When applicable, also shows the selected :doc:`Shape Key </animation/shape_keys/introduction>` When applicable, also shows the selected :doc:`Shape Key </animation/shape_keys/introduction>`
and (in angle brackets) the :doc:`Marker </animation/markers>` on the current frame. and (in angle brackets) the :doc:`Marker </animation/markers>` on the current frame.
If the object has a keyframe on the current frame, the Object Info is displayed in yellow. If the object has a keyframe on the current frame, the Object Info is displayed in yellow.
Grid Resolution - **Grid Resolution** --
When the view is aligned to a world axis (see :doc:`/editors/3dview/navigate/viewpoint`), When the view is aligned to a world axis (see :doc:`/editors/3dview/navigate/viewpoint`),
the Text Info additionally shows the smallest distance between two parallel grid lines. the Text Info additionally shows the smallest distance between two parallel grid lines.
Statistics Statistics
Show information about the amount of objects and geometry. Show information about the amount of objects and geometry.
@ -66,8 +70,8 @@ Statistics
For example, selecting a mesh gives info on the number of vertices, edges, and faces, For example, selecting a mesh gives info on the number of vertices, edges, and faces,
while selecting a light shows the number of lights in the scene. while selecting a light shows the number of lights in the scene.
- Objects -- Number of the selected objects and the total count. - **Objects** -- Number of the selected objects and the total count.
- Geometry -- Displays information about the current scene depending on the mode and object type. - **Geometry** -- Displays information about the current scene depending on the mode and object type.
This can be the number of vertices, faces, triangles, or bones. This can be the number of vertices, faces, triangles, or bones.
HDRI Preview HDRI Preview
@ -160,8 +164,8 @@ Size
.. _3dview-overlay-mesh_edit_mode: .. _3dview-overlay-mesh_edit_mode:
Mesh Edit Mode Mesh Edit Mode Overlays
============== =======================
The following options are available when in Mesh Edit Mode. The following options are available when in Mesh Edit Mode.
@ -252,6 +256,7 @@ Face Angle
The :doc:`Measure </editors/3dview/toolbar/measure>` tool for measuring The :doc:`Measure </editors/3dview/toolbar/measure>` tool for measuring
arbitrary distances and angles. arbitrary distances and angles.
.. _mesh-display-normals: .. _mesh-display-normals:
Normals Normals
@ -292,8 +297,8 @@ Face Marks
Display Freestyle face marks. Display Freestyle face marks.
Sculpt Mode Sculpt Mode Overlays
=========== ====================
Mask Mask
Show :ref:`Masks <sculpt-mask-menu>` as overlays on an object. The opacity of the overlay can be adjusted. Show :ref:`Masks <sculpt-mask-menu>` as overlays on an object. The opacity of the overlay can be adjusted.
@ -302,8 +307,8 @@ Face Sets
The opacity of the overlay can be adjusted. The opacity of the overlay can be adjusted.
Vertex Paint Vertex Paint Overlays
============ =====================
.. _bpy.types.View3DOverlay.vertex_paint_mode_opacity: .. _bpy.types.View3DOverlay.vertex_paint_mode_opacity:
@ -313,8 +318,8 @@ Show Wire
Display mesh edges in white (unlike the *Wireframe* overlay which shows them in black). Display mesh edges in white (unlike the *Wireframe* overlay which shows them in black).
Weight Paint Weight Paint Overlays
============ =====================
Opacity Opacity
The opacity of the overlay. The opacity of the overlay.
@ -322,12 +327,9 @@ Zero Weights
Display unreferenced and zero-weighted areas in black. Display unreferenced and zero-weighted areas in black.
This helps to identify areas with very low weights that have been painted onto. This helps to identify areas with very low weights that have been painted onto.
None :None: Vertices are displayed in the usual way.
Vertices are displayed in the usual way. :Active: Vertices are shown in black if they have no weight in the active vertex group.
Active :All: Vertices are shown in black if they have no weight in any vertex group.
Vertices are shown in black if they have no weight in the active vertex group.
All
Vertices are shown in black if they have no weight in any vertex group.
Show Weight Contours Show Weight Contours
Show contour lines formed by points with the same interpolated weight. Show contour lines formed by points with the same interpolated weight.
@ -339,8 +341,8 @@ Show Wire
Display mesh edges in white (unlike the *Wireframe* overlay which shows them in black). Display mesh edges in white (unlike the *Wireframe* overlay which shows them in black).
Texture Paint Texture Paint Overlays
============= ======================
.. _bpy.types.View3DOverlay.texture_paint_mode_opacity: .. _bpy.types.View3DOverlay.texture_paint_mode_opacity:
@ -348,8 +350,8 @@ Stencil Mask Opacity
Opacity of the :doc:`stencil mask </sculpt_paint/texture_paint/tool_settings/mask>` overlay. Opacity of the :doc:`stencil mask </sculpt_paint/texture_paint/tool_settings/mask>` overlay.
Bones Pose Mode Overlays
===== ==================
Fade Geometry Fade Geometry
Show the bones on top and face other geometry to the back. Show the bones on top and face other geometry to the back.
@ -360,8 +362,7 @@ Bone Wireframe Opacity
The maximum opacity used for bones drawn in the *Wireframe* The maximum opacity used for bones drawn in the *Wireframe*
:doc:`shading mode </editors/3dview/display/shading>` :doc:`shading mode </editors/3dview/display/shading>`
(or in *Solid* shading mode with X-Ray active). (or in *Solid* shading mode with X-Ray active).
This is helpful when it is necessary to reduce clutter and focus on This is helpful when it is necessary to reduce clutter and focus on the mesh rather than bones.
the mesh rather than bones.
.. _3dview-overlay-grease-pencil: .. _3dview-overlay-grease-pencil:
@ -369,6 +370,8 @@ Bone Wireframe Opacity
Grease Pencil Grease Pencil
============= =============
These overlays are available when a :doc:`/grease_pencil/index` object is selected.
Onion Skin Onion Skin
Show ghosts of the keyframes before and after the current frame. Show ghosts of the keyframes before and after the current frame.
If :doc:`Multiframe </grease_pencil/multiframe>` is enabled, If :doc:`Multiframe </grease_pencil/multiframe>` is enabled,
@ -387,6 +390,7 @@ Fade Inactive Objects
Fade Grease Pencil Objects Fade Grease Pencil Objects
Include or exclude Grease Pencil objects. Include or exclude Grease Pencil objects.
Edit Lines Edit Lines
Show edit lines in Edit Mode. Show edit lines in Edit Mode.
Only in Multiframe Only in Multiframe

View File

@ -225,12 +225,14 @@ The region is divided into separate panels each containing a :ref:`UI List <ui-l
Clicking on one of the directories will immediately navigate to that folder. Clicking on one of the directories will immediately navigate to that folder.
.. _bpy.types.SpaceFileBrowser.system_folders: .. _bpy.types.SpaceFileBrowser.bookmarks:
Volumes Bookmarks
^^^^^^^ ^^^^^^^^^
Contains all OS-defined available volumes, e.g. drives or network mounts. Contains folders that you want to be able to access often without having to navigate to them in the File Browser.
To the right of that list are buttons to perform basic management actions on your bookmarks,
e.g. add/remove an entry, move it up or down in the list, etc.
.. _bpy.types.SpaceFileBrowser.system_bookmarks: .. _bpy.types.SpaceFileBrowser.system_bookmarks:
@ -241,14 +243,12 @@ System
Contains OS-defined common directories, like the main user folder... Contains OS-defined common directories, like the main user folder...
.. _bpy.types.SpaceFileBrowser.bookmarks: .. _bpy.types.SpaceFileBrowser.system_folders:
Bookmarks Volumes
^^^^^^^^^ ^^^^^^^
Contains folders that you want to be able to access often without having to navigate to them in the File Browser. Contains all OS-defined available volumes, e.g. drives or network mounts.
To the right of that list are buttons to perform basic management actions on your bookmarks,
e.g. add/remove an entry, move it up or down in the list, etc.
.. _bpy.types.SpaceFileBrowser.recent_folders: .. _bpy.types.SpaceFileBrowser.recent_folders:

View File

@ -410,7 +410,7 @@ Blend to Default Value
.. reference:: .. reference::
:Menu: :menuselection:`Key --> Blend --> Blend to Neighbor` :Menu: :menuselection:`Key --> Blend --> Blend to Default Value`
Transitions the current keyframe towards the property's default value. Transitions the current keyframe towards the property's default value.
To use this operator, drag the mouse left or right to adjust the operator's *Blend* property. To use this operator, drag the mouse left or right to adjust the operator's *Blend* property.
@ -514,7 +514,7 @@ Direction
.. _bpy.ops.graph.scale_average: .. _bpy.ops.graph.scale_average:
Scale Average Scale Average
============= -------------
.. reference:: .. reference::
@ -530,7 +530,7 @@ Factor
.. _bpy.ops.graph.push_pull: .. _bpy.ops.graph.push_pull:
Push Pull Push Pull
========= ---------
.. reference:: .. reference::
@ -545,7 +545,7 @@ Factor
.. _bpy.ops.graph.time_offset: .. _bpy.ops.graph.time_offset:
Time Offset Time Offset
=========== -----------
.. reference:: .. reference::

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -23,9 +23,8 @@ Geometry nodes can modify different types of geometry:
* :doc:`Volumes </modeling/volumes/introduction>` * :doc:`Volumes </modeling/volumes/introduction>`
* :doc:`Instances </modeling/geometry_nodes/instances>` * :doc:`Instances </modeling/geometry_nodes/instances>`
The interface of the modifier is described in the The interface of the modifier is described in the
:doc:`Modifier </modeling/modifiers/generate/geometry_nodes>` page. :doc:`Modifier </modeling/modifiers/generate/geometry_nodes>` page.
To expand Blender with node-group operators see the description in the To expand Blender with node-group operators see the description in the
:doc:`Operators </modeling/geometry_nodes/operators>` page. :doc:`/modeling/geometry_nodes/tools` page.

View File

@ -1,9 +1,9 @@
.. index:: Geometry Nodes; Tools .. index:: Geometry Nodes; Tools
.. _bpy.types.GeometryNode: .. _bpy.types.GeometryNode:
################ ****************
Node-based Tools Node-Based Tools
################ ****************
Geometry Nodes can be used to expand the core functionality of Blender via node group defined tools. Geometry Nodes can be used to expand the core functionality of Blender via node group defined tools.
They can be shared as any regular node group assets. They can be shared as any regular node group assets.
@ -13,6 +13,7 @@ They can be shared as any regular node group assets.
Node group tools integrated in the Selection menu. Node group tools integrated in the Selection menu.
Tool Context Tool Context
============ ============
@ -25,6 +26,7 @@ them as Assets if they want to share them.
The :doc:`Inspection </modeling/geometry_nodes/inspection>` features are not supported on this context: Viewer Node and Socket Inspection. The :doc:`Inspection </modeling/geometry_nodes/inspection>` features are not supported on this context: Viewer Node and Socket Inspection.
Asset Asset
===== =====
@ -36,16 +38,19 @@ The asset options need to be set on the :doc:`Asset Browser </editors/asset_brow
The catalog is used to determined in which menu the tool is available. Assets that have no catalog assigned to them, or local tools The catalog is used to determined in which menu the tool is available. Assets that have no catalog assigned to them, or local tools
are exposed in the Unassigned menu. are exposed in the Unassigned menu.
Tool Settings Tool Settings
============= =============
The node group inputs will be exposed as in the :doc:`Adjust Last Operation </interface/undo_redo>` panel. The node group inputs will be exposed as in the :doc:`Adjust Last Operation </interface/undo_redo>` panel.
Supported Modes and Data-Types Supported Modes and Data-Types
============================== ==============================
Tools are only possible for Edit and Sculpting mode, for Mesh and Curve objects. Tools are only possible for Edit and Sculpting mode, for Mesh and Curve objects.
Tool-specific Nodes Tool-specific Nodes
=================== ===================
@ -62,6 +67,7 @@ The following nodes are only supported in the tool context:
The :doc:`Self Object </modeling/geometry_nodes/input/scene/self_object>` node returns the Active object The :doc:`Self Object </modeling/geometry_nodes/input/scene/self_object>` node returns the Active object
when inside a Tool node group. when inside a Tool node group.
Non-supported Nodes Non-supported Nodes
=================== ===================

View File

@ -28,7 +28,7 @@ use guiding in the simulation.
.. _bpy.types.FluidDomainSettings.guide_alpha: .. _bpy.types.FluidDomainSettings.guide_alpha:
Velocity Factor Weight
Controls the lag of the guiding. A larger value (also known as the 'alpha' guiding value) Controls the lag of the guiding. A larger value (also known as the 'alpha' guiding value)
results in a greater lag. results in a greater lag.

View File

@ -38,9 +38,9 @@ Distribution
Microfacet distribution to use. Microfacet distribution to use.
:GGX: GGX microfacet distribution. :GGX: GGX microfacet distribution.
:Multiscatter GGX: :guilabel:`Cycles Only` :Multiscatter GGX:
GGX with additional correction to account for multiple scattering, Takes multiple scattering events between microfacets into account.
preserve energy and prevent unexpected darkening at high roughness. This gives more energy conserving results, which would otherwise be visible as excessive darkening.
:Beckmann: :guilabel:`Cycles Only` :Beckmann: :guilabel:`Cycles Only`
Beckmann microfacet distribution. Beckmann microfacet distribution.

View File

@ -53,14 +53,12 @@ Properties
Distribution Distribution
Microfacet distribution to use. Microfacet distribution to use.
:GGX: GGX microfacet distribution.
:Multiscatter GGX:
Takes multiple scattering events between microfacets into account.
This gives more energy conserving results, which would otherwise be visible as excessive darkening.
:Beckmann: :guilabel:`Cycles Only` :Beckmann: :guilabel:`Cycles Only`
Beckmann microfacet distribution. Beckmann microfacet distribution.
:GGX: GGX microfacet distribution.
:Ashikhmin-Shirley: :guilabel:`Cycles Only`
Ashikhmin-Shirley microfacet distribution.
:Multiscatter GGX: :guilabel:`Cycles Only`
GGX with additional correction to account for multiple scattering,
preserve energy and prevent unexpected darkening at high roughness.
Outputs Outputs

View File

@ -24,6 +24,9 @@ easy-to-use shader for rendering hair and fur.
Inputs Inputs
====== ======
Common
------
Color Color
The RGB color of the strand. Only used in Direct coloring. The RGB color of the strand. Only used in Direct coloring.
@ -103,40 +106,6 @@ Tint
Absorption Coefficient Absorption Coefficient
Attenuation coefficient :math:`\sigma`. Attenuation coefficient :math:`\sigma`.
Roughness
Specify how much the glints are smoothed in the direction of the hair shaft.
Too low values will smoothen the hair to the point of looking almost metallic,
making glints look like :term:`Fireflies`; while setting it too high will result in a Lambertian look.
.. figure:: /images/render_shader-nodes_shader_hair-principled_demo-roughness.jpg
:align: center
Roughness.
Radial Roughness
Specify how much the glints are smoothed in the direction of the hair normal.
Too low values will concentrate the glint;
while setting it too high will spread the light across the width of the strand.
.. hint::
Mathematically, this parameter is mapped to the logistic distribution's
scale factor :math:`s` (section 4.1 of [CBTB16]_).
.. figure:: /images/render_shader-nodes_shader_hair-principled_demo-radial-roughness.jpg
:align: center
Radial Roughness.
Coat
Simulate a shiny coat of fur, by reducing the Roughness to the given factor
only for the first light bounce (diffuse).
Range :math:`[0, 1]` equivalent to a reduction of :math:`[0\%, 100\%]` of the original Roughness.
.. figure:: /images/render_shader-nodes_shader_hair-principled_demo-coat.jpg
:align: center
Coat.
IOR IOR
Index of refraction (:term:`IOR`) defining how much the ray changes direction. Index of refraction (:term:`IOR`) defining how much the ray changes direction.
@ -181,6 +150,76 @@ Random
instanced with the value obtained from :menuselection:`Hair Info --> Random`. instanced with the value obtained from :menuselection:`Hair Info --> Random`.
Chiang Model
------------
The Chiang model is based on a Gaussian distribution with separate roughness
along and orthogonal to the hair.
Roughness
Specify how much the glints are smoothed in the direction of the hair shaft.
Too low values will smoothen the hair to the point of looking almost metallic,
making glints look like :term:`Fireflies`; while setting it too high will result in a Lambertian look.
.. figure:: /images/render_shader-nodes_shader_hair-principled_demo-roughness.jpg
:align: center
Roughness.
Radial Roughness
Specify how much the glints are smoothed in the direction of the hair normal.
Too low values will concentrate the glint;
while setting it too high will spread the light across the width of the strand.
.. hint::
Mathematically, this parameter is mapped to the logistic distribution's
scale factor :math:`s` (section 4.1 of [CBTB16]_).
.. figure:: /images/render_shader-nodes_shader_hair-principled_demo-radial-roughness.jpg
:align: center
Radial Roughness.
Coat
Simulate a shiny coat of fur, by reducing the Roughness to the given factor
only for the first light bounce (diffuse).
Range :math:`[0, 1]` equivalent to a reduction of :math:`[0\%, 100\%]` of the original Roughness.
.. figure:: /images/render_shader-nodes_shader_hair-principled_demo-coat.jpg
:align: center
Coat.
Huang Model
-----------
The Huang model is based on microfacet based reflection and transmission,
and supports elliptically shaped hair.
Aspect Ratio
The ratio of the minor axis to the major axis of an elliptical cross-section.
Recommended values are 0.8~1 for Asian hair, 0.65~0.9 for Caucasian hair, 0.5~0.65 for
African hair. The major axis is aligned with the curve normal, which can be created
with geometry nodes, but is not supported in legacy particle hair.
Roughness
Microfacet roughness for reflection and transmission.
Reflection
Optional factor for modulating the first light bounce off the hair surface.
The color of this component is always white. Keep this 1.0 for physical correctness.
Transmission
Optional factor for modulating the transmission component. Picks up the color of the
pigment inside the hair. Keep this 1.0 for physical correctness.
Secondary Reflection
Optional factor for modulating the component which is transmitted into the hair,
reflected off the backside of the hair and then transmitted out of the hair. This
component is oriented approximately around the incoming direction, and picks up the
color of the pigment inside the hair. Keep this 1.0 for physical correctness
Properties Properties
========== ==========
@ -223,8 +262,7 @@ BSDF
References References
========== ==========
This shader is an implementation of the paper by Chiang et al. [CBTB16]_, This shader is an implementation of the papers by Chiang et al. [CBTB16]_ and Huang et al. [HHH22]_.
which was used in the Disney film, "Zootopia"\ :sup:`®`.
.. [CBTB16] Chiang, M. J. , Bitterli, B. , Tappan, C. and Burley, B. (2016), .. [CBTB16] Chiang, M. J. , Bitterli, B. , Tappan, C. and Burley, B. (2016),
A Practical and Controllable Hair and Fur Model for Production Path Tracing. Computer Graphics Forum, 35: 275-283. A Practical and Controllable Hair and Fur Model for Production Path Tracing. Computer Graphics Forum, 35: 275-283.
@ -233,3 +271,9 @@ which was used in the Disney film, "Zootopia"\ :sup:`®`.
.. [EFHLA11] d'Eon, E. , Francois, G. , Hill, M. , Letteri, J. and Aubry, J. (2011), .. [EFHLA11] d'Eon, E. , Francois, G. , Hill, M. , Letteri, J. and Aubry, J. (2011),
An EnergyConserving Hair Reflectance Model. Computer Graphics Forum, 30: 1181-1187. An EnergyConserving Hair Reflectance Model. Computer Graphics Forum, 30: 1181-1187.
`doi:10.1111/j.1467-8659.2011.01976.x <https://doi.org/10.1111/j.1467-8659.2011.01976.x>`__ `doi:10.1111/j.1467-8659.2011.01976.x <https://doi.org/10.1111/j.1467-8659.2011.01976.x>`__
.. [HHH22] Huang W., Hullin M.B. Hanika J. (2022)
A Microfacet-based Hair Scattering Model. Computer Graphics Forum, 41: 79-91.
`doi:10.1111/cgf.14588 <https://doi.org/10.1111/cgf.14588>`__

View File

@ -10,39 +10,49 @@ Principled BSDF
The *Principled* :abbr:`BSDF (Bidirectional Scattering Distribution Function)` The *Principled* :abbr:`BSDF (Bidirectional Scattering Distribution Function)`
that combines multiple layers into a single easy to use node. that combines multiple layers into a single easy to use node.
It is based on the Disney principled model also known as the "PBR" shader, It can model a wide variety of materials.
making it compatible with other software such as Pixar's Renderman\ :sup:`®`
and Unreal Engine\ :sup:`®`. Image textures painted or baked from
software like Substance Painter\ :sup:`®` may be directly linked to
the corresponding parameters in this shader.
This "Uber" shader includes multiple layers to create a wide variety of materials. It is based on OpenPBR Surface shading model, and provides parameters
The base layer is a user controlled mix between diffuse, metal, compatible with similar PBR shaders found in other software,
subsurface scattering and transmission. such as the Disney and Standard Surface models.
On top of that there is a specular layer, sheen layer and clearcoat layer. Image textures painted or baked from software like Substance Painter
may be directly linked to the corresponding parameters in this shader.
.. note::
The emphasis on compatibility with other software means that it interprets Layers and Components
certain input parameters differently from older Blender nodes. =====================
The base layer is a mix between metal, diffuse, subsurface, and transmission components.
Most materials will use one of these components, though it is possible to smoothly mix
between them.
.. figure:: /images/render_shader-nodes_principled_layers.svg
The metal component is opaque and only reflect lights. Diffuse and subsurface components
have a specular layer. Diffuse is fully opaque, while subsurface also involves light
scattering just below the surface. Both sit below a specular layer. The transmission
component includes both specular reflection and refraction.
On top of all base layers there is an optional glossy coat. And finally the sheen layer
sits on top of all other layers, to add fuzz or dust.
Light emission can also be added. This is below the coat and sheen layers, to model
for example emissive displays with a coat or dust.
Inputs Inputs
====== ======
Base Color Base Color
Diffuse or metal surface color. Overall color of the material used for diffuse, subsurface, metal and transmission.
Roughness Roughness
Specifies microfacet roughness of the surface for diffuse and specular reflection. Specifies microfacet roughness of the surface for specular reflection and transmission.
Metallic Metallic
Blends between a non-metallic and metallic material model. Blends between a dielectric and metallic material model.
At 0.0 the material consists of a diffuse or transmissive base layer, with a specular reflection layer on top.
A value of 1.0 gives a fully specular reflection tinted with the base color, A value of 1.0 gives a fully specular reflection tinted with the base color,
without diffuse reflection or transmission. without diffuse reflection or transmission.
At 0.0 the material consists of a diffuse or transmissive base layer, with a specular reflection layer on top.
IOR IOR
Index of refraction for transmission. Index of refraction for specular reflection and transmission.
Transmission
Mix between fully opaque surface at zero and fully glass like transmission at one.
Alpha Alpha
Controls the transparency of the surface, with 1.0 fully opaque. Controls the transparency of the surface, with 1.0 fully opaque.
Usually linked to the Alpha output of an Image Texture node. Usually linked to the Alpha output of an Image Texture node.
@ -50,133 +60,148 @@ Normal
Controls the normals of the base layers. Controls the normals of the base layers.
Substance
---------
Subsurface Subsurface
Mix between diffuse and subsurface scattering. ----------
Rather than being a simple mix between Diffuse and Subsurface Scattering,
it acts as a multiplier for the Subsurface Radius. Subsurface scattering is used to render materials such as skin, milk and wax.
Subsurface Radius Light scatters below the surface to create a soft appearance.
Method
Rendering method to simulate subsurface scattering.
:Christensen-Burley:
An approximation to physically-based volume scattering.
This method is less accurate than *Random Walk* however,
in some situations this method will resolve noise faster.
:Random Walk: :guilabel:`Cycles Only`
Provides accurate results for thin and curved objects.
Random Walk uses true volumetric scattering inside the mesh,
which means that it works best for closed meshes.
Overlapping faces and holes in the mesh can cause problems.
:Random Walk (Skin): :guilabel:`Cycles Only`
Random walk method optimized for skin rendering, with
radius automatically adjusted based on color and subsurface
entry direction using mix of diffuse and custom IOR. It
tends to retain greater surface detail and color.
Weight
Blend between diffuse surface and subsurface scattering.
Typically should be zero or one (either fully diffuse or subsurface)
Radius
Average distance that light scatters below the surface. Average distance that light scatters below the surface.
Higher radius gives a softer appearance, as light bleeds into shadows and through the object. Higher radius gives a softer appearance, as light bleeds into shadows and through the object.
The scattering distance is specified separately for the RGB channels, The scattering distance is specified separately for the RGB channels,
to render materials such as skin where red light scatters deeper. to render materials such as skin where red light scatters deeper.
The X, Y and Z values are mapped to the R, G and B values, respectively. The X, Y and Z values are mapped to the R, G and B values, respectively.
Subsurface Color Scale
Subsurface scattering base color. Scale applied to the radius.
Subsurface IOR :guilabel:`Cycles Only` IOR :guilabel:`Cycles Only`
Index of refraction for *Subsurface Scattering*. Index of refraction used for rays that enter the subsurface component. This may be set to
Subsurface Anisotropy :guilabel:`Cycles Only` a different value than the global IOR to simulate different layers of skin.
Controls the directionality of subsurface scattering. Anisotropy :guilabel:`Cycles Only`
Directionanltiy of volume scattering within the subsurface medium. Zero scatters uniformly
in all directories, with higher values scattering more strongly forward.
For example skin has been measure to have an anisotropy of 0.8.
Specular Specular
-------- --------
Specular Controls for both the metallic component and specular layer on top of diffuse and subsurface.
Amount of dielectric specular reflection. Specifies facing (along normal)
reflectivity in the most common 0 - 8% range.
.. hint::
To compute this value for a realistic material with a known index of
refraction, you may use this special case of the Fresnel formula:
:math:`specular = ((ior - 1)/(ior + 1))^2 / 0.08`
For example:
- water: ior = 1.33, specular = 0.25
- glass: ior = 1.5, specular = 0.5
- diamond: ior = 2.417, specular = 2.15
Since materials with reflectivity above 8% do exist, the field allows values above 1.
Specular Tint
Tints the facing specular reflection using the base color, while glancing reflection remains white.
Normal dielectrics have colorless reflection, so this parameter is not technically physically correct
and is provided for faking the appearance of materials with complex surface structure.
Anisotropic :guilabel:`Cycles Only`
Amount of anisotropy for specular reflection. Higher values give elongated highlights along the tangent direction;
negative values give highlights shaped perpendicular to the tangent direction.
Anisotropic Rotation :guilabel:`Cycles Only`
Rotates the direction of anisotropy, with 1.0 going full circle.
.. hint::
Compared to the *Anisotropic BSDF* node, the direction of highlight elongation
is rotated by 90°. Add 0.25 to the value to correct.
Tangent
Controls the tangent for the *Anisotropic* layer.
Coat
----
Clearcoat
Extra white specular layer on top of others.
This is useful for materials like car paint and the like.
Clearcoat Roughness:
Roughness of clearcoat specular.
Clearcoat Normal
Controls the normals of the *Clearcoat* layer.
Sheen
-----
Sheen
Amount of soft velvet like reflection near edges, for simulating materials such as cloth.
Sheen Roughness
Controls the amount of color that is reflected back to the camera,
higher values reflect more color and can give a dusty appearance, while lower values look fuzzy and darker.
Sheen Tint
The color of the sheen reflection.
Emission
--------
Emission
Light emission from the surface, like the Emission shader.
Emission Strength
Strength of the emitted light. A value of 1.0 will ensure that the object
in the image has the exact same color as the *Emission Color*, i.e. make it 'shadeless'.
Properties
==========
Distribution Distribution
Microfacet distribution to use. Microfacet distribution to use.
:GGX: :GGX:
A method that is faster than *Multiple-scattering GGX* but is less physically accurate. A method that is faster than *Multiple-scattering GGX* but is less physically accurate.
:Multiscatter GGX: :guilabel:`Cycles Only` :Multiscatter GGX:
GGX with additional correction to account for multiple scattering, Takes multiple scattering events between microfacets into account.
preserve energy and prevent unexpected darkening at high roughness. This gives more energy conserving results,
which would otherwise be visible as excessive darkening.
Subsurface Method IOR Level
Rendering method to simulate subsurface scattering. Adjustment to the IOR to increase or decrease intensity of the specular layer.
0.5 means no adjustment, 0 removes all reflections, 1 doubles them at normal incidence.
.. note:: EEVEE does not support the *Random Walk* methods. This input is designed for conveniently texturing the IOR and amount of specular
reflection.
:Christensen-Burley: Tint
An approximation to physically-based volume scattering. Color tint for specular and metallic reflection.
This method is less accurate than *Random Walk* however,
in some situations this method will resolve noise faster. For non-metallic tints provides artistic control over the color specular reflections at normal incidence,
:Random Walk (Fixed Radius): while grazing reflections remain white. In reality non-metallic specular reflection is fully white.
Provides accurate results for thin and curved objects.
Random Walk uses true volumetric scattering inside the mesh, For metallic materials tints the edges to simulate complex IOR as found in materials such as gold or copper.
which means that it works best for closed meshes.
Overlapping faces and holes in the mesh can cause problems. Anisotropic :guilabel:`Cycles Only`
:Random Walk: Amount of anisotropy for specular reflection. Higher values give elongated highlights along the tangent direction;
Behaves similarly to *Random Walk (Fixed Radius)* but modulates negative values give highlights shaped perpendicular to the tangent direction.
the *Subsurface Radius* based on the *Color*, *Subsurface Anisotropy*, and *Subsurface IOR*. Anisotropic Rotation :guilabel:`Cycles Only`
This method thereby attempts to retain greater surface detail and color Rotates the direction of anisotropy, with 1.0 going full circle.
than *Random Walk (Fixed Radius)*.
Compared to the *Anisotropic BSDF* node, the direction of highlight elongation
is rotated by 90°. Add 0.25 to the value to correct.
Tangent
Controls the tangent for the *Anisotropic* layer.
Transmission
------------
Transmission is used to render materials like glass and liquids, where the surface both
reflects light and transmits it into the interior of the object
Weight
Mix between fully opaque surface at zero and fully transmissive at one.
Coat
----
Coat on top of the materials, to simulate for example a clearcoat, lacquer or car paint.
Weight
Controls the intensity of the coat layer, both the reflection and the tinting.
Typically should be zero or one for physically-based materials, but may be textured
to vary the amount of coating across the surface.
Roughness
Roughness of the coat layer.
IOR
Index of refraction of the coat layer. Affects its reflectivity as well as the falloff of coat tinting.
Tint
Adds a colored tint to the coat layer by modeling absorption in the layer.
Saturation increases at shallower angles, as the light travels farther
through the medium, depending on the IOR.
Normal
Controls the normals of the *Coat* layer, for example to add a smooth coating on a rough surface.
Sheen
-----
Sheen simulates very small fibers on the surface.
For cloth this adds a soft velvet like reflection near edges.
It can also be used to simulate dust on arbitrary materials.
Weight
Controls in the intensity of the sheen layer.
Roughness
Roughness of the sheen reflection.
Tint
The color of the sheen reflection.
Emission
--------
Light emission from the surface.
Color
Color of light emission from the surface.
Strength
Strength of the emitted light. A value of 1.0 will ensure that the object
in the image has the exact same color as the *Emission Color*, i.e. make it 'shadeless'.
Outputs Outputs
@ -184,13 +209,3 @@ Outputs
BSDF BSDF
Standard shader output. Standard shader output.
Examples
========
Below are some examples of how all the Principled BSDF's parameters interact with each other.
.. figure:: /images/render_shader-nodes_shader_principled_example-1a.jpg
.. figure:: /images/render_shader-nodes_shader_principled_example-2a.jpg
.. figure:: /images/render_shader-nodes_shader_principled_example-2b.jpg

View File

@ -31,11 +31,8 @@ Properties
========== ==========
Distribution Distribution
Microfacet distribution to use. Microfacet distribution to use. *Sharp* results in perfectly sharp refractions,
while *Beckmann* and *GGX* can use the *Roughness* input for blurry refractions.
:GGX: GGX microfacet distribution.
:Beckmann: :guilabel:`Cycles Only`
Beckmann microfacet distribution.
Outputs Outputs

View File

@ -1,6 +1,7 @@
import bpy import bpy
from dataclasses import dataclass from dataclasses import dataclass
from itertools import islice from itertools import islice
from pathlib import Path
@dataclass @dataclass
@ -92,8 +93,9 @@ class MakeScreenshotsOperator(bpy.types.Operator):
return {'RUNNING_MODAL'} return {'RUNNING_MODAL'}
def modal(self, context, event): def modal(self, context, event):
temp_path = f"/home/jacques/Downloads/temp.png" base_path = Path.home() / "Downloads" / "node_screenshots"
filepath = f"/home/jacques/Downloads/node-types_{self.current_name}.png" temp_path = str(base_path / "temp.png")
filepath = str(base_path / f"node-types_{self.current_name}.png")
bpy.ops.screen.screenshot_area(filepath=temp_path) bpy.ops.screen.screenshot_area(filepath=temp_path)
rect = node_region_rect(context.region, self.current_node) rect = node_region_rect(context.region, self.current_node)

View File

@ -188,7 +188,7 @@ if __name__ == "__main__":
manual_skip_msg = manual_update(args) manual_skip_msg = manual_update(args)
if manual_skip_msg: if manual_skip_msg:
manual_skip_msg = "Manual repository skipped: " + manual_skip_msg + "\n" manual_skip_msg = "Manual repository skipped: " + manual_skip_msg + "\n"
if not args.no_locale: if not args.no_locale and os.path.exists(locale_dir):
locale_skip_msg = git_update_skip(args, locale_dir) locale_skip_msg = git_update_skip(args, locale_dir)
if not locale_skip_msg: if not locale_skip_msg:
locale_skip_msg = locale_update(args) locale_skip_msg = locale_update(args)