GPv3_ images and text updates #104991

Merged
Matias Mendiola merged 5 commits from mendio/blender-manual:GPv3-updates into main 2024-10-25 20:13:19 +02:00
90 changed files with 692 additions and 595 deletions
Showing only changes of commit 52c0402bda - Show all commits

View File

@ -1,15 +1,15 @@
.. index:: Compositor Nodes; Color Space
.. _bpy.types.CompositorNodeConvertColorSpace:
****************
Color Space Node
****************
***********************
Convert Colorspace Node
***********************
.. figure:: /images/compositing_node-types_CompositorNodeConvertColorSpace.webp
:align: right
:alt: Color Space Node.
The *Color Space Node* converts images between :term:`color spaces <Color Space>`.
The *Convert Colorspace* node converts images between :term:`color spaces <Color Space>`.
.. note::
@ -28,7 +28,7 @@ Properties
==========
From, To
The color space of the input image and the color space to convert the image to.
The color space of the input image and the color space to convert it to.
The list of color spaces depends on the active :ref:`OCIO config <ocio-config>`.
The default supported color spaces are described in detail here:

View File

@ -9,40 +9,35 @@ Alpha Over Node
:align: right
:alt: Alpha Over Node.
The *Alpha Over* node is used to layer images on top of one another.
Where the foreground image pixels have an alpha greater than 0, it will be overlaid over the background image.
The *Alpha Over* node is used to layer an image on top of another with alpha blending.
Inputs
======
Factor
Controls the transparency of the foreground image.
A factor less than 1 will make the foreground more transparent.
The alpha of the foreground image, going from 0 (fully transparent) to 1 (fully opaque).
Image
Input for the *background* image.
The background image.
Image
Input for the *foreground* image.
The foreground image.
Properties
==========
Convert Premultiplied
Converts foreground image to :term:`Premultiplied Alpha` format.
The *Alpha Over* node expects the foreground image to use :term:`Premultiplied Alpha`.
If it uses :term:`Straight Alpha` instead, you can enable this checkbox to convert it.
The *Alpha Over* node is designed to work with premultiplied alpha color format.
Use this checkbox when you know that your image has :term:`Straight Alpha` color values,
to perform the correct over operation. Result will still be premultiplied alpha.
Premultiplied
Interpolate between :term:`Premultiplied Alpha` and :term:`Straight Alpha`.
Premultiply
Mix between using :term:`Premultiplied Alpha` or :term:`Straight Alpha`.
When set to 1, the foreground color values will be multiplied by alpha, i.e. premultiplied;
When set to 1, the foreground color values will be multiplied by the alpha;
this is equivalent to enabling *Convert Premultiplied*.
When set to 0, color values does not change.
When set to 0, the color values do not change.
If *Premultiply* is not zero, *Convert Premultiplied* will be ignored.
If *Premultiplied* is not zero, *Convert Premultiplied* will be ignored.
.. note:: This is a legacy option.
@ -51,7 +46,7 @@ Outputs
=======
Image
Standard color output.
The blended result.
Examples
@ -60,8 +55,9 @@ Examples
Overlay
-------
In the node tree below, *Color Ramp* node is used to add an alpha channel to the black-and-white swirl image.
Then *Alpha Over* node is used to overlay it on top of another image.
In the node tree below, the :doc:`/compositing/types/color/color_ramp` is used to convert an opaque,
grayscale swirl image to a red one with transparency. Then, the *Alpha Over* node is used to overlay
it on top of another image.
.. figure:: /images/compositing_types_converter_color-ramp_create-alpha-mask.png
:width: 600px
@ -72,15 +68,11 @@ Then *Alpha Over* node is used to overlay it on top of another image.
Fade In
-------
In the next example, the *Factor* is used to make a "Fade In" effect.
This effect can be animated by adding a *Time* node inputted in the *Factor* socket as shown below.
Over the course of 30 frames, the *Alpha Over* node outputs an image that
starts with the pure background image, and the title slowly appearing.
The example below uses the :doc:`/compositing/types/input/scene/time_curve` to gradually increase the
*Alpha Over* node's *Factor* from 0 to 1 over the course of 30 frames. This will result in the text
fading in on top of the background image.
.. figure:: /images/compositing_types_color_alpha-over_example.png
:width: 600px
Animated fade in effect using Alpha Over.
Note the *Convert Premultiply* checkbox is enabled,
since as the foreground used a PNG image that has straight alpha.

View File

@ -9,49 +9,64 @@ Dilate/Erode Node
:align: right
:alt: Dilate/Erode Node.
The *Dilate/Erode node* expands and shrinks masks, using a morphological operator.
Expands or shrinks a mask using a morphological operator.
Inputs
======
Mask
Single color channel (or a black-and-white image) input.
A grayscale image.
Properties
==========
Mode
Step, Threshold, Distance, Feather
Steps
Sets each pixel to the maximum (for dilation) or minimum (for erosion) value that's found
within a square surrounding it. This approach keeps the original gray levels and is best
suited for masks that contain sharp corners; rounded shapes such as circles will look more
square-like in the output.
Despite the name, this is not an iterative process; the dilation/erosion is only performed
once regardless of the chosen *Distance*.
Threshold
Makes all the pixels fully black or white depending on whether they're darker or brighter
than 50% gray. Then, sets each pixel to the maximum (for dilation) or minimum
(for erosion) value that's found within a circle surrounding it. This approach loses the
original gray levels. Shape wise, it's well-suited for masks that contain rounded corners;
sharp ones will be rounded off.
Distance
Sets each pixel to the maximum (for dilation) or minimum (for erosion) value that's found
within a circle surrounding it. This approach preserves the original gray levels and
is well-suited for masks that contain rounded corners.
Feather
Blurs the image.
Distance
The Distance is the filter radius.
A positive value of Distance dilates (expands) the influence of a pixel on its surrounding pixels.
A negative value erodes (shrinks) its influence.
The size of the surrounding area to look at for each pixel; or in other words, how much to
dilate (for positive values) or erode (for negative values) the mask.
Edge
Edge to inset.
.. TODO2.8 Explain.
For the *Threshold* mode, determines how much to blur the edges after dilation/erosion.
Falloff
Falloff type the feather.
.. TODO2.8 Explain.
For the *Feather* mode, determines the brightness curve of the blurred edges.
Outputs
=======
Mask
The filtered mask output.
The resulting mask.
Example
=======
In this example, we wanted to take the rather boring array of ball bearings and
add some variation to it. So, we dilated the red and eroded the green, leaving the blue alone.
If we had dilated both red and green... (hint: red and green make yellow).
The amount of influence is increased by increasing the *Distance* values.
`Blend-file available here <https://archive.blender.org/wiki/2015/uploads/5/51/Derotest.blend>`__.
In the image below, notice that:
* The light gray disk has turned white and the dark gray rectangle has turned black
because of the *Threshold* mode.
* The shapes have become thicker -- dilated because of the positive *Distance*.
* The shapes appear blurred because of the positive *Edge*.
.. figure:: /images/compositing_types_filter_dilate-erode_example.png

View File

@ -4,10 +4,7 @@
Asset Browser
*************
This section describes the *Asset Browser*, which is the main interface for organizing and using assets.
The Asset Browser was introduced in Blender 3.0, and will be improved and
expanded over multiple upcoming releases.
The *Asset Browser* is the main interface for organizing and using assets.
.. seealso::
@ -34,49 +31,62 @@ Interface
Main Region
-----------
The main region of the Asset Browser acts similar to the :doc:`/editors/file_browser` built into Blender.
It shows the assets contained in the selected catalog.
The center region of the Asset Browser lists the assets contained in the selected catalog.
Click an asset to select and activate it. Box select by dragging :kbd:`LMB` or
extend the selection with :kbd:`Shift-LMB` to select multiple assets.
Every asset has a context menu.
Click :kbd:`LMB` to select a single asset. Additionally hold :kbd:`Ctrl` to add/remove that asset
to/from the selection, or :kbd:`Shift` to select a range of assets. You can also drag :kbd:`LMB`
to perform a box select.
The region has a context menu with the following operations:
Source List Region
------------------
Refresh Asset Library :kbd:`R`
Refreshes the list.
Clear Asset
See :ref:`bpy.ops.asset.clear`.
Clear Asset (Set Fake User)
See :ref:`assets-clear-set-fake-user`.
Open Blend File
Opens the blend-file containing the asset.
Display Size
Changes the size of the preview thumbnails.
The Source List region can be used for navigating and `Using Assets`_.
Asset Library Region
--------------------
The region on the left lets you select an asset library and shows its catalogs.
You can show/hide this region by pressing :kbd:`T`.
.. _bpy.types.FileAssetSelectParams.asset_library_reference:
Asset Library
Shows the active :doc:`asset library </files/asset_libraries/index>`,
and allows switching between asset libraries.
The :doc:`asset library </files/asset_libraries/introduction>` whose catalogs to show.
:All Libraries: Show assets from all of the listed asset libraries.
:All Libraries: Show catalogs from all available libraries.
:Current File:
Show the assets currently available in this Blender session,
regardless of whether it is part of an asset library or not.
See :ref:`asset-library-current-file` for more information.
:Essentials: Show the basic building blocks and utilities coming with Blender.
Show the catalogs in the current blend-file (even if that file is not yet part of
an asset library). See :ref:`asset-library-current-file` for more information.
:Essentials: Show the catalogs that come bundled with Blender.
Any libraries that you added in the :ref:`File Path Preferences <bpy.types.UserAssetLibrary>`
are listed here too.
.. _bpy.ops.asset.bundle_install:
Copy Asset Bundle to Library
Shown when the Library selector is set to Current File,
the current blend-file file is considered an :ref:`Asset Bundle <asset-bundles>`,
and is not yet located inside any asset library.
Copy Bundle to Asset Library
Shown when *Asset Library* is set to *Current File* and the current blend-file is an
:ref:`asset bundle <asset-bundles>` that's not yet part of an asset library.
The Copy Asset Bundle operator makes it simple to copy the file into the asset library.
The catalogs of the asset bundle will be merged into the asset library.
Lets you select a target asset library, then opens a File Browser in that library's root
folder so you can save the current blend-file there. Once saved, the assets in the blend-file
become available as part of the library.
Catalog
Tree view that shows the :doc:`catalogs </files/asset_libraries/catalogs>` of the active asset library.
Selecting a catalog limits shown assets to assets only from the selected library.
Catalogs
Tree view that shows the :doc:`catalogs </files/asset_libraries/catalogs>` of the selected
asset library. A catalog is a group of assets; when you select one, only the assets in that
catalog and its child catalogs will be listed.
Catalogs can be renamed by double clicking on there name.
Catalogs can also be nested inside others by dragging and dropping one catalog into another.
The "All" catalogs is built-in asset library that contains all other asset libraries.
You can rename a catalog by double-clicking it, or assign it to a different parent catalog
by dragging and dropping.
Add-ons and features like the :doc:`/animation/armatures/posing/editing/pose_library`
can show custom panels here.
@ -88,12 +98,13 @@ can show custom panels here.
Asset Details Region
--------------------
The Asset Details region on the right shows metadata of the active asset.
**Only metadata of assets contained in the current blend-file can be edited**.
The region on the right shows the metadata of the active asset.
You can show/hide this region by pressing :kbd:`N` or clicking the gear icon in the header.
*Only metadata of assets contained in the current blend-file can be edited*.
Name
The asset data-block name. This name is unique for the asset data type within
the same blend-file.
The asset's name. Unique for the asset data type within the same blend-file.
.. _bpy.types.WindowManager.asset_path_dummy:
@ -103,14 +114,24 @@ Source
.. _bpy.ops.asset.open_containing_blend_file:
Open Blend File
This button will start a new Blender instance and open the blend-file that contains the asset.
In the background Blender will keep monitoring that new Blender instance;
when it is quit, the Asset Browser will be refreshed to show any updated assets.
Opens the blend-file that contains the asset in a new Blender instance.
When this instance is closed, the Asset Browser will be automatically refreshed.
.. _bpy.types.AssetMetaData.license:
License
Optional name of the license under which this asset is distributed.
Not used by Blender itself.
.. _bpy.types.AssetMetaData.copyright:
Copyright
Optional copyright notice. Not used by Blender itself.
.. _bpy.types.AssetMetaData.description:
Description
Optional field for the asset description. Not used by Blender itself.
Optional asset description. Not used by Blender itself.
.. _bpy.types.AssetMetaData.author:
@ -126,12 +147,12 @@ Shows the preview image of the asset. See :ref:`asset-previews`.
.. _bpy.ops.ed.lib_id_load_custom_preview:
Load Custom Preview
Opens a window with the File Browser to select an image for the asset preview.
Opens a File Browser where you can select a new image for the asset preview.
.. _bpy.ops.ed.lib_id_generate_preview:
Generate Preview
Generate/update a preview for the asset.
Autogenerate a new preview for the asset.
Preview
Menu of additional preview operators.
@ -139,8 +160,8 @@ Preview
.. _bpy.ops.ed.lib_id_generate_preview_from_object:
Render Active Object
Generates a preview by based on the 3D Viewport's :term:`Active` object.
This is useful for node groups, particularly for geometry nodes,
Generates a preview based on the 3D Viewport's :term:`Active` object.
This is useful for node groups,
which cannot automatically generate their own preview.
@ -152,8 +173,8 @@ Tags
^^^^
Panel for viewing and editing asset tags.
These do not have any meaning to Blender, and can be chosen freely.
When using the search field to filter the assets, those assets whose tags (partially) match
These do not have any meaning to Blender and can be chosen freely.
When using the search field to filter the assets, the assets whose tags (partially) match
the search term will also be shown.
.. note::
@ -168,7 +189,7 @@ Using Assets
============
As a general rule, **an asset can be used by dragging it from the Asset Browser to the desired location**.
Objects and worlds can be dragged from the Asset Browser into the scene,
Objects and worlds can be dragged from the Asset Browser into the scene.
Materials can be dragged onto the object that should use them.
Geometry nodes can also be dragged onto objects to add a :doc:`/modeling/modifiers/generate/geometry_nodes`.
The use of pose assets is different, and is described in :doc:`/animation/armatures/posing/editing/pose_library`.
@ -180,19 +201,20 @@ depending on the following configuration of the Asset Browser:
Import Method
Determines how data is managed when an asset is imported.
This option can be found in the center of the Asset Browser header.
This option can be found in the center of the Asset Browser header
(when an asset library other than *Current File* or *Essentials* is selected):
:Follow Preferences:
Use the import method set in the Preferences.
:Link:
Follow Preferences
Use the import method set in the :ref:`File Path Preferences <bpy.types.UserAssetLibrary.import_method>`.
Link
*Same as* :menuselection:`File --> Link...`
The asset will be linked to the current blend-file, and thus be read-only.
Later changes to the asset file will be reflected in all files that link it in.
:Append:
Later changes to the asset file will be reflected in all files that link it.
Append
*Same as* :menuselection:`File --> Append...`
All of the asset and all its dependencies will be appended to the current file.
The asset and all its dependencies will be copied into the current file.
Dragging a material into the scene three times will result in three independent copies.
Dragging an object into the scene three times will also result in three independent copies.
@ -202,11 +224,11 @@ Import Method
Since the file now has its own copy of the asset, later changes to
the asset file will not be reflected in the file it's appended to.
:Append (Reuse Data):
Append (Reuse Data)
*Specific to the Asset Browser*.
The first time an asset is used, it will be appended, including its dependencies,
just like described previously. However, Blender will keep track of where it originated,
just as described previously. However, Blender will keep track of where it originated,
and the next time the asset is used, as much data as possible will be reused.
Dragging a material into the scene three times will only load it once,
and just assign the same material three times.
@ -224,8 +246,8 @@ Import Method
Some asset types such as collections can be created as an instanced collection.
This is done by enabling the *Instance* option after dragging collection assets into the 3D Viewport.
By enabling this option an empty object is added that uses an instance of the collection.
If this option is disabled then the full collection hierarchy will be added to the scene.
By enabling this option, an empty object is added that uses an instance of the collection.
If this option is disabled, the full collection hierarchy will be added to the scene.
Collection Assets from the current file will always be instanced.
@ -248,16 +270,11 @@ Asset Previews
Preview panel in the Asset Browser.
Preview images are typically automatically generated when you
:ref:`mark a data-block as asset <bpy.ops.asset.mark>`. The auto-generated
preview tries to capture the object from the front. However this only works if
the geometry is laid out so that it matches what Blender considers to be the
front. That is, the geometry that should be the front needs to point down the -Y
axis of the object. The rotation may have to be applied to get the expected
result. Collection assets use the global -Y axis as the front (instead of the
local one, as collections themselves don't have a rotation).
Preview images are typically generated automatically when you :ref:`mark a data-block as an asset <bpy.ops.asset.mark>`.
Objects are captured from their local -Y axis, while collections are captured from the global -Y axis
(as these don't have a local axis).
It's also possible to load image files from drive, to replace the auto-generated previews.
If the auto-generated preview image isn't sufficient, you can replace it by a custom one.
For previews of pose assets, see :ref:`poselib-preview-images`.
@ -274,10 +291,10 @@ files need to be :doc:`packed </files/blend/packed_data>` into the current blend
Asset bundles can be copied to an asset library via the :ref:`Asset Browser <bpy.ops.asset.bundle_install>`:
- Open the asset bundle blend-file.
- Switch its Asset Browser to *Current File* (if it's not set at that already).
- Switch its Asset Browser to *Current File* (if it's not set to that already).
- Click on *Copy Bundle to Asset Library*.
- Choose the asset library to copy it to.
- A File Browser will open, showing the files of the selected asset library.
- A File Browser will open at the root folder of the selected asset library.
Choose the desired location of the blend-file, and click the *Copy to Asset Library* button.
- The blend-file will be saved at the chosen location, and any :doc:`catalogs </files/asset_libraries/catalogs>` of
the asset bundle will be merged into the target asset library.

View File

@ -140,6 +140,12 @@ Summary
Only Show Selected
Only show keyframes belonging to objects/bones/... that are selected.
.. note::
If this option is enabled, the Dope Sheet may not show all :doc:`material </render/materials/introduction>`
keyframes of the selected objects. Instead, it only shows the keyframes belonging to the selected nodes
in the :doc:`/editors/shader_editor`.
Show Hidden
Show keyframes from objects/bones/... that are hidden.
Only Show Errors

View File

@ -8,23 +8,22 @@
File Browser
************
The File Browser is used in all the file-related operations. These include:
The File Browser is used in all file-related operations. These include:
- Opening and saving blend-files.
- Browsing inside other blend-files, when appending or linking data-blocks,
see :doc:`Linked Libraries </files/linked_libraries/index>`.
- Browsing the content of other blend-files when appending or linking data-blocks
(see :doc:`Linked Libraries </files/linked_libraries/index>`).
- Importing from/exporting to other file formats.
- Picking new locations for existing file paths (images, videos, fonts...).
- Updating the locations of previously imported media (images, videos, fonts...).
The most common way to use this editor is through modal operators (like opening or saving a blend-file).
The File Browser will appear in a new window, waiting for the operation to complete,
and then close returning the main window.
The File Browser will appear in a new window, wait for you to select a file, and then close again.
You can use the File Browser as any other editor type, to browse through the file system.
The main purpose of this is to be able to drag-and-drop from the File Browser into other editors.
- Images into the :ref:`editors-3dview-index` (to set as background or apply as material texture).
- Media files into the :doc:`/video_editing/index`.
You can also use the File Browser like a regular, permanently visible editor. In fact,
the predefined Video Editing :doc:`workspace </interface/window_system/workspaces>` uses it this way.
This lets you drag-and-drop media from the browser straight into e.g. the
:doc:`3D Viewport </editors/3dview/introduction>` or the
:doc:`Video Sequencer </editors/video_sequencer/introduction>`, saving you some overhead.
.. figure:: /images/editors_file-browser_editor.png
@ -37,12 +36,8 @@ Interface
Main Region
-----------
The main region of the File Browser acts similar to the file browser built into you operating system.
The region contains an array of files, folders, or internal blend-file data in a grid or list of items.
`Navigating`_, `selecting`_, and `editing`_ of these items works just as it would in your operating system's file
browser.
Hovering over items will show a tooltip with extra information about the file.
The main region lists files, folders, or blend-file contents.
Hovering over an item will show a tooltip with extra information.
.. _file_browser-previews:
@ -57,8 +52,8 @@ In its *Thumbnail* display mode, the File Browser supports many types of preview
- Blend-files
- Internal :doc:`Data-blocks </files/data_blocks>`
In order to get previews for data-blocks, there previews must be generated.
See :doc:`Blend-files Previews </files/blend/previews>` for how to generate and manage Blender data previews.
In order to get previews for data-blocks, these must first be generated.
See :doc:`/files/blend/previews`.
.. figure:: /images/editors_file-browser_previews.png
:align: center
@ -67,24 +62,24 @@ See :doc:`Blend-files Previews </files/blend/previews>` for how to generate and
The File Browser in *Thumbnail* mode.
File Path Region
Directory Region
----------------
The File Path is above the main region and can aid in navigating and adjust how items are displayed.
Above the file list, there's a textbox showing the current folder path, along with buttons for navigating.
.. _bpy.ops.file.previous:
Previous Folder :kbd:`Backspace`, :kbd:`Alt-Left`
Move to previous folder (in navigation history).
Move to previous folder in navigation history.
.. _bpy.ops.file.next:
Next Folder :kbd:`Shift-Backspace`, :kbd:`Alt-Right`
Move to next folder (in navigation history).
Move to next folder in navigation history.
.. _bpy.ops.file.parent:
Parent File :kbd:`P`, :kbd:`Alt-Up`
Parent Directory :kbd:`P`, :kbd:`Alt-Up`
Move up to parent directory.
.. _bpy.ops.file.refresh:
@ -94,30 +89,29 @@ Refresh File List :kbd:`R`, :kbd:`NumpadPeriod`
.. _bpy.ops.file.directory_new:
Create Directory :kbd:`I`
Will ask you to confirm and create a new directory inside current one,
scroll to it in the main view, and let you enter its name.
Create New Directory :kbd:`I`
Create a new directory inside the current one.
.. _bpy.types.FileSelectParams.directory:
File Path :kbd:`Ctrl-L`
Text field for the current folder path.
Directory :kbd:`Ctrl-L`
The current folder path.
:kbd:`Tab` will auto-complete an existing path.
If you type a nonexistent directory path, you will be prompted to create that new directory.
If you type a nonexistent path, you will be prompted to create it.
.. _bpy.types.FileSelectParams.filter_search:
Search :kbd:`Ctrl-F`
Filter items by name.
The wildcard ``*`` will match anything, e.g. ``bl*er`` will match both ``blender`` and ``blogger``.
There is always an implicit wildcard at start and end of the search text,
There is always an implicit wildcard at the start and end of the search text,
so ``blender`` will also match ``test_blender_file.blend``.
This field can also be used to filter some specific file extension (e.g. ``.png`` will list all PNG files).
.. _bpy.types.FileSelectParams.display_type:
Display Mode
Controls how files are displayed.
Control how files are displayed.
:Vertical List: Displays files and folders in a vertical list.
:Horizontal List: Displays files and folders in a horizontal list.
@ -129,18 +123,18 @@ Display Settings
.. _bpy.types.FileSelectParams.display_size:
Display Size
Size
The size of the thumbnails.
.. _bpy.types.FileSelectParams.recursion_level:
Recursion
Recursions
The number of directory levels to show at once in a flat way.
:None: List only the current directory content.
:None: List only the current directory's content.
:Blend File: List the whole content of a blend-file (only available when linking or appending data-blocks).
:One Levels: List all subdirectories' content, one level of recursion.
:Two Levels: List all subdirectories' content, two level of recursion.
:One Level: List all subdirectories' content, one level of recursion.
:Two Levels: List all subdirectories' content, two levels of recursion.
:Three Levels: List all subdirectories' content, three levels of recursion.
.. hint::
@ -149,14 +143,12 @@ Recursion
even if you have arranged them in a nice set of directories to avoid having hundreds of
files in a single place.
In the *Append/Link* case, showing the content of the whole blend-file will allow you
to link different types of data-blocks in a single operation.
In the *Append/Link* case, showing the content of the whole blend-file lets you
link different types of data-blocks in a single operation.
.. warning::
The more levels you show at once, the more time it will take to list them all
(typically, it will be exponential, showing three levels at once
may take three orders of magnitude more time to be fully listed).
The more levels you show at once, the more time it will take to list them all.
.. _bpy.types.FileSelectParams.sort_method:
@ -174,8 +166,8 @@ Sort By
Filter Settings
^^^^^^^^^^^^^^^
On the right side of the file path are the filtering options.
The toggle with the funnel icon controls whether filtering is enabled or not.
The dropdown button next to it shows the filtering options.
File Types
Filters files by categories, like folders, blend-files, images, etc.
@ -194,37 +186,34 @@ Show Hidden :kbd:`H`
Execution Region
----------------
These controls are at the bottom of the editor.
.. _bpy.types.FileSelectParams.filename:
File Name
Text field to edit the file name and extension.
When saving, if the background is red, a file with same name already exists in the folder.
Text field to edit the file name and extension. Turns red to warn you about overwriting an existing file.
:kbd:`Tab` will auto-complete to existing names in the current directory.
Increment Filename ``-``, ``+``
Removes/Decreases or adds/increases a trailing number to your file name
Increase/Decrease Number ``+``, ``-``
Adds/increases or removes/decreases a trailing number in your file name
(used e.g. to store different versions of a file).
.. _bpy.ops.file.cancel:
Cancel :kbd:`Esc`
Cancels the file selection (and the underlying operation), and closes the File Browser.
Using the *Back to Previous* button in the :doc:`Topbar </interface/window_system/topbar>`
will have the same effect.
Closes the File Browser and cancels the operation.
.. _bpy.ops.file.execute:
Confirm :kbd:`Return`
The main button to validate the operation, which defines its name.
Double-clicking on a non-directory item will have the same effect.
Confirm the current directory and file name. You can also double-click a file or data-block
in the main region.
Source List Region
------------------
Quick Access Region
-------------------
The left region displays different ways to quickly access some directories.
The region is divided into separate panels each containing a :ref:`UI List <ui-list-view>` of directories.
Clicking on one of the directories will immediately navigate to that folder.
The region on the left contains a few panels that let you quickly jump to certain directories with a single click.
.. _bpy.types.SpaceFileBrowser.bookmarks:
@ -232,9 +221,7 @@ Clicking on one of the directories will immediately navigate to that folder.
Bookmarks
^^^^^^^^^
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.
A custom list of folders that you use often. You can use the buttons to the right of the list to add/remove/move items.
.. _bpy.types.SpaceFileBrowser.system_bookmarks:
@ -242,7 +229,7 @@ e.g. add/remove an entry, move it up or down in the list, etc.
System
^^^^^^
Contains OS-defined common directories, like the main user folder...
Common directories such as the home directory in Linux or the "Documents" folder in Windows.
.. _bpy.types.SpaceFileBrowser.system_folders:
@ -250,7 +237,7 @@ Contains OS-defined common directories, like the main user folder...
Volumes
^^^^^^^
Contains all OS-defined available volumes, e.g. drives or network mounts.
Drives and network mounts.
.. _bpy.types.SpaceFileBrowser.recent_folders:
@ -258,7 +245,7 @@ Contains all OS-defined available volumes, e.g. drives or network mounts.
Recent
^^^^^^
Contains recently accessed folders.
Recently accessed folders.
.. _bpy.ops.file.reset_recent:
@ -272,7 +259,7 @@ Operator Options Region
-----------------------
The right region shows the options of the calling operator.
Besides common actions listed below, many import/export add-ons will also expose their options there.
Besides the common actions listed below, many import/export add-ons will also expose their options there.
Open, Save, Save As Blender File
See :doc:`/files/blend/open_save`.
@ -290,16 +277,16 @@ Relative Path
Header Region
-------------
The header only contains two menus, one with you standard editor *View* controls
The header only contains two menus, one with the standard editor *View* controls
and the other to list a few `Selecting`_ operators for the sake of discoverability.
Often it is hidden as most of the functionality is contained in the regions described previously.
These menus are not visible when the browser is in a modal window.
Navigating
==========
Entering a Directory
A single :kbd:`LMB` click on a directory enters it.
Entering a Directory :kbd:`Return`
Double-click a directory to enter it.
Parent Directory :kbd:`P`
Takes you up one level of directory.
@ -308,26 +295,24 @@ File Drop
---------
You can also drag and drop a file or directory from your file manager into the Blender File Browser.
This will move it to the directory of the dropped file, and the file will be selected.
This will navigate to the item and select it.
Selecting
=========
Select
Both :kbd:`LMB` and :kbd:`RMB` clicks work.
Holding :kbd:`Shift` will extend the items selection.
(De)select All :kbd:`A`
Toggles selecting all files.
Click :kbd:`LMB` to select a single item. Additionally hold :kbd:`Ctrl` to add/remove that item
to/from the selection, or :kbd:`Shift` to select a range of items.
Dragging
Dragging with :kbd:`LMB` starts a :ref:`box selection <tool-select-box>`.
.. note::
You can always select several entries in the File Browser,
the last selected one is considered as the active one.
You can always select several entries in the File Browser --
the last selected one is considered the active one.
If the calling operation expects a single path (like e.g. the main blend-file *Open* one),
it will get that active item's path, other selected ones will just be ignored.
it will get that active item's path, and the other selected items will be ignored.
Arrow Keys
@ -335,22 +320,19 @@ Arrow Keys
It is also possible to select/deselect files by "walking" through them using the arrow keys:
- Just using an arrow key, the next file in the chosen direction will be selected and all others deselected.
- Holding down :kbd:`Shift` while doing this does not deselect anything so it extends to the selection,
plus it allows to deselect files by navigating into a block
of already selected ones (minimum two files in sequence).
- Holding down :kbd:`Shift-Ctrl` further selects/deselects all files in between.
- Press an arrow key to select the next/previous file in the list and deselect all the others.
- Hold :kbd:`Shift` to keep the current selection (and add to it).
- Hold :kbd:`Shift-Ctrl` to invert the selection as you pass over it.
If no file is selected, the arrow key navigation selects the first or last file in the directory,
depending on the arrow direction.
If you select a directory and hit :kbd:`Return`, you will go into that directory
(and highlighting 'parent' ``..`` entry will bring you up one level).
Editing
=======
The following operations are available in the file list's context menu.
.. _bpy.ops.file.external_operation:
External
@ -375,7 +357,7 @@ External
.. _bpy.ops.file.delete:
Delete Files :kbd:`Delete`, :kbd:`X`
Delete :kbd:`Delete`, :kbd:`X`
Delete the currently selected files or directories by moving them to the operating system's "trash".
Note, on Linux deleting directories requires KDE or GNOME.
@ -383,4 +365,4 @@ Delete Files :kbd:`Delete`, :kbd:`X`
.. _bpy.ops.file.rename:
Rename :kbd:`F2`
Change the name for the currently selected file or directory.
Change the name of the currently selected file or directory.

View File

@ -105,7 +105,7 @@ Copy/Paste
Copy and pastes imaged to/from a computers operating system.
Currently, only PNG files are supported and is only supported on Windows and Linux running Wayland.
Currently, only PNG files are supported and Linux support requires Wayland.
.. _bpy.ops.image.save:

View File

@ -7,7 +7,8 @@
Spreadsheet
***********
The Spreadsheet editor is used to inspect geometry attributes.
The Spreadsheet editor is used to inspect the geometry attributes of the :term:`active` object,
typically in order to debug :doc:`geometry nodes </modeling/geometry_nodes/introduction>`.
.. figure:: /images/editors_spreadsheet_interface.png
:align: center
@ -21,42 +22,45 @@ Header
.. _bpy.types.SpaceSpreadsheet.object_eval_state:
Object Evaluation State
Display the data of an object at different states of its evaluation.
The state for which to display data.
:Evaluated: Display data from the object with all modifiers applied.
:Original: Display data from the original object without any modifiers applied.
:Viewer Node: Display data from the active Viewer node of the active object.
:Viewer Node: Display the data that's fed into the active :doc:`/modeling/geometry_nodes/output/viewer`.
You can also toggle between *Evaluated* and *Viewer Node* by clicking the eye icon in the
Viewer node's header.
.. _bpy.types.SpaceSpreadsheet.display_context_path_collapsed:
Breadcrumbs
The breadcrumbs show three key parts of the path the evaluated object
takes before showing the information in the `Main Region`_.
In the order from left to right, the first item displayed is the :term:`Active` object.
The next two items are displayed when the *Viewer* node evaluation state is chosen.
The first of these next items is the name of the Geometry Nodes modifier,
the last item shown is the name of the active Viewer node.
Shows the name of the active object, and (if *Object Evaluation State* is set to *Viewer Node*)
the name of the Geometry Nodes modifier and the active Viewer node.
Clicking the arrow between items hides the name of the active modifier.
You can click one of the arrows between the names to hide the modifier.
.. _bpy.ops.spreadsheet.toggle_pin:
Toggle Pin
Usually, the editor displays data from the active object.
When an object is pinned, its data remains visible, even if another object becomes active.
Click to "lock" the editor to the currently active object, and have it keep displaying that
object's data even if another object becomes active. Click again to unlock.
.. _bpy.types.SpaceSpreadsheet.show_only_selected:
Selected Only
This option is only available if the object is in Edit Mode.
When checked, only data for the selected mesh elements is shown.
When checked, only data for the selected geometry elements is shown.
.. _bpy.types.SpaceSpreadsheet.use_filter:
Use Filter
Whether to use the filters that are defined in the Sidebar (see below).
Main Region
===========
The main view allows you to view the actual spreadsheet.
Row indices and column names remain visible when scrolling down or to the side.
The main view shows the actual spreadsheet.
Column names and row indices remain visible when scrolling down or to the side.
.. note::
@ -70,35 +74,11 @@ Row indices and column names remain visible when scrolling down or to the side.
Data Set Region
===============
With the Data Set region on the left you can choose which geometry component and geometry domain to view.
For each attribute domain its size is displayed, for example the number of faces.
With region on the left, you can choose what to display data for.
The top tree lets you pick from the hierarchy of geometries, such as a mesh inside an instance.
The bottom tree lets you pick a domain, such as mesh vertices or curve splines.
Mesh
Mesh component containing point, corner, face and edge data.
:Vertex: Display attributes that are stored per vertex.
:Edge: Display attributes that are stored per edge.
:Face: Display attributes that are stored per face.
:Face Corner: Display attributes that are stored per face corner.
Curve
Display curve data which are the attributes on splines and control points.
:Control Point: Display attributes that are stored per control point.
:Spline: Display attributes that are stored per spline.
Point Cloud
Point cloud component containing only point data.
:Point: Display attributes that are stored per point.
Volume Grids
Display OpenVDB volume grid data, each grid will be represented
with the *Grid Name*, the *Data Type*, and the *Class*.
The class can be either of: Fog Volume, Level Set, or Unknown.
Instances
Display which objects and collections are instanced and their transforms.
Each tree item shows the number of elements inside.
Sidebar
@ -106,44 +86,45 @@ Sidebar
.. _bpy.ops.spreadsheet.add_row_filter_rule:
The Sidebar contains row filters, which allow not including rows based on their value.
The *Add Row Filter* button adds a new row filter.
In the Sidebar, you can define filters so that only the rows matching these filters
are displayed. Click *Add Row Filter* and set up the properties described below.
.. _bpy.types.SpaceSpreadsheetRowFilter.enabled:
Enabled
Each row filter can be enabled or disabled. Disabled row filters are grayed out, and aren't used for filtering.
Uncheck to temporarily disable the filter.
.. _bpy.types.SpaceSpreadsheetRowFilter.column_name:
Column
Row filters hide rows based on the values of the selected column.
The choice of name in the Column field determine which column is chosen.
If the column is not currently available, the row filter will be grayed out.
The name of the column to filter on. If there is no column with the specified name,
the filter will be grayed out and ignored.
.. TODO 3.0 relink Attribute Convert node replacement tip:
To filter values based on a geometry attribute on a different domain,
the :doc:`Attribute Convert </modeling/geometry_nodes/attribute/attribute_convert>` node
can be used to move an attribute's values to any of a geometry component's other domains.
If you want to filter on an attribute from another domain, you can use the
:doc:`/modeling/geometry_nodes/attribute/store_named_attribute` to create a copy
that's converted to the current domain, then filter on that.
.. _bpy.types.SpaceSpreadsheetRowFilter.operation:
Operation
For spreadsheet column types besides Boolean columns and name or "string" columns,
it is possible to choose which operation to filter with.
For numerical columns, you can select one of the following comparison operators.
Other columns only support *Equal To*.
:Equal To: Display the row when data values are within the provided threshold from the row filter's value.
:Greater Than: Display the row when data values are greater than the row filter's value.
:Less Than: Display the row when data values are less than the row filter's value.
:Equal To: Only display rows whose value for the column is equal to the filter value
(within the specified threshold).
:Greater Than: Only display rows whose value for the column is greater than the filter value.
:Less Than: Only display rows whose value for the column is less than the filter value.
Value
The filter value to compare the row value to.
.. _bpy.types.SpaceSpreadsheetRowFilter.threshold:
Threshold
The distance from the row filter's value for the equality operation.
How much the row's value is allowed to deviate from the filter value before it is excluded.
Status Bar
==========
The status bar shows how many rows and columns there are and how many have been filtered out.
The status bar shows how many rows and columns there are, and how many rows remain after filtering.

View File

@ -304,6 +304,12 @@ Sync Visible Range
Only Show Selected
Only show keyframes related to the selected items.
This could be objects, bones, nodes, and so on.
.. note::
If this option is enabled, the Timeline may not show all :doc:`material </render/materials/introduction>`
keyframes of the selected objects. Instead, it only shows the keyframes belonging to the selected nodes
in the :doc:`/editors/shader_editor`.
Only Show Errors
Only show curves and drivers that are disabled or have errors.
Useful for debugging.

View File

@ -41,6 +41,8 @@ Keep Shape
When enabled, the smoothing algorithm will try to maintain as close as possible the overall
shape of the original stroke.
Smooth Ends
Smooth the ends of the strokes.
Influence
---------

View File

@ -277,6 +277,7 @@ Face Mark Filtering
-------------------
.. figure:: /images/grease-pencil_modifiers_generate_line-art_face-mark-filtering-panel.png
:align: right
Face Mark Filtering subpanel.
@ -412,12 +413,17 @@ Bake
Bake Line Art
Bakes Line Art strokes for active Grease Pencil object within the *start*, *end* frame range in scene.
Bake Line Art (All) bakes all Grease Pencil objects that contains at least one Line Art modifier.
After baking, baked Line Art modifiers will be deactivated automatically.
Bake All
Bakes all Grease Pencil objects that contains at least one Line Art modifier.
After baking, baked Line Art modifiers will be deactivated automatically.
Clear Baked Line Art
Clears baked line art frames within the scene frame range for active Grease Pencil object.
Clear Baked Line Art (All) applies the same operation for all Grease Pencil objects that
Clear All
Clears baked line art for all Grease Pencil objects that
contains at least one Line Art modifier.
.. warning::

View File

@ -20,10 +20,6 @@ They work by changing how an object is displayed and rendered, but not the geome
You can add several modifiers to a single object forming the modifier stack
and *Apply* a modifier if you wish to make its changes permanent.
.. figure:: /images/grease-pencil_modifiers_introduction_menu.png
Grease Pencil Modifiers menu.
There are four types of modifiers for Grease Pencil:
Edit

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
manual/images/node-types_GeometryNodeMergeLayers.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
manual/images/node-types_GeometryNodeWarning.webp (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="560px" height="110px" viewBox="0.5 0.5 560 110">
<g fill="#FFFFFF">
<rect x="0" y="0" width="560" height="110"/>
</g>
<g stroke="#000">
<rect fill="#FFE76D" x="22" y="52" width="140" height="30" rx="6"/>
<rect fill="#AEC6ED" x="182" y="39" width="80" height="55" rx="6"/>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,5 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="584px" height="170px" viewBox="0.5 0.5 584 170">
<g fill="#FFFFFF">
<rect x="0" y="0" width="584" height="170"/>
</g>
<g stroke="#000">
<g fill="#FFE76D">

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -12,6 +12,7 @@
fill_curve.rst
fillet_curve.rst
interpolate_curves.rst
merge_layers.rst
resample_curve.rst
reverse_curve.rst
subdivide_curve.rst

View File

@ -0,0 +1,46 @@
.. index:: Geometry Nodes; Merge Layers
.. _bpy.types.GeometryNodeMergeLayers:
*****************
Merge Layers Node
*****************
.. figure:: /images/node-types_GeometryNodeMergeLayers.webp
:align: right
:alt: Merge Layers node.
Combines multiple :doc:`Grease Pencil Layers </grease_pencil/properties/layers>` into a single layer.
.. seealso::
:ref:`Merge Layers Operator <bpy.ops.grease_pencil.layer_merge>`
Inputs
======
Grease Pencil
The grease pencil object with multiple layers to combine.
Selection
Operate of a subset of layers by setting the field layer index value to *true*.
By default, all layers are selected.
Group ID
The index numbers of the layer to be merged.
This input is only visible when using *By Group ID* Mode.
Properties
==========
Mode
Determines how to choose which layers are merged.
:By Name: Combine all layers which have the same name.
:By Group ID: Provide a custom group ID for each layer and all layers with the same ID will be merged into one.
Outputs
=======
Grease Pencil
The grease pencil object with combined layers.

View File

@ -1,38 +0,0 @@
.. index:: Geometry Nodes; Curve Handle Position
.. _bpy.types.GeometryNodeInputCurveHandlePositions:
**************************
Curve Handle Position Node
**************************
.. figure:: /images/node-types_GeometryNodeInputCurveHandlePositions.webp
:align: right
:alt: Curve Handle Position node.
The *Curve Handle Position* node outputs the position of each of a Bézier spline's handles.
If the curve does not contain Bézier splines, the node will output zero.
The node to set this data is the :doc:`/modeling/geometry_nodes/curve/write/set_handle_positions`.
Inputs
======
Relative
Output the handle positions relative to the corresponding control point
instead of in the local space of the geometry.
Properties
==========
This node has no properties.
Outputs
=======
Left
The position of the each control point's left handle.
Right
The position of the each control point's right handle.

View File

@ -0,0 +1,38 @@
.. index:: Geometry Nodes; Curve Handle Position
.. _bpy.types.GeometryNodeInputCurveHandlePositions:
***************************
Curve Handle Positions Node
***************************
.. figure:: /images/node-types_GeometryNodeInputCurveHandlePositions.webp
:align: right
:alt: Curve Handle Position node.
Gets the two handle positions of each control point in a Bézier spline.
You can use the :doc:`/modeling/geometry_nodes/curve/write/set_handle_positions`
to change these positions.
Inputs
======
Relative
Output the handle positions relative to the control point
instead of in the local space of the geometry.
Properties
==========
This node has no properties.
Outputs
=======
Left
The position of the control point's left handle.
Right
The position of the control point's right handle.

View File

@ -6,7 +6,7 @@
.. toctree::
:maxdepth: 1
curve_handle_position.rst
curve_handle_positions.rst
curve_length.rst
curve_tangent.rst
curve_tilt.rst

View File

@ -40,8 +40,8 @@ Mode
The final normals are calculated to have the smallest twist around
the curve tangent across the whole curve.
:Z-Up:
The final normals are calculated so that they is perpendicular to the Z axis and the tangent.
If a series of points is vertical, the X axis is used
The final normals are calculated so that they are perpendicular to the Z axis and the tangent.
If a series of points is vertical, the X axis is used.
:Free:
Use the stored custom normal attribute (``custom_normal``) as the final normals.

View File

@ -11,7 +11,7 @@ Set Handle Positions Node
The *Set Handle Positions* node sets the positions for the handles of :ref:`Bézier curves <curve-bezier>`.
They can be used to alter the generated shape of the curve.
The input node for this data is the :doc:`/modeling/geometry_nodes/curve/read/curve_handle_position`.
The input node for this data is the :doc:`/modeling/geometry_nodes/curve/read/curve_handle_positions`.
See the :ref:`Bézier curves <curve-bezier-handle-type>` page for more details.
.. note::

View File

@ -9,8 +9,8 @@ Split To Instances Node
:align: right
:alt: Split to Instance node.
The *Split to Instances* node splits up geometry elements into :doc:`/modeling/geometry_nodes/instances`,
based on a Group ID.
Splits a selection of geometry elements (such as faces) into groups,
then turns each group into an :doc:`instance </modeling/geometry_nodes/instances>`.
Inputs
@ -20,44 +20,48 @@ Geometry
Standard geometry input.
Selection
Boolean field that is true for parts of the geometry to be evaluated.
Parts not in the selection will not be in the node's output.
Boolean field indicating which geometry elements to include.
Group ID
ID field (integer) used to distinguish different groups.
Integer field indicating which group each element belongs to. Elements with the
same ID will be moved into the same output instance.
Properties
==========
Domain
The domain on which the selection and group ID fields are evaluated.
The type of geometry to extract and split.
This is also the domain on which the *Selection* and *Group ID* fields are evaluated.
:Point:
The fields are evaluated on points, control points, and vertices.
Points, spline control points, and vertices.
:Edge:
The fields are evaluated on the edges of the mesh component.
:Faces:
The fields are evaluated on the faces of the mesh component.
Mesh edges.
:Face:
Mesh faces.
:Spline:
The fields are evaluated on the splines in the curve component.
:Instances:
The fields are evaluated on the top-level instances. Realized instances are ignored.
Curve splines.
:Instance:
Top-level instances. Realized instances are ignored.
:Layer:
Grease Pencil layers.
.. note::
When selecting a domain that doesn't modify all components, the unmodified
components will not be present in the output.
Geometry that doesn't match the selected domain will be removed.
For example, if you choose *Edge*, any faces, splines, and instances in the input
geometry will be lost.
Output
======
Instances
input geometry splitted up as instances.
The instances containing the grouped geometry elements.
Group ID
ID field from the input Group ID
Group ID of each instance.
Examples
@ -66,8 +70,10 @@ Examples
.. figure:: /images/modeling_geometry-nodes_geometry_split-to-instances_example.png
:align: center
Here, a grid is split into instances based on a voronoi texture, then translated randomly in Z.
Note that the GroupID field expects different integers values (0, 1, 2, 3…), not floats (0.1, 0.2, 0.3),
which is why the color needs to be multiplied by 1000.
In the example above, we start with a grid of 1000x1000 square faces serving as "pixels."
Then, we group these faces into patches by assigning them a group ID sampled from a Voronoi texture,
and move each resulting instance by a random amount along the Z axis.
Note that, because the texture outputs floating point values between 0 and 1 while the group ID
is an integer, all the values would be rounded to 0 or 1 and we would only get two groups.
To get more variation, we multiply the texture value by 1000.

View File

@ -9,8 +9,8 @@ Extrude Mesh Node
:align: right
:alt: Extrude Mesh node.
The *Extrude Mesh Node* generates new vertices, edges, or faces, on selected geometry
and transforms them based on an offset.
The *Extrude Mesh Node* generates new edges or faces on the selected geometry elements
and moves them by a certain offset.
The operations are similar to the :doc:`extrude tools </modeling/meshes/editing/mesh/extrude>`
in mesh edit mode, though there are some differences. Most importantly, the node never keeps the back-faces
@ -24,27 +24,23 @@ Mesh
Standard geometry input.
Selection
Whether to extrude each element.
True values mean elements will be extruded, false values mean elements will remain unchanged.
A boolean field indicating which elements should be extruded.
Offset
The amount to translate the new geometry on each axis. The default value of the "Offset" input
is the mesh's :doc:`normals </modeling/geometry_nodes/geometry/read/normal>`. To change the distance,
the *Scale* input can be used. However, when an input is computed for this directly, the length
of the input vectors is used.
The translation vector for each extruded element. By default, this is the element's
:doc:`normal </modeling/geometry_nodes/geometry/read/normal>`.
.. tip::
Because the default input is the mesh's normals, they may need to be calculated just for this node.
If the extrusion is only in one direction anyway, a potential performance improvement is to connect
a :doc:`/modeling/geometry_nodes/input/constant/vector` instead.
If all the elements are extruded in the same direction, you may be able to improve performance
by connecting a :doc:`/modeling/geometry_nodes/input/constant/vector` to this input,
thereby skipping the normal calculation.
Scale
The factor used to scale elements or groups of elements.
Offset Scale
Scaling factor for the above translation vector.
Individual :guilabel:`Face Mode Only`
Whether to extrude each face individually rather than extruding connected groups of faces together as regions.
A quad side face will be generated on each side of every selected face.
Whether to extrude each face individually rather than extruding connected groups of faces together.
Properties
@ -52,16 +48,16 @@ Properties
Mode
:Vertices:
This mode is quite simple, it just attaches new edges and vertices to the selected vertices.
Attaches a new freestanding edge to each selected vertex.
:Edges:
Attach new quad faces to the selected edges. Vertices shared by the
original selected vertices are also shared in the duplicated edges.
Attaches a new quad face to each selected edges. Vertices shared by the
original selected edges are also shared in the duplicated edges.
.. note::
Depending on the situation, the normals of the new faces may be arbitrary. If the selected
edges only have one selected face, then the node can pick a consistent orientation for the
edges each have only one connected face, then the node can pick a consistent orientation for the
new faces, but if there is more than one connected face, or no connected faces, the normals
may have to be adjusted afterwards.
@ -70,9 +66,9 @@ Mode
depending on the *Individual* boolean input.
When the *Individual* input is false, the node will find regions of connected faces and generate
new "side" faces on the boundaries of those regions. If the whole mesh is selected and it is already
a :term:`Manifold` shape, then result will just be that the whole mesh moves. Any vertices, edges
or faces on the *inside* of the face regions are just moved, they are not duplicated.
new "side" faces on the boundaries of those regions. Any vertices, edges or faces on the *inside*
of the regions simply are moved, not duplicated. If the whole mesh is selected and it is already
a :term:`Manifold` shape, then the result will just be that the whole mesh gets resized.
Output
@ -82,15 +78,12 @@ Mesh
Standard geometry output.
Top
A boolean field output containing the top new top geometry. The :ref:`domain <attribute-domains>`
depends on the selected mode. In *Vertex* mode, this is a selection of the new vertices.
In *Edge* mode, this is a selection of the duplicated edges
and in *Face* mode, it is a selection of the new faces.
A boolean field indicating the "top" elements in the extrusion. In *Vertex* mode, these are the new vertices;
in *Edge* mode, the new edges; and in *Face* mode, the moved faces.
Side
A boolean field output containing the "side" of the new geometry. In *Vertex* mode, it selects
the new edges, in *Edge* mode, the new faces, and in *Face* mode, the new side faces are selected,
which are all of the new faces that aren't in the *Top* selection.
A boolean field indicating the "side" elements in the extrusion. In *Vertex* mode, these are the new edges;
in *Edge* mode, the new faces; and in *Face* mode, too, the newly generated faces (as opposed to the moved ones).
Examples
@ -100,7 +93,7 @@ Examples
:align: center
Here, the selection outputs are used to set materials on certain faces of the mesh.
A :doc:`/modeling/geometry_nodes/utilities/random_value` node can be used to limit the
A :doc:`/modeling/geometry_nodes/utilities/random_value` is used to limit the
extrusion to a random set of faces.
@ -126,7 +119,7 @@ Vertex Mode
The new edges created in vertex mode use the average value of all connected edges.
* New **vertices** have copied values from their original vertices
* New **vertices** have copied values from their original vertices.
* New **edges** have the average value of any connected original edges.
For boolean attributes, edges are selected if any connected edges were selected.

View File

@ -44,13 +44,13 @@ Operation
Solver
Algorithm used to calculate the Boolean intersections.
:Fast:
:Float:
Uses a mathematically simple solver which offers the best performance;
however, this solver lacks support for overlapping geometry.
:Exact:
Uses a mathematically complex solver which offers the best results
and has full support for overlapping geometry;
however, this solver is much slower than the *Fast Solver*.
however, this solver is much slower than the *Float Solver*.
Output

View File

@ -9,29 +9,27 @@ Scale Elements Node
:align: right
:alt: Scale Elements node.
The *Scale Elements Node* scales groups of connected edges and faces.
When multiple selected faces/edges share the same vertices, they are scaled together.
The center and scaling factor is averaged in this case.
Scales the selected faces or edges, letting you specify a scaling factor and pivot point for each one.
Connected faces/edges are scaled together using their average factor and pivot point.
Inputs
======
Mesh
Geometry
Standard geometry input.
Selection
Whether to scale each edge or face.
True values mean the element will be scaled, false means it will be unaffected.
Boolean field indicating which elements to scale.
Scale
The factor used to scale elements or groups of elements.
The scaling factor for each element.
Center
Origin of the scaling for each element. If multiple elements are connected, their center is averaged.
The pivot point for each element.
Axis :guilabel:`Single Axis Mode Only`
Axis in which to scale the element. This input is normalized internally, so the length does not matter.
Axis along which to scale each element. This vector is normalized internally, so the length does not matter.
Properties
@ -40,18 +38,18 @@ Properties
Domain
The element type to transform.
:Face: Scale individual faces or neighboring face islands.
:Edge: Scale individual edges or neighboring edge islands.
:Face: Scale faces.
:Edge: Scale edges.
Scale Mode
:Uniform: Scale elements by the same factor in every direction.
:Single Axis: Scale elements in a single direction defined by the *Direction* input.
:Single Axis: Scale elements in a single direction defined by the *Axis* input.
Output
======
Mesh
Geometry
Standard geometry output.
Examples
@ -61,4 +59,4 @@ Examples
:align: right
The node is useful when combined with the :doc:`/modeling/geometry_nodes/mesh/operations/extrude_mesh`,
especially in *Individual* mode, where face islands don't need to be scaled together.
especially in *Individual* mode where connected faces aren't extruded together.

View File

@ -9,27 +9,28 @@ Cone Node
:align: right
:alt: Cone node.
The *Cone* node generates a cone mesh that is optionally truncated.
Generates a cone mesh that is optionally truncated.
Inputs
======
Vertices
Number of points on the circle at the top and bottom.
Number of vertices in the top and/or bottom circle of the cone.
No geometry is generated if the number is below three.
Side Segments
Number of edges running vertically along the side of the cone.
Number of vertically stacked face loops that make up the cone's sides.
Increasing this will add horizontal cuts.
No geometry is generated if the number is below one.
Fill Segments
Number of concentric rings used to fill the round faces at the top and bottom.
Number of concentric rings in the top and/or bottom.
No geometry is generated if the number is below one.
Radius Top
The distance of the vertices in the top circle from the Z axis.
If this is zero, the vertices in the circle are merged into one.
The radius of the cone's top circle.
If this is zero, the circle is reduced to a single vertex.
Radius Bottom
Same as *Radius Top* but for the bottom circle.
@ -39,7 +40,7 @@ Depth
.. note::
If the top and bottom radii are zero, this node will output a single line.
If the top and bottom radii are both zero, this node will output a single line.
Properties
@ -49,8 +50,8 @@ Fill Type
How the circles at the top and bottom are filled with faces when their radius is larger than zero.
:None: Do not fill the circles.
:N-Gon: Fill the innermost segment of the circles with a single face.
:Triangles: Fill the innermost segment of the circles with triangles connected to a new vertex on the Z axis.
:N-Gon: Fill the innermost circles with a single face.
:Triangles: Fill the innermost circles with triangles connected to a vertex in the center.
Outputs
@ -60,20 +61,18 @@ Mesh
Standard geometry output.
Top
A boolean attribute field with a selection of the faces on the top of the cone. If the *Fill Type*
property is set to none, then this will be a selection of the top edges instead. If *Radius Top*
A boolean field with a selection of the faces on the top of the cone. If the *Fill Type*
is set to *None*, this will be a selection of the top edges instead. If *Radius Top*
is zero, this will be a selection of the top vertex.
Side
A boolean attribute field with a selection of the faces on the side of the cone.
A boolean field with a selection of the faces on the side of the cone.
Bottom
A boolean attribute field with a selection of the faces on the bottom of the cone. If the *Fill Type*
property is set to none, then this will be a selection of the bottom edges instead. If *Radius Bottom*
A boolean field with a selection of the faces on the bottom of the cone. If the *Fill Type*
is set to *None*, this will be a selection of the bottom edges instead. If *Radius Bottom*
is zero, this will be a selection of the bottom vertex.
UV Map
A 2D vector representing the default X/Y coordinates of the :term:`UV Map` for the primitive's shape.
This can be connected to the :doc:`/modeling/geometry_nodes/attribute/store_named_attribute`,
to be used once the Geometry Nodes Modifier get applied.
The UV map must be stored on the face corner in order to be accessed.
The default UV coordinate of each face corner. This can be connected to the
:doc:`/modeling/geometry_nodes/attribute/store_named_attribute` for populating a :term:`UV Map`.

View File

@ -14,7 +14,7 @@ The cost used to define "shortest" can be set to anything. By default there is a
for every edge, but a typical input would be the length of each edge.
The output is encoded with vertex indices, and is meant to be used on the vertex domain.
For each vertex, the *Next Vertex Input* output stores the index of the following vertex
For each vertex, the *Next Vertex Index* output gives the index of the following vertex
in the path to the "closest" endpoint.
The node is implemented with `Dijkstra's algorithm <https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm>`__.
@ -59,4 +59,4 @@ Next Vertex Index
(as defined by the cost input).
Total Cost
The remaining cost before an end vertex is reached by following the next vertex indices
The remaining cost before an end vertex is reached.

View File

@ -8,4 +8,5 @@ Nodes that output to outside the node tree.
.. toctree::
:maxdepth: 1
warning.rst
viewer.rst

View File

@ -0,0 +1,36 @@
.. index:: Geometry Nodes; Warning
.. _bpy.types.GeometryNodeWarning:
************
Warning Node
************
.. figure:: /images/node-types_GeometryNodeWarning.webp
:align: right
:alt: Warning Node.
Outputs a custom message that can be referenced in the
:ref:`modifiers-geometry-nodes-warnings` panel of the Geometry Nodes Modifier.
This allows node groups to communicate expectations about input values.
Inputs
======
Show
Present the warning in the :ref:`modifiers-geometry-nodes-warnings` panel.
Properties
==========
Warning Type
The type of message to display, the type affects the icon displayed.
Outputs
=======
Show
A passthrough of the *Show* input.

View File

@ -59,7 +59,7 @@ Trailing
The running total of values in the corresponding group, starting at zero.
Total
The total of all of the values in the corresponding group
The total of all the values in the corresponding group.
Examples
@ -85,7 +85,7 @@ Table
+-------+-------------+---------+----------+-------+
A few examples of input values and the node's results. One important take-away from this table
is that the specific values for the *Group Input* does not matter; it only matters that the
is that the specific values for the *Group Input* do not matter; it only matters that the
values are shared between elements.
Stacking Boxes

View File

@ -9,8 +9,7 @@ Invert Matrix Node
:align: right
:alt: Invert Matrix node.
The *Invert Matrix* node returns the mathematical
`inverse matrix <https://mathworld.wolfram.com/MatrixInverse.html>`__.
Returns the `inverse <https://mathworld.wolfram.com/MatrixInverse.html>`__ of the given matrix.
Inputs
@ -32,11 +31,11 @@ Outputs
Matrix
The inverted matrix.
Invertible
Returns true if the matrix cannot be inverted.
For example. this can happen when a transformation matrix has a scale of zero.
Returns whether the matrix could be inverted.
This can be false when a transformation matrix has a scale of zero, for example.
See `Invertible matrix <https://en.wikipedia.org/wiki/Invertible_matrix>`__ for more information.
.. important::
When a matrix is invertible, the `identity matrix <https://en.wikipedia.org/wiki/Identity_matrix>`__
When a matrix is not invertible, the `identity matrix <https://en.wikipedia.org/wiki/Identity_matrix>`__
is returned.

View File

@ -9,17 +9,21 @@ Project Point Node
:align: right
:alt: Project Point node.
The *Project Point* node projects a position vector using a :term:`Transformation Matrix`,
using location, rotation, scale, and perspective divide.
Applies a projection matrix to a point. Specifically, this node turns the given
Euclidean vector (X, Y, Z) into the homogeneous vector (X, Y, Z, 1),
multiplies the given projection matrix by it,
and turns the resulting homogeneous vector back into a Euclidean one by dividing
it by the absolute value of its W component. This last step is also known as
perspective division.
Inputs
======
Vector
The position vector vector to transform.
The position vector to project.
Transformation
The transformation matrix.
The projection matrix.
Properties

View File

@ -0,0 +1,43 @@
.. index:: Geometry Nodes; Axis to Rotation
.. _bpy.types.FunctionNodeAxesToRotation:
*********************
Axes to Rotation Node
*********************
.. figure:: /images/node-types_FunctionNodeAxesToRotation.webp
:align: right
:alt: Axis to Rotation node.
Creates a rotation based on two axis directions.
.. tip::
In many cases, these directions are a normal and tangent on a mesh or curve.
Inputs
======
Primary Axis
The desired direction of the primary axis.
Secondary Axis
The desired direction of the secondary axis. Ideally, this is orthogonal to the primary direction.
Properties
==========
Primary Axis
The axis (X, Y or Z) that should be aligned exactly to the primary direction.
Secondary Axis
The axis that should be aligned as closely as possible to the secondary direction.
Outputs
=======
Rotation
The rotation that results in the given axes being aligned to the given directions.

View File

@ -1,47 +0,0 @@
.. index:: Geometry Nodes; Axis to Rotation
.. _bpy.types.FunctionNodeAxesToRotation:
*********************
Axis to Rotation Node
*********************
.. figure:: /images/node-types_FunctionNodeAxesToRotation.webp
:align: right
:alt: Axis to Rotation node.
The *Axis to Rotation* node creates a rotation from a primary and secondary axis.
The node rotates one axis (X, Y, or Z) to the given primary axis direction.
Then it rotates around that primary direction to align the second axis to the given secondary direction.
Ideally, both input axes are orthogonal.
.. tip::
In many cases, the primary and secondary axis inputs are a normal and tangent of a mesh or curve.
Inputs
======
Primary Axis
The amount of rotation around the primary axis.
Secondary Axis
The amount of rotation around the secondary axis.
Properties
==========
Primary Axis
Axis that is aligned exactly to the provided primary direction.
Secondary Axis
Axis that is aligned as well as possible given the alignment of the primary axis.
Outputs
=======
Rotation
Standard rotation value.

View File

@ -7,7 +7,7 @@
:maxdepth: 1
align_rotation_to_vector.rst
axis_to_rotation.rst
axes_to_rotation.rst
axis_angle_to_rotation.rst
euler_to_rotation.rst
invert_rotation.rst

View File

@ -9,33 +9,31 @@ Rotate Rotation Node
:align: right
:alt: Rotate Euler node.
The *Rotate Rotate Rotation* node applies an additional rotation amount to a rotation value.
The *Rotate Rotation* node applies an additional rotation to a given one.
To rotate a :term:`Euler Rotation`, first use the :doc:`/modeling/geometry_nodes/utilities/rotation/euler_to_rotation`
To rotate an :term:`Euler Rotation`, first use the :doc:`/modeling/geometry_nodes/utilities/rotation/euler_to_rotation`.
Inputs
======
Rotation
The rotation to rotate.
The starting rotation.
Rotate By
Specifies how much a rotation is rotated.
The additional rotation.
Properties
==========
Space
Base orientation for the rotation.
:Global: Rotate a rotation in :term:`Global Space`.
:Local: Rotate a rotation in :term:`Local Space`.
:Global: Rotate in :term:`Global Space`.
:Local: Rotate in :term:`Local Space`.
Outputs
=======
Rotation
The rotated rotation.
The resulting rotation.

View File

@ -9,14 +9,14 @@ Rotation to Quaternion Node
:align: right
:alt: Rotation to Quaternion node.
The *Rotation to Quaternion* node converts a standard rotation socket value to a
:ref:`quaternion rotation <quaternion mode>` rotation.
The *Rotation to Quaternion* node converts a standard rotation value to a
:ref:`quaternion rotation <quaternion mode>`.
Inputs
======
Rotation
Standard rotation socket value.
Standard rotation value.
Outputs

View File

@ -18,14 +18,18 @@ Inputs
Value
Floating-point value to be converted.
Decimals
Decimals :guilabel:`Float Data Type`
Integer value used to determine the precision of the output value.
Properties
==========
This node has no properties.
Data Type
The type of numerical value to convert to a string.
:Float: Convert a floating-point value to a string.
:Integer: Convert a 32-bit integer to a string.
Outputs

View File

@ -42,6 +42,17 @@ Inputs
node the input is connected to.
.. _modifiers-geometry-nodes-warnings:
Warnings
--------
Nodes that show a warning message in the node editor will also show that message here.
Custom warning messages can be created using the :doc:`/modeling/geometry_nodes/output/warning`.
Output Attributes
-----------------

View File

@ -17,7 +17,7 @@ When moving, rotating or scaling, if you only want certain axes to be affected,
you can restrict the transformation to those axes.
By default the constraint keys are :kbd:`X`, :kbd:`Y` and :kbd:`Z`.
This constraint can be restricted to plane if :kbd`Shift`
This constraint can be restricted to a plane if :kbd:`Shift`
is pressed or automatically detected if :kbd:`MMB` is pressed.
It is worth noting that if you press the same contraint hotkey a second time,

View File

@ -68,43 +68,31 @@ Edit the Simulation
Switch to *Particle Edit* from the *Mode* select menu in the header of the 3D Viewport
to edit the particle's paths/Keyframes. You may need to press :kbd:`T` from within the 3D Viewport
to see the *Particle Edit* panel. Move to the frame you want to edit and use the various *Particle Edit*
tools to edit your simulation. Work slowly, previewing your changes with :kbd:`Alt-A`,
and save often so that you can go back to the previous version should something happen,
or that you do not like the latest changes you have made.
.. tip:: To be able to clearly see what you are working on:
#. Open the Options panel in the Toolbar.
#. Select *Point select mode* (see below) in the header of the 3D Viewport.
This will display key points along the particle path.
to see the *Particle Edit* toolbox. Move to the frame you want to edit and use the various
tools to edit your simulation.
.. _particle-edit-selecting:
Selecting
=========
- Single: :kbd:`LMB`.
.. tip::
Switch to the *Point select mode* (see below) in the header of the 3D Viewport to be able to
see and select the keypoints.
- Select single: :kbd:`LMB`.
- Add to/remove from selection: :kbd:`Shift-LMB`.
- All: :kbd:`A`.
- None :kbd:`Alt-A`
- Invert :kbd:`Ctrl-I`
- None: :kbd:`Alt-A`.
- Invert: :kbd:`Ctrl-I`.
- Box select: :kbd:`B`.
- Circle Select :kbd:`C`.
- Lasso Select :kbd:`Ctrl-Alt-LMB`.
- Select Linked: Move the mouse over a keypoint and press :kbd:`L`.
- Circle Select: :kbd:`C`.
- Lasso Select: :kbd:`Ctrl-Alt-LMB`.
- Select Linked: Move the mouse over a path and press :kbd:`L` to add all its points to the selection.
- Unselect Linked: Move the mouse over a path and press :kbd:`Shift-L` to remove all its points
from the selection.
- Root/Tips: :menuselection:`Select --> Roots / Tips`.
.. tip:: Selections
Selections are extremely useful for modifying only the particles that you want.
Hover over a particle path and press :kbd:`L` to link-select it,
hover over the next and press :kbd:`L` to add that path to the selection.
To remove a path, hold :kbd:`Shift` and press :kbd:`L`. To Deselect all press :kbd:`A`.
The method to select individual points is the same as in Edit Mode.
:kbd:`RMB` to select, :kbd:`Shift-RMB` to add/remove a point from the selection.
.. _bpy.ops.particle.select_random:

View File

@ -86,7 +86,7 @@ Lasso Mask
:Mode: Sculpt Mode
:Menu: :menuselection:`Mask --> Lasso Mask`
:Shortcut: :kbd:`Shift-Ctrl-LMB`
:Shortcut: :kbd:`Ctrl-RMB`
Can be used to create a free-form mask, similar to the :ref:`Lasso Mask <tool-lasso-mask>` tool.
This is very commonly used.