UI: Reorganize 'Select' menus in editors #104848

Merged
116 changed files with 1180 additions and 567 deletions
Showing only changes of commit 0c8e99f2d0 - Show all commits

View File

@ -243,3 +243,9 @@ RedirectMatch "^/manual/{lang}/{version}/editors/nla/editing.html" "^/manual/{la
RedirectMatch "^/manual/{lang}/{version}/render/shader_nodes/shader/anisotropic.html" "^/manual/{lang}/{version}/render/shader_nodes/shader/glossy.html" RedirectMatch "^/manual/{lang}/{version}/render/shader_nodes/shader/anisotropic.html" "^/manual/{lang}/{version}/render/shader_nodes/shader/glossy.html"
RedirectMatch "^/manual/{lang}/{version}/files/import_export.html" "^/manual/{lang}/{version}/files/import_export/index.html" RedirectMatch "^/manual/{lang}/{version}/files/import_export.html" "^/manual/{lang}/{version}/files/import_export/index.html"
RedirectMatch "^/manual/{lang}/{version}/render/eevee/light_probes/introduction.html" "^/manual/{lang}/{version}/render/eevee/light_probes/index.html"
RedirectMatch "^/manual/{lang}/{version}/movie_clip/introduction.html" "^/manual/{lang}/{version}/movie_clip/index.html"
RedirectMatch "^/manual/{lang}/{version}/getting_started/about/introduction.html" "^/manual/{lang}/{version}/getting_started/about/index.html"
RedirectMatch "^/manual/{lang}/{version}/animation/armatures/bones/properties/introduction.html" "^/manual/{lang}/{version}/animation/armatures/bones/properties/index.html"
RedirectMatch "^/manual/{lang}/{version}/advanced/command_line/introduction.html" "^/manual/{lang}/{version}/advanced/command_line/index.html"

View File

@ -27,7 +27,7 @@ for specific instructions on launching Blender from the command line.
Launching from the Command Line Launching from the Command Line
================================ ===============================
.. toctree:: .. toctree::
:hidden: :hidden:

View File

@ -10,6 +10,7 @@ For example in an animation studio or for school courses.
This page contains tips setting up Blender in such environments. This page contains tips setting up Blender in such environments.
Installing Blender Installing Blender
================== ==================
@ -23,18 +24,21 @@ change the results of production files. For a given project, it is
advisable to use a single :abbr:`LTS (Long-Term-Support)` version advisable to use a single :abbr:`LTS (Long-Term-Support)` version
of Blender. LTS versions receive bug fixes for two years. of Blender. LTS versions receive bug fixes for two years.
Working Offline Working Offline
=============== ===============
For security or other reasons, workstation may not have internet access. For security or other reasons, workstation may not have internet access.
By default Blender does not access the internet, however this can be By default Blender does not access the internet, however this can be
enabled in the System preferences with the Online Access option. enabled in the System preferences with the
:ref:`Online Access <bpy.types.PreferencesSystem.use_online_access>` option.
Working offline can be enforced by running with the ``--offline-mode`` Working offline can be enforced by running with the ``--offline-mode``
:ref:`command line argument <command-line-args-network-options>`. Users :ref:`command line argument <command-line-args-network-options>`. Users
will then be unable to enable online access in the preferences. will then be unable to enable online access in the preferences.
.. _deploying-blender-bundling: .. _deploying-blender-bundling:
Bundling Extensions Bundling Extensions
@ -65,6 +69,7 @@ In the Extensions preferences, it's possible to manually set a custom
directory of the default System repository and to create multiple directory of the default System repository and to create multiple
repositories. repositories.
Bundling Scripts Bundling Scripts
================ ================
@ -79,6 +84,7 @@ These script directories are expected to contain specific directories
like ``presets``, ``addons`` and ``startup`` for different types of like ``presets``, ``addons`` and ``startup`` for different types of
scripts. See :ref:`blender-directory-path-layout` for a complete list. scripts. See :ref:`blender-directory-path-layout` for a complete list.
Startup Scripts Startup Scripts
--------------- ---------------
@ -103,6 +109,7 @@ For example, a script can enable add-ons for every user.
if __name__ == "__main__": if __name__ == "__main__":
register() register()
Application Templates Application Templates
--------------------- ---------------------
@ -117,6 +124,7 @@ The files are expected to be placed in the system script directories like this:
$BLENDER_SYSTEM_SCRIPTS/startup/bl_app_templates_system/MyTemplate/__init__.py $BLENDER_SYSTEM_SCRIPTS/startup/bl_app_templates_system/MyTemplate/__init__.py
$BLENDER_SYSTEM_SCRIPTS/startup/bl_app_templates_system/MyTemplate/startup.blend $BLENDER_SYSTEM_SCRIPTS/startup/bl_app_templates_system/MyTemplate/startup.blend
Legacy Add-ons Legacy Add-ons
-------------- --------------
@ -138,6 +146,7 @@ Blender follows the `VFX reference platform <https://vfxplatform.com>`_,
which means it is able to run on the same systems as other VFX software which means it is able to run on the same systems as other VFX software
and exchange image, volume and scene files with them. and exchange image, volume and scene files with them.
Python Version Python Version
-------------- --------------

View File

@ -44,10 +44,12 @@ This option is controlled by Preferences, which can be overriding via command-li
(``--offline-mode`` / ``--online-mode``). (``--offline-mode`` / ``--online-mode``).
For better error messages, you can check also for ``bpy.app.online_access_overriden``, For better error messages, you can check also for ``bpy.app.online_access_overriden``,
to determine whether users can turn ``Allow Online Access`` on the preferences, or not. to determine whether users can turn :ref:`Allow Online Access <bpy.types.PreferencesSystem.use_online_access>`
on the preferences, or not.
Blender itself doesn't block internet access based on this setting. It is up to the add-ons to respect it. Blender itself doesn't block internet access based on this setting. It is up to the add-ons to respect it.
Bundle Dependencies Bundle Dependencies
=================== ===================
@ -72,6 +74,7 @@ Bundle with `Vendorize <https://pypi.org/project/vendorize>`__
This has the advantage of avoiding version conflicts although it requires some work to setup each package. This has the advantage of avoiding version conflicts although it requires some work to setup each package.
.. This section is reference for legacy add-on installation. .. This section is reference for legacy add-on installation.
.. _bpy.ops.preferences.addon_install: .. _bpy.ops.preferences.addon_install:
@ -88,6 +91,7 @@ Preferences.
All add-on maintainers are urged to convert the add-ons they want to share, so they are future proof and can support All add-on maintainers are urged to convert the add-ons they want to share, so they are future proof and can support
features like updating from the extensions platform. features like updating from the extensions platform.
Converting a Legacy Add-on into an Extension Converting a Legacy Add-on into an Extension
-------------------------------------------- --------------------------------------------
@ -103,6 +107,7 @@ Converting a Legacy Add-on into an Extension
For testing it is import to :doc:`install the extension from disk </editors/preferences/extensions>` and check if For testing it is import to :doc:`install the extension from disk </editors/preferences/extensions>` and check if
everything is working well. This will get you as close to the final experience as possible. everything is working well. This will get you as close to the final experience as possible.
Extensions and Namespace Extensions and Namespace
------------------------ ------------------------
@ -114,6 +119,7 @@ For example, now instead of ``kitsu`` the module name would be ``bl_ext.{reposit
This has a few implications for preferences and module imports. This has a few implications for preferences and module imports.
User Preferences and ``__package__`` User Preferences and ``__package__``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -119,7 +119,7 @@ usage::
blender --command extension install-file [-h] -r REPO [-e] [--no-prefs] blender --command extension install-file [-h] -r REPO [-e] [--no-prefs]
FILE FILE
Install a package file into a local repository. Install a package file into a user repository.
positional arguments: positional arguments:
:FILE: The packages file. :FILE: The packages file.
@ -238,7 +238,7 @@ usage::
blender --command extension build [-h] [--source-dir SOURCE_DIR] blender --command extension build [-h] [--source-dir SOURCE_DIR]
[--output-dir OUTPUT_DIR] [--output-dir OUTPUT_DIR]
[--output-filepath OUTPUT_FILEPATH] [--output-filepath OUTPUT_FILEPATH]
[--verbose] [--split-platforms] [--verbose]
Build a package in the current directory. Build a package in the current directory.
@ -256,6 +256,11 @@ options:
The package output filepath (should include a ``.zip`` extension). The package output filepath (should include a ``.zip`` extension).
Defaults to a name created using the ``id`` from the manifest. Defaults to a name created using the ``id`` from the manifest.
--split-platforms Build a separate package for each platform.
Adding the platform as a file name suffix (before the extension).
This can be useful to reduce the upload size of packages that bundle large
platform-specific modules (``*.whl`` files).
--verbose Include verbose output. --verbose Include verbose output.
.. _command-line-args-extension-validate: .. _command-line-args-extension-validate:
@ -286,6 +291,8 @@ Subcommand: ``server-generate``
usage:: usage::
blender --command extension server-generate [-h] --repo-dir REPO_DIR blender --command extension server-generate [-h] --repo-dir REPO_DIR
[--html]
[--html-template HTML_TEMPLATE_FILE]
Generate a listing of all packages stored in a directory. Generate a listing of all packages stored in a directory.
This can be used to host packages which only requires static-file hosting. This can be used to host packages which only requires static-file hosting.
@ -293,3 +300,12 @@ This can be used to host packages which only requires static-file hosting.
options: options:
-h, --help show this help message and exit -h, --help show this help message and exit
--repo-dir REPO_DIR The remote repository directory. --repo-dir REPO_DIR The remote repository directory.
--html Create a HTML file (``index.html``) as well as the repository JSON
to support browsing extensions online with static-hosting.
--html-template HTML_TEMPLATE_FILE
An optional HTML file path to override the default HTML template with your own.
The following keys will be replaced with generated contents:
- ``${body}`` is replaced the extensions contents.
- ``${date}`` is replaced the creation date.

View File

@ -0,0 +1,37 @@
****************************************
Creating a Dynamic Extensions Repository
****************************************
If you plan to setup a dynamic extensions repository, read first about :doc:`static repositories <static_repository>`.
The expected format for how to list all the packages is the same, and should be used as a starting point.
Multiple Versions
=================
When Blender fetches the extensions listing it passes the following arguments to make sure only
compatible extensions are listed:
- ``platform``
- ``blender_version``
This means that servers have the chance to handle these arguments to output a single entry per-extension on the listing.
These arguments are passed as parameters to the server via a query URL:
:URL: ``https://extensions.blender.org/api/v1/extensions/``
:query URL: ``https://extensions.blender.org/api/v1/extensions/?blender_version=4.2.0&platform=linux-x64``
Access Token
============
Some repositories may require authentication. The user can specify an ``access token`` for a repository,
which is passed along with the API request from Blender.
This is passed to the servers via an Authorization header:
.. code-block:: sh
curl -i https://extensions.blender.org/api/v1/extensions/ \
-H "Accept: application/json" \
-H "Authorization: Bearer abc29832befb92983423abcaef93001"

View File

@ -0,0 +1,28 @@
*********************************
Creating an Extensions Repository
*********************************
Third party sites that wish to support extensions in Blender can do so in two ways:
#. Fork the entire `Extensions Website <https://projects.blender.org/infrastructure/extensions-website>`__
as a start point; or
#. Host a :doc:`JSON file <static_repository>` listing all the packages of your repository; or
#. Serve the JSON file :doc:`dynamically <dynamic_repository>`.
Repository Types
================
.. toctree::
:maxdepth: 1
Static Repository <static_repository.rst>
Dynamic Repository <dynamic_repository.rst>
Tags and Translations
=====================
If you are planning to use a different set of :doc:`tags <../tags>` than the ones used by Blender Extensions Platform,
remember to submit a pull request to
`tags.py <https://projects.blender.org/blender/blender/src/scripts/modules/_bpy_internal/extensions/tags.py>`__.
This way they can be shown translated within Blender.

View File

@ -0,0 +1,70 @@
***************************************
Creating a Static Extensions Repository
***************************************
To host your own extensions and leverage Blender update system all that is required is a static JSON file on a server,
pointing towards download links for the extensions.
JSON
====
To generate a valid JSON file you can use the command-line tool:
.. code:: bash
blender --command extension server-generate --repo-dir=/path/to/packages
This creates a listing from all the packages found in the specified location.
See :ref:`server-generate <command-line-args-extension-server-generate>` docs.
The generated JSON is aligned with the `API <https://developer.blender.org/docs/features/extensions/api_listing/>`__.
Download Links
==============
In order to support drag and drop for installing from a remote repository,
there are a few optional ways to prepare the URLs.
The only strict requirement is that the download URL must end in ``.zip``.
You can pass different arguments to the URL to give more clues to Blender about what to do with the dragged URL.
:repository:
Link to the JSON file to be used to install the repository on Blender.
It supports relative URLs.
:platforms:
Comma-separated list of supported platforms.
If omitted, the extension will be available in all operating systems.
:blender_version_min:
Minimum supported Blender version.
:blender_version_max:
Blender version that the extension does not support, earlier versions are supported.
.. tip::
The more details you provide, the better the user experience.
With the exception of the ``repository``, all the other parameters can be extracted from the extensions manifest.
Those arguments are to be encoded as part of the URL.
Expected format:
``<URL>.zip?repository=<repository>&blender_version_min=<version_min>&blender_max=<version_max_exclusive>&platforms=<platform1,platform2,...>``
Example:
``https://extensions.blender.org/add-ons/amaranth-toolset/1.0.23/download/add-on-amaranth-toolset-v1.0.23.zip?repository=/api/v1/extensions/&blender_version_min=4.2.0&platforms=linux-x64,macos-x64``
HTML Example
------------
For a sample of the HTML code you can use to list all the extensions in the repository, use the ``html`` option
when generating the server.
.. code:: bash
blender --command extension server-generate --repo-dir=/path/to/packages --html
This creates a ``download.html`` file with all the extra URLs parameters ready to use.

View File

@ -81,8 +81,8 @@ This example is a good starting point to the ``blender_manifest.toml`` that shou
tags = ["Animation", "Sequencer"] tags = ["Animation", "Sequencer"]
blender_version_min = "4.2.0" blender_version_min = "4.2.0"
## Optional: Blender version that the extension does not support, earlier versions are supported. # # Optional: Blender version that the extension does not support, earlier versions are supported.
## This can be omitted and defined later on the extensions platform if an issue is found. # # This can be omitted and defined later on the extensions platform if an issue is found.
# blender_version_max = "5.1.0" # blender_version_max = "5.1.0"
# License conforming to https://spdx.org/licenses/ (use "SPDX: prefix) # License conforming to https://spdx.org/licenses/ (use "SPDX: prefix)
@ -107,19 +107,19 @@ This example is a good starting point to the ``blender_manifest.toml`` that shou
# "./wheels/jsmin-3.0.1-py3-none-any.whl", # "./wheels/jsmin-3.0.1-py3-none-any.whl",
# ] # ]
## Optional: add-ons can list which resources they will require: # # Optional: add-ons can list which resources they will require:
## * files (for access of any filesystem operations) # # * files (for access of any filesystem operations)
## * network (for internet access) # # * network (for internet access)
## * clipboard (to read and/or write the system clipboard) # # * clipboard (to read and/or write the system clipboard)
## * camera (to capture photos and videos) # # * camera (to capture photos and videos)
## * microphone (to capture audio) # # * microphone (to capture audio)
## # #
## If using network, remember to also check `bpy.app.online_access` # # If using network, remember to also check `bpy.app.online_access`
## https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#internet-access # # https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#internet-access
## # #
## For each permission it is important to also specify the reason why it is required. # # For each permission it is important to also specify the reason why it is required.
## Keep this a single short sentence without a period (.) at the end. # # Keep this a single short sentence without a period (.) at the end.
## For longer explanations use the documentation or detail page. # # For longer explanations use the documentation or detail page.
# #
# [permissions] # [permissions]
# network = "Need to sync motion-capture data to server" # network = "Need to sync motion-capture data to server"
@ -161,7 +161,7 @@ Optional values:
:permissions: :permissions:
Add-ons can list which resources they require. The available options are Add-ons can list which resources they require. The available options are
*files*, *network*, *clipboard*, *camera*, *microphone*. *files*, *network*, *clipboard*, *camera*, *microphone*.
Each permission should be followed by an explanation (short single-sentence with no end pontuation (.)). Each permission should be followed by an explanation (short single-sentence with no end punctuation (``.``)).
Optional values for "build": Optional values for "build":
@ -188,6 +188,11 @@ Optional values for "build":
"*.zip", "*.zip",
] ]
Reserved:
These values **must not** be declared in a TOML and are reserved for internal use.
- ``[build.generated]``
.. note:: .. note::
@ -237,55 +242,5 @@ See :ref:`validate <command-line-args-extension-validate>` docs.
Third party extension sites Third party extension sites
=========================== ===========================
Third party sites that wish to support extensions in Blender can do so in two ways: If you want to host the extensions yourself,
see the :doc:`Creating an Extensions Repository <./creating_repository/index>` docs.
#. Fork the entire `Extensions Website <https://projects.blender.org/infrastructure/extensions-website>`__
as a start point; or
#. Host a JSON file listing all the packages of your repository.
To generate a valid JSON file you can use the command-line tool:
.. code:: bash
blender --command extension server-generate --repo-dir=/path/to/packages
This creates a listing from all the packages found in the specified location.
See :ref:`server-generate <command-line-args-extension-server-generate>` docs.
Example of what the JSON is expected to look like:
.. code:: json
{
"version": "v1",
"blocklist": [],
"data": [
{
"id": "blender_kitsu",
"name": "Blender Kitsu",
"tagline": "Pipeline management for projects collaboration",
"version": "0.1.5-alpha+f52258de",
"type": "add-on",
"archive_size": 856650,
"archive_hash": "sha256:3d2972a6f6482e3c502273434ca53eec0c5ab3dae628b55c101c95a4bc4e15b2",
"archive_url": "https://extensions.blender.org/add-ons/blender-kitsu/0.1.5-alpha+f52258de/download/",
"blender_version_min": "4.2.0",
"maintainer": "Blender Studio",
"tags": ["Pipeline"],
"license": ["SPDX:GPL-3.0-or-later"],
"website": "https://extensions.blender.org/add-ons/blender-kitsu/",
"schema_version": "1.0.0"
}
]
}
Just like for the manifest file, the optional fields (e.g., ``blender_version_max``) are either to have a value
or should be omitted from the entries.
For the official Extensions Platform, the ``website`` value is the page of the extension in the online platform.
Even if the manifest points to the project specific website.
.. note::
Any remote repository is expected to follow the latest `API <https://extensions.blender.org/api/swagger/>`__.

View File

@ -25,3 +25,4 @@ Other third party sites can also be supported, as long as they follow the Extens
Add-ons <addons.rst> Add-ons <addons.rst>
Python Wheels <python_wheels.rst> Python Wheels <python_wheels.rst>
Command Line Arguments <command_line_arguments.rst> Command Line Arguments <command_line_arguments.rst>
Creating a Repository <creating_repository/index.rst>

View File

@ -80,3 +80,44 @@ Running
import PIL import PIL
print(PIL.__file__) print(PIL.__file__)
Platform Builds
===============
Wheels can severely impact the size of an extension. To mitigate this, it is possible to build different
extension zip files for each unique required platform.
For this you need to use the ``--split-platforms`` option from the
:ref:`build <command-line-args-extension-build>` command.
.. code:: bash
blender --command extension build --split-platforms
Example
-------
Manifest file excerpt:
.. code-block:: toml
id = "my_addon_with_wheels"
version = "1.0.0"
platforms = ["windows-x64", "macos-x64"]
wheels = [
"./wheels/pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl",
"./wheels/pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl",
"./wheels/pillow-10.3.0-cp311-cp311-win_amd64.whl",
]
Generated files from ``--split-platforms``:
- my_addon_with_wheels-1.0.0-windows_x64.zip
- my_addon_with_wheels-1.0.0-macos_x64.zip
.. note::
Even though there is a Linux-only wheel present, no Linux zip file is generated.
This happens because the ``platforms`` field only has Mac and Windows.

View File

@ -485,7 +485,7 @@ For API documentation on the functions listed above, see:
Bringing It All Together Bringing It All Together
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
:: .. code-block:: python
bl_info = { bl_info = {
"name": "Cursor Array", "name": "Cursor Array",

View File

@ -5,30 +5,36 @@
Limit Rotation Constraint Limit Rotation Constraint
************************* *************************
An object or bone can be rotated around the X, Y and Z axes. This constraint restricts the rotation of an object or bone to be inside
This constraint restricts the amount of allowed rotations around each axis, specified angular limits. The limits are given as Euler rotation ranges (a min
through lower and upper bounds. and max angle), and a separate range can be given for each of the three axes.
It is interesting to note that even though the constraint limits the visual and As with all constraints in Blender, this does not (by default) restrict the
rendered rotations of its owner, its owner's data-block still allows (by default) user-set rotation values of the object/bone as seen in the *Transform* panel.
the object or bone to have rotation values outside the minimum and maximum ranges. When the object/bone is rotated outside the limit range, it will be constrained
This can be seen in the *Transform* panel. to that range in its final displayed/rendered position, but the user-set
When an owner is rotated and attempted to be rotated outside the limit boundaries, rotation values will still be outside that range. If the constraint is removed,
it will be constrained to those boundaries visually and when rendered, but internally, the object/bone will then jump back to match those user-set values.
its rotation values will still be changed beyond the limits. If the constraint is removed,
its ex-owner will seem to jump to its internally specified rotation.
Similarly, if its owner has an internal rotation that is beyond the limit, rotating it back Something unique about the Limit Rotation constraint (as compared to the Limit
into the limit area will appear to do nothing until the internal rotation values are back Location and Limit Scale constraints) is that rotations loop, and therefore the
within the limit threshold (unless you enabled the *Affect Transform* option, see below). meaning of the limit range is subtly different. All constraints in Blender
internally work on transform matrices, which can't distinguish between e.g. 180
and -180 degrees, or 0, 360, and 720 degrees. In other words, any angles that
result in the same visual rotation are indistinguishable to the constraint
system.
Setting equal the min and max values of an axis, What this means for the Limit Rotation constraint is that when the user-set
locks the owner's rotation around that axis... Although this is possible, rotation is outside of the limit range, the final displayed rotation will snap
using the *Transformation Properties* axis locking feature is probably easier. to the closest *visual* rotation in that range, not the closest numerical angle.
For example, if you have a limit range of 0 to 90 degrees then a user-set
rotation of 340 degrees will actually snap to *0 degrees* because that is the
closer *visual* rotation, even though 340 is numerically closer to 90.
This transform does not constrain the bone if it is manipulated by the IK solver. Note that this constraint does not constrain the bone if it is manipulated by
For constraining the rotation of a bone for IK purposes, the IK solver. For constraining the rotation of a bone for IK purposes, see
see :doc:`Inverse Kinematics </animation/armatures/posing/bone_constraints/inverse_kinematics/introduction>`. :doc:`Inverse Kinematics
</animation/armatures/posing/bone_constraints/inverse_kinematics/introduction>`.
Options Options
@ -55,13 +61,24 @@ Limit X, Y, Z
Order Order
Allows specifying which :term:`Euler` order to use when applying the limits. Allows specifying which :term:`Euler` order to use when applying the limits.
Defaults to the order of the owner. Defaults to the order of the owner, or XYZ if the owner uses non-Euler
rotations.
Affect Transform Affect Transform
The constraint is taken into account when the object is manually rotated using The constraint is taken into account when the object is manually rotated using
transformation tools in the editors. This prevents assigning transformation transformation tools in the editors. This prevents assigning transformation
property values (as shown in the *Transform* panel) that exceed the specified limits. property values (as shown in the *Transform* panel) that exceed the specified limits.
Legacy Behavior
For backwards compatibility: make the constraint behave in the semi-broken
way it did prior to Blender 4.2. This old behavior does not properly account
for the looping nature of rotations, and therefore causes
unpredictable/erratic rotation snapping. However, this behavior can still be
useful in some specific circumstances when `Owner` is set to local space, and
some older rig setups utilize that. However, that behavior is better and more
robustly accomplished with drivers directly on the object/bone's rotation
properties, so new rigs should favor that approach over using this option.
Owner Owner
This constraint allows you to choose in which space evaluate its owner's transform properties. This constraint allows you to choose in which space evaluate its owner's transform properties.
See :ref:`common constraint properties <rigging-constraints-interface-common-space>` for more information. See :ref:`common constraint properties <rigging-constraints-interface-common-space>` for more information.

View File

@ -50,6 +50,7 @@ Active Shape Key Index
and tools that move vertices abort with an error if the active shape key is locked. and tools that move vertices abort with an error if the active shape key is locked.
.. note:: .. note::
Operators that always modify all shape keys in exactly the same way, like Operators that always modify all shape keys in exactly the same way, like
:ref:`Apply Object Transforms <bpy.ops.object.transform_apply>`, don't check shape key locks. :ref:`Apply Object Transforms <bpy.ops.object.transform_apply>`, don't check shape key locks.
Neither currently do most edit mode operators that modify topology, because the topology is Neither currently do most edit mode operators that modify topology, because the topology is

View File

@ -17,6 +17,7 @@ RGB to BW Node
The *RGB to BW Node* makes a color image black-and-white by outputting its luminance. The *RGB to BW Node* makes a color image black-and-white by outputting its luminance.
.. note:: .. note::
You can directly connect Color sockets to Value sockets in node graphs, You can directly connect Color sockets to Value sockets in node graphs,
which also converts the image to black-and-white. As such, this node is which also converts the image to black-and-white. As such, this node is
not always necessary. not always necessary.

View File

@ -105,6 +105,7 @@ Both Render Regions can exist at the same time.
- .. figure:: /images/editors_3dview_navigate_regions_render-border-2.png - .. figure:: /images/editors_3dview_navigate_regions_render-border-2.png
.. note:: .. note::
Render regions only apply to the viewport when using Cycles, not when using EEVEE. Render regions only apply to the viewport when using Cycles, not when using EEVEE.
However, they always affect the final render. However, they always affect the final render.

View File

@ -164,6 +164,7 @@ Lets you manually specify, and animate, the frame at which the underlying action
is sampled. is sampled.
.. note:: .. note::
Although the setting is called *Strip Time*, its value is a frame number Although the setting is called *Strip Time*, its value is a frame number
inside the action, not inside the strip. If you have an action going inside the action, not inside the strip. If you have an action going
from frame 1 to frame 50 that's referenced by a strip going from frame from frame 1 to frame 50 that's referenced by a strip going from frame

View File

@ -57,6 +57,7 @@ Display Filter
You can search the view for data-blocks, You can search the view for data-blocks,
by using Search field in the header of the *Outliner*, by using Search field in the header of the *Outliner*,
You can start a search using :kbd:`Ctrl-F` or clear a search with :kbd:`Alt-F`.
.. _editors-outliner-interface-filter: .. _editors-outliner-interface-filter:

View File

@ -16,7 +16,6 @@
:maxdepth: 1 :maxdepth: 1
interface.rst interface.rst
themes.rst
viewport.rst viewport.rst
lights.rst lights.rst
editing.rst editing.rst
@ -26,6 +25,7 @@
:maxdepth: 1 :maxdepth: 1
extensions.rst extensions.rst
themes.rst
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1

View File

@ -25,11 +25,11 @@ Keymap Presets
.. _bpy.ops.wm.keyconfig_preset_add: .. _bpy.ops.wm.keyconfig_preset_add:
You add a custom keymap configuration to the preset list by ``LMB`` on the *Add* button ``+``. You add a custom keymap configuration to the preset list by :kbd:`LMB` on the *Add* button ``+``.
.. _bpy.ops.wm.keyconfig_preset_remove: .. _bpy.ops.wm.keyconfig_preset_remove:
You remove a custom keymap configuration from the preset list by ``LMB`` on the *Remove* button ``-``. You remove a custom keymap configuration from the preset list by :kbd:`LMB` on the *Remove* button ``-``.
.. _bpy.ops.preferences.keyconfig_import: .. _bpy.ops.preferences.keyconfig_import:

View File

@ -71,6 +71,9 @@ Operating System Settings
Make this installation your default Blender (MS-Windows & Linux only). Make this installation your default Blender (MS-Windows & Linux only).
On Linux, if Blender is installed from a package manager such as Snap,
file association is handled by the package manager.
Register Register
Make the currently in use Blender installation the default Make the currently in use Blender installation the default
for generating thumbnails and the default for opening blend-files. for generating thumbnails and the default for opening blend-files.
@ -81,9 +84,8 @@ For All Users
Register Blender for all users, requires escalated privileges. Register Blender for all users, requires escalated privileges.
.. note:: .. admonition:: Linux Registration
:class: note
Linux Registration
Files are setup files under: ``/usr/local`` for all users, otherwise ``~/.local`` is used. Files are setup files under: ``/usr/local`` for all users, otherwise ``~/.local`` is used.
@ -92,6 +94,25 @@ For All Users
- The thumbnailer is installed so blend-file thumbnails will be shown in file managers (**For All Users** only). - The thumbnailer is installed so blend-file thumbnails will be shown in file managers (**For All Users** only).
Network
=======
.. _bpy.types.PreferencesSystem.use_online_access:
Allow Online Access
Allow internet access. Blender may access configured online extension repositories.
Installed third party add-ons may access the internet for their own functionality.
Time Out
The time (in seconds) that online operations may wait before timing out.
Use the systems default when zero.
Connection Limit
The maximum number of simultaneous connections an online operation may make.
Do not limit the number of connections when zero.
.. _prefs-system-memory-and-limits: .. _prefs-system-memory-and-limits:
Memory & Limits Memory & Limits

View File

@ -1,5 +1,3 @@
.. _bpy.ops.preferences.theme_install:
.. _bpy.ops.preferences.reset_default_theme:
.. _bpy.types.Theme: .. _bpy.types.Theme:
****** ******
@ -15,12 +13,39 @@ change in the multi-choice list at the left, and adjusting colors as required.
Notice that changes appear in real-time on your screen. In addition, details such as the dot size Notice that changes appear in real-time on your screen. In addition, details such as the dot size
in the *3D Viewport* or the *Graph Editor* can also be changed. in the *3D Viewport* or the *Graph Editor* can also be changed.
Themes use Blender's preset system to save a theme. Preset Management
This will save the theme to an XML file in the ``./scripts/presets/interface_theme/`` subdirectory of one of =================
the :doc:`configuration directories </advanced/blender_directory_layout>`.
Theme Presets
Select the Theme from a list of predefined Themes.
.. _bpy.ops.wm.interface_theme_preset_add:
You add a custom theme to the preset list by :kbd:`LMB` on the *Add* button ``+``.
.. _bpy.ops.wm.interface_theme_preset_remove:
You remove a custom theme from the preset list by :kbd:`LMB` on the *Remove* button ``-``.
.. _bpy.ops.wm.interface_theme_preset_save:
You save a custom theme in the preset list by :kbd:`LMB` on the *Save* button.
This will save the theme to an XML file in the ``./scripts/presets/interface_theme/`` subdirectory of one of
the :doc:`configuration directories </advanced/blender_directory_layout>`.
.. _bpy.ops.preferences.theme_install:
Install
Load and apply a Blender XML theme file and add it to the list of theme presets.
.. _bpy.ops.preferences.reset_default_theme:
Reset
Reset to the default theme colors.
Blender comes bundled with a small selection of themes.
.. figure:: /images/editors_preferences_themes_example.png .. figure:: /images/editors_preferences_themes_example.png
Blender comes bundled with a small selection of themes.
This is an example of the theme *Blender Light*. This is an example of the theme *Blender Light*.

View File

@ -153,7 +153,12 @@ Playback
Play In Play In
Which editors to update on each animation frame. If an editor is unchecked, Which editors to update on each animation frame. If an editor is unchecked,
it'll only be updated once playback stops (with some exceptions where it'll it'll only be updated once playback stops (with some exceptions where it'll
update on each frame anyway). update on each frame anyway). When starting playback in either the
:doc:`Graph Editor </editors/graph_editor/introduction>`,
:doc:`Dope Sheet </editors/dope_sheet/introduction>` or the
:doc:`NLA Editor</editors/nla/introduction>`,
all editors will play back regardless of the settings.
This is a feature requested by animators to easily play back all views.
.. _bpy.types.Scene.show_subframe: .. _bpy.types.Scene.show_subframe:

View File

@ -24,6 +24,7 @@ Cursor
(works with all tools) or adjust the 2D Cursor Location in :menuselection:`Sidebar --> View`. (works with all tools) or adjust the 2D Cursor Location in :menuselection:`Sidebar --> View`.
.. note:: .. note::
By default, the 2D Cursor is only shown while dragging it. To make it permanently By default, the 2D Cursor is only shown while dragging it. To make it permanently
visible, enable the *2D Cursor* :doc:`overlay </editors/video_sequencer/preview/display/overlays>`. visible, enable the *2D Cursor* :doc:`overlay </editors/video_sequencer/preview/display/overlays>`.

View File

@ -18,6 +18,13 @@ see `Asset Catalogs on the Blender Developer Documentation <https://developer.bl
.. figure:: /images/asset-browser-catalogs.png .. figure:: /images/asset-browser-catalogs.png
:width: 640px :width: 640px
:figclass: only-light
Example file system and catalog structures.
.. figure:: /images/asset-browser-catalogs_dark.png
:width: 640px
:figclass: only-dark
Example file system and catalog structures. Example file system and catalog structures.

View File

@ -72,6 +72,8 @@ Open Recent
Displays a list of recently opened blend-files. Displays a list of recently opened blend-files.
Hovering over items will show a preview, and information about the blend-file. Hovering over items will show a preview, and information about the blend-file.
Select any of the file names in the list to open that blend-file. Select any of the file names in the list to open that blend-file.
When :kbd:`RMB` on a listed item, a context menu will appear; One of the available options is *Open File Location*, which will open that
location in an OS file explorer or Finder window.
Clear Recent Files List Clear Recent Files List
Removes all items from the list. Removes all items from the list.

View File

@ -207,7 +207,7 @@ Pack
- |none| - |none|
- Particle settings. - Particle settings.
Used by particle systems. Used by particle systems.
* - :doc:`Light Probe </render/eevee/light_probes/introduction>` * - :doc:`Light Probe </render/eevee/light_probes/index>`
- |tick| - |tick|
- |none| - |none|
- Help achieve complex real-time lighting in EEVEE. - Help achieve complex real-time lighting in EEVEE.

View File

@ -17,6 +17,10 @@ to export/import Collada files from/to a variety of tools.
But please be aware that the Collada module is still a work in progress. But please be aware that the Collada module is still a work in progress.
So it may be possible that your particular usage scenario is not yet supported. So it may be possible that your particular usage scenario is not yet supported.
.. important::
Collada support in Blender is considered deprecated and may be removed in a future version.
Collada Exporter Collada Exporter
================ ================
@ -74,15 +78,22 @@ Include Shape Keys
Global Orientation Global Orientation
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
Todo. Apply
Rotate all root objects to match the global orientation settings otherwise set the global orientation per Collada
asset.
Forward / Up Axis
Since many applications use a different axis for pointing upwards, these are axis conversion for these settings,
Forward and up axes -- By mapping these to different axes you can convert rotations
between applications default up and forward axes.
Blender uses Y forward, Z up (since the front view looks along the +Y direction).
For example, it is common for applications to use Y as the up axis, in that case -Z forward, Y up is needed.
Texture Options Texture Options
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
Only Selected UV Map
When your mesh contains multiple UV layers, then Blender exports all layers by default.
This option allows you to only export the active (selected) UV layer.
Copy Copy
When you export images either material based image textures, When you export images either material based image textures,
then the exporter creates absolute file references in the export file. then the exporter creates absolute file references in the export file.
@ -90,6 +101,9 @@ Copy
But if the *Copy* option is enabled, the exporter will create copies of the images instead and But if the *Copy* option is enabled, the exporter will create copies of the images instead and
place the copies besides the export file. In that case the file references are made relative. place the copies besides the export file. In that case the file references are made relative.
Only Selected UV Map
When your mesh contains multiple UV layers, then Blender exports all layers by default.
This option allows you to only export the active (selected) UV layer.
Geometry Geometry
-------- --------

View File

@ -7,6 +7,11 @@ Check the :doc:`Downloading Blender </getting_started/installing/index>`
page to find the minimum requirements and the different versions that are available page to find the minimum requirements and the different versions that are available
for Blender (if you have not done so yet). for Blender (if you have not done so yet).
.. important::
Blender supports both Intel and Apple Silicon architectures on macOS.
Make sure to download a variant that is compatible with your CPU's architecture.
Install from DMG Install from DMG
================ ================

View File

@ -9,6 +9,11 @@ for Blender (if you have not done so yet).
Download the zip-file or Windows Installer File. Download the zip-file or Windows Installer File.
.. important::
Blender supports both x64 and arm64 architectures on Windows.
Make sure to download a variant that is compatible with your CPU's architecture.
Install from Windows Installer File Install from Windows Installer File
=================================== ===================================

BIN
manual/images/3dprint_checks.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_degenerate.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_distorted.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_hollow_in_out.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_intersect.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_overhang.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_solid.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_suzanne.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/3dprint_thickness.jpg (Stored with Git LFS)

Binary file not shown.

BIN
manual/images/asset-browser-catalogs_dark.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
manual/images/editors_timeline_main.png (Stored with Git LFS)

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.

View File

@ -161,7 +161,7 @@ Only curves with at least one selected control point will be closed/open.
The shape of the closing segment is based on the start and end handles for Bézier curves, The shape of the closing segment is based on the start and end handles for Bézier curves,
and as usual on adjacent control points for NURBS. and as usual on adjacent control points for NURBS.
The only time a handle is adjusted after closing is if the handle is an *Auto* one. The only time a handle is adjusted after closing is if the handle is an *Auto* one.
Fig. :ref:`fig-curves-editing-open-close` is the same Bézier curve open and closed. Fig. :ref:`fig-curve-editing-open-close` is the same Bézier curve open and closed.
This action only works on the original starting control point or the last control point added. This action only works on the original starting control point or the last control point added.
Deleting a segment(s) does not change how the action applies; Deleting a segment(s) does not change how the action applies;
@ -169,7 +169,7 @@ it still operates only on the starting and last control points. This means that
:kbd:`Alt-C` may actually join two curves instead of closing a single curve! :kbd:`Alt-C` may actually join two curves instead of closing a single curve!
Remember that when a 2D curve is closed, it creates a renderable flat face. Remember that when a 2D curve is closed, it creates a renderable flat face.
.. _fig-curves-editing-open-close: .. _fig-curve-editing-open-close:
.. figure:: /images/modeling_curves_editing_curve_open-closed-cyclic.png .. figure:: /images/modeling_curves_editing_curve_open-closed-cyclic.png

View File

@ -11,6 +11,7 @@ Extrude Curve and Move
.. reference:: .. reference::
:Mode: Edit Mode :Mode: Edit Mode
:Menu: :menuselection:`Control Points --> Extrude Curve and Move`
:Shortcut: :kbd:`E` :Shortcut: :kbd:`E`
Extrudes points by duplicating the selected points, which then can be moved, Extrudes points by duplicating the selected points, which then can be moved,

View File

@ -78,7 +78,7 @@ Tangent
.. tip:: .. tip::
This output can be combined with the :doc:`/modeling/geometry_nodes/utilities/rotation/align_euler_to_vector` This output can be combined with the :doc:`/modeling/geometry_nodes/utilities/rotation/align_rotation_to_vector`
to create a rotation that lines up with direction of the curve. Including the *Normal* output to create a rotation that lines up with direction of the curve. Including the *Normal* output
in a second align node after can align the other rotation axis. in a second align node after can align the other rotation axis.

View File

@ -57,7 +57,7 @@ Geometry
Duplicate Index Duplicate Index
An attribute field with a value for every output element describing which An attribute field with a value for every output element describing which
duplicate of the corresponding input. The value for every input element will duplicate of the corresponding input. The value for every input element will
start at 0 and increase to `Amount - 1`. start at 0 and increase to ``Amount - 1``.
Examples Examples

View File

@ -67,7 +67,7 @@ Rotation
:doc:`Distribute Points on Faces </modeling/geometry_nodes/point/distribute_points_on_faces>` :doc:`Distribute Points on Faces </modeling/geometry_nodes/point/distribute_points_on_faces>`
and :doc:`Curve to Points </modeling/geometry_nodes/curve/operations/curve_to_points>`. An Euler rotation and :doc:`Curve to Points </modeling/geometry_nodes/curve/operations/curve_to_points>`. An Euler rotation
can also be created from a direction vector like the :doc:`normal </modeling/geometry_nodes/geometry/read/normal>` can also be created from a direction vector like the :doc:`normal </modeling/geometry_nodes/geometry/read/normal>`
with the :doc:`/modeling/geometry_nodes/utilities/rotation/align_euler_to_vector`. with the :doc:`/modeling/geometry_nodes/utilities/rotation/align_rotation_to_vector`.
Scale Scale
The size of each generated instance. The size of each generated instance.

View File

@ -10,7 +10,7 @@ Mesh to Volume Node
:alt: Mesh to Volume node. :alt: Mesh to Volume node.
The *Mesh to Volume* node creates a fog volumes based on the shape of a mesh. The *Mesh to Volume* node creates a fog volumes based on the shape of a mesh.
The volume is created with a grid of the name `"density"`. The volume is created with a grid of the name ``"density"``.
Inputs Inputs

View File

@ -85,7 +85,7 @@ This way, the most vertical connected edge of each vertex will have the lowest w
and come first in the list. and come first in the list.
Next, in the point domain, we need to calculate the rotation of each cone. Next, in the point domain, we need to calculate the rotation of each cone.
By using the :doc:`/modeling/geometry_nodes/utilities/rotation/align_euler_to_vector`, By using the :doc:`/modeling/geometry_nodes/utilities/rotation/align_rotation_to_vector`,
the problem gets simplified and we only need to calculate a direction vector. the problem gets simplified and we only need to calculate a direction vector.
The direction vector of each cone is the centerpoint of the most vertical neighboring edge The direction vector of each cone is the centerpoint of the most vertical neighboring edge

View File

@ -1,15 +1,15 @@
.. index:: Geometry Nodes; Align Euler to Vector .. index:: Geometry Nodes; Align Rotation to Vector
.. _bpy.types.FunctionNodeAlignEulerToVector: .. _bpy.types.FunctionNodeAlignRotationToVector:
************************** *****************************
Align Euler to Vector Node Align Rotation to Vector Node
************************** *****************************
.. figure:: /images/node-types_FunctionNodeAlignEulerToVector.webp .. figure:: /images/node-types_FunctionNodeAlignRotationToVector.webp
:align: center :align: center
:alt: Align Euler to Vector node. :alt: Align Rotation to Vector node.
The *Align Euler to Vector* node rotates an Euler rotation into the given direction. The *Align Rotation to Vector* node rotates an Euler rotation into the given direction.
Inputs Inputs

View File

@ -6,7 +6,7 @@
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
align_euler_to_vector.rst align_rotation_to_vector.rst
rotate_rotation.rst rotate_rotation.rst
rotate_vector.rst rotate_vector.rst
axis_angle_to_rotation.rst axis_angle_to_rotation.rst

View File

@ -16,6 +16,7 @@ in Edit Mode, and then cuts into the faces there. Afterwards, the resulting geom
inside the cut gets selected. inside the cut gets selected.
.. note:: .. note::
The cutting objects must be curves or non-manifold meshes (e.g. flat shapes, loose edges). The cutting objects must be curves or non-manifold meshes (e.g. flat shapes, loose edges).
:ref:`Select Non-Manifold <bpy.ops.mesh.select_non_manifold>` :ref:`Select Non-Manifold <bpy.ops.mesh.select_non_manifold>`
will highlight the cutting edges of mesh objects. will highlight the cutting edges of mesh objects.

View File

@ -0,0 +1,178 @@
.. _bpy.ops.image.import_as_mesh_planes:
***********************
Import Images as Planes
***********************
.. reference::
:Menu: :menuselection:`3D Viewport --> Add --> Image --> Images as Planes`
Imports images and creates planes with them as textures.
It automates the process of creating a plane, resizing it to fit the dimensions of the image,
and creating a material with the image texture to it.
The name of the plane, material, and texture will be derived from the name of the image file.
You can import a single image, multiple images, or an image sequence/movie clip.
If you choose a single image, it creates one plane; if you choose multiple images,
it creates as many planes as the number of images you selected, either stacked on top of each other or spaced apart.
Selecting a movie clip or an image sequence will create a single plane with an animation.
Properties
==========
You can save the current import settings as an :ref:`Operator Preset <ui-presets>`.
Options
-------
Relative Path
Set link to the image file using a :ref:`relative file path <files-blend-relative_paths>`.
Force Reload
Reload the image file if it already exists as an image data-block.
Animate Image Sequences
Import sequentially numbered images as
an animated :doc:`image sequence </video_editing/edit/montage/strips/image>` instead of separate planes.
They will be imported as a *Clip* texture on a single plane.
The frame range will be automatically set but can be changed later.
Material
--------
Images as Planes sets up a material to display the image. You can set the type of material and related settings
before the import.
Shader
:Principled:
The material will have a :doc:`Principled BSDF </render/shader_nodes/shader/principled>` shader node
with default settings as its main component.
An Image Texture node linked to the imported image will be connected to the Base Color of the Principled
BSDF node.
:Shadeless:
A shadeless material is a material that does not respond to light from other objects and always has the same
color in any lighting environment.
This option creates a material with a node group of a mix between a Diffuse and an Emission shader controlled
by a Light Path node.
:Emit:
The material will have a Principled BSDF shader node as its main component, but the Color output from
the Image Texture node will be linked to the Emission input instead of the Base Color.
Strength
Set the strength of the emission.
.. note::
*Blend Mode* and *Shadow Mode* options are specific to the EEVEE renderer.
For a detailed explanation of each option, see :doc:`Material Settings </render/eevee/material_settings>`.
Blend Mode
Set the alpha blend mode of the material.
Shadow Mode
Set the shadow mode of the material.
Show Backface
Show backside of the transparent part.
Backface Culling
Hide backside of the plane.
Overwrite Material
By default, the name of the new material from the name of the imported image. However, if there is already
a material with the same name, Blender will append a number to the name of the material to avoid conflict.
This *Override Material* option makes it overwrite the existing material of the same name in that case.
Texture
-------
.. note::
For a detailed explanation of each option, see :doc:`Image Texture Node </render/shader_nodes/textures/image>`.
Interpolation
Set the method to scale the image.
Extension
Set how the image is extrapolated past the original bounds.
Alpha
Use the alpha channel of the image for transparency.
Auto Refresh
Automatically refresh the images in the viewport on frame changes.
Transform
---------
Images as Planes creates the plane at the 3D Cursor's location. With *Offset Planes*, multiple planes will be
placed with distance intervals set in *Offset*, along the axis set in *Local Axis*, beginning at the 3D Cursor's
location.
Size Mode
Set how the plane's size will be determined.
:Absolute:
The size of the plane will be set based on the height value set in *Height*. The width will be set in direct
ratio to the height value. For example, with the default height value of 1 m, an image of 800 × 600 pixels
will have a width of 1 / 600 × 800 or 1.33 m.
Height
Set the height of the plane.
:Camera Relative:
The size of the plane will be set to fit or fill the camera frame. This will automatically set the *Align*
option to *Face Camera*. Make sure to have an active camera in the scene before the import.
:Fit:
Scale the plane to fit inside the camera frame while preserving the aspect ratio.
:Fill:
Scale the plane so that it fills the entire camera view while preserving the aspect ratio, but some part of
the image can spill outside the camera frame.
::abbr:`DPI (Dots per inch)`:
The size of the plane will be set based on the pixels per inch value set in *Definition*. With the *Unit System*
set to *Metric* and the default definition of 600 DPI, an image of 800 × 600 pixels will have a size of
0.0339 × 0.0254 units since 600 pixels are defined as 1 inch (0.0254 m).
Definition
Set the number of pixels to fit in 1 inch.
:Dots/BU:
The size of the plane will be set based on the pixels per Blender Unit set in *Definition*. With the default
definition value of 600, an image of 800 × 600 pixels will have a size of 1.33 × 1 units.
Definition
Set the number of pixels to fit in 1 Blender Unit.
Align
Set the rotation of the plane.
:Main Axis:
The plane will be aligned to a major axis that is best to face the camera's view direction.
If there is no camera in the scene, the plane will face toward Z+ (Up) axis.
:Face Camera:
Similar to the *Main Axis* but the plane will be rotated to directly face the camera's view direction.
:Z- (Down), Y-, X-, Z+ (Up), Y+, X+:
The plane will be rotated to face toward the selected axis.
Track Camera
Add a :doc:`Locked Track </animation/constraints/tracking/locked_track>` constraint to make the plane always
face the camera, even if the camera moves. This option is only available when *Main Axis* or *Face Camera*
option is selected in the *Align* menu.
Offset Planes
Place multiple planes with an offset. If disabled, all planes will be created at the same location.
Offset Direction
Choose a local axis (not the global axis) to offset the planes. For example, if you choose *X+*, the planes
will be placed along the positive direction of the plane's local X axis.
Distance
Set a distance between each plane.

View File

@ -48,6 +48,17 @@ It is like a piece of paper lying on a table;
it is not a three-dimensional object because it is flat and has no thickness. it is not a three-dimensional object because it is flat and has no thickness.
Objects that can be created with planes include floors, tabletops, or mirrors. Objects that can be created with planes include floors, tabletops, or mirrors.
.. seealso::
:ref:`Import Images as Planes <bpy.ops.image.import_as_mesh_planes>`
adds a mesh plane with materials and texture from an image file.
The dimensions of the plane are calculated to match the aspect of the image file.
.. toctree::
:hidden:
import_images_as_planes.rst
.. _bpy.ops.mesh.primitive_cube_add: .. _bpy.ops.mesh.primitive_cube_add:
@ -69,12 +80,9 @@ Vertices
Fill Type Fill Type
Set how the circle will be filled. Set how the circle will be filled.
Triangle Fan :Triangle Fan: Fill with triangular faces which share a vertex in the middle.
Fill with triangular faces which share a vertex in the middle. :N-gon: Fill with a single :term:`N-gon`.
N-gon :Nothing: Do not fill. Creates only the outer ring of vertices.
Fill with a single :term:`N-gon`.
Nothing
Do not fill. Creates only the outer ring of vertices.
.. _bpy.ops.mesh.primitive_uv_sphere_add: .. _bpy.ops.mesh.primitive_uv_sphere_add:
@ -220,13 +228,14 @@ This is intended as a test mesh, similar to:
- `Utah Teapot <https://en.wikipedia.org/wiki/Utah_teapot>`__ - `Utah Teapot <https://en.wikipedia.org/wiki/Utah_teapot>`__
- `Stanford Bunny <https://en.wikipedia.org/wiki/Stanford_Bunny>`__. - `Stanford Bunny <https://en.wikipedia.org/wiki/Stanford_Bunny>`__.
.. hint:: History .. admonition:: History
:class: tip
This is a gift from old NaN to the community and is seen as a programmer's joke or This is a gift from old NaN to the community and is seen as a programmer's joke or
"Easter Egg". It creates a monkey's head once you press the *Monkey* button. "Easter Egg". It creates a monkey's head once you press the *Monkey* button.
The Monkey's name is "Suzanne" and is Blender's mascot. The Monkey's name is "Suzanne" and is Blender's mascot.
.. note:: Add-ons .. note::
In addition to the basic geometric primitives can be added via extensions In addition to the basic geometric primitives can be added via extensions
These are available from the :doc:`Preferences </editors/preferences/extensions>`. These are available from the :doc:`Preferences </editors/preferences/extensions>`.

View File

@ -35,13 +35,64 @@ Transform
- Shear :kbd:`Shift-Ctrl-Alt-S` - Shear :kbd:`Shift-Ctrl-Alt-S`
Axis Locking .. rubric:: Axis Locking
------------
Transformations can be locked to an axis by pressing :kbd:`X` or :kbd:`Y` after one of the transform tools. Transformations can be locked to an axis by pressing :kbd:`X` or :kbd:`Y` after one of the transform tools.
Also, holding the :kbd:`MMB` will constrain movement to the X or Y axis. Also, holding the :kbd:`MMB` will constrain movement to the X or Y axis.
Vertex Slide
------------
.. reference::
:Mode: Edit Mode
:Menu: :menuselection:`UV --> Transform --> Vertex Slide`
Vertex Slide will transform a vertex along one of its adjacent edges.
Use :kbd:`Shift-V` to activate tool.
The nearest selected vertex to the mouse cursor will be the control one.
Move the mouse along the direction of the desired edge to specify the vertex position.
Then press :kbd:`LMB` to confirm the transformation.
Factor
Determines the amount of slide performed.
Negative values correspond to slides toward one vertex, while positive ones, refer to the other one.
Even :kbd:`E`
By default, the offset value of the vertices is a percentage of the edges length along which they move.
When Even mode is active, the vertices are shifted by an absolute value.
Flipped :kbd:`F`
When Flipped is active, vertices move the same distance from adjacent vertices,
instead of moving from their original position.
Clamp :kbd:`Alt` or :kbd:`C`
Toggle clamping the slide within the edge extents.
Edge Slide
----------
.. reference::
:Mode: Edit Mode
:Menu: :menuselection:`UV --> Transform --> Edge Slide`
Slides one or more edges across adjacent faces with a few restrictions involving the selection
of edges (i.e. the selection *must* define a valid loop, see below).
Factor
Determines the amount of slide performed.
Negative values correspond to slides toward one face, while positive ones, refer to the other one.
Even :kbd:`E`
Forces the edge loop to match the shape of the adjacent edge loop.
You can flip to the opposite vertex using :kbd:`F`.
Flipped :kbd:`F`
When Even mode is active, this flips between the two adjacent edge loops the active edge loop will match.
Clamp :kbd:`Alt` or :kbd:`C`
Toggle clamping the slide within the edge extents.
Mirror Editing
Lets you propagate the operation to the symmetrical elements of the mesh (if present, in local X direction).
Randomize Randomize
========= =========
@ -58,16 +109,12 @@ similar to *Randomize Transform* tool in the 3d view.
Random Seed Random Seed
Changes the random :term:`seed` used by the pseudo-random number generator, Changes the random :term:`seed` used by the pseudo-random number generator,
producing a different transform result for each seed value. producing a different transform result for each seed value.
Location Location
Amount to randomize location. Amount to randomize location.
Rotation Rotation
Amount to randomize rotation. Amount to randomize rotation.
Scale Even Scale Even
Apply the same scale to the U coordinate and V coordinate. Apply the same scale to the U coordinate and V coordinate.
Scale Scale
Amount to randomize scale in U and V coordinates. Amount to randomize scale in U and V coordinates.

View File

@ -14,7 +14,8 @@ You can add several modifiers to a single object to form `The Modifier Stack`_
and *Apply* a modifier if you wish to make its changes permanent. and *Apply* a modifier if you wish to make its changes permanent.
They can be added to the active object using the :ref:`bpy.ops.object.modifier_add` operator, They can be added to the active object using the :ref:`bpy.ops.object.modifier_add` operator,
the "Add Modifier" button at the top of Modifiers tab in the :doc:`/editors/properties_editor`, or using :kbd:`Shift-A` in the same tab. the "Add Modifier" button at the top of Modifiers tab in the :doc:`/editors/properties_editor`,
or using :kbd:`Shift-A` in the same tab.
New modifiers are always added at the bottom of the :ref:`stack <modifier-stack>` (i.e. will be applied last). New modifiers are always added at the bottom of the :ref:`stack <modifier-stack>` (i.e. will be applied last).
There are many built-in modifiers but Blender also allows users There are many built-in modifiers but Blender also allows users

View File

@ -5,8 +5,6 @@
World Settings World Settings
************** **************
.. _bpy.types.WorldMistSettings:
Mist Pass Mist Pass
========= =========
@ -24,19 +22,13 @@ Mist can greatly enhance the illusion of depth in your rendering. To create mist
Blender generates a render layer with a depth map ranging between 0.0 and 1.0 Blender generates a render layer with a depth map ranging between 0.0 and 1.0
that can be used in the Compositor to generate a mist effect. that can be used in the Compositor to generate a mist effect.
.. _bpy.types.WorldMistSettings.start:
Start Start
The distance from the camera at which the mist starts to fade in. The distance from the camera at which the mist starts to fade in.
.. _bpy.types.WorldMistSettings.depth:
Depth Depth
The distance from *Start* of the mist, that it fades in over. The distance from *Start* of the mist, that it fades in over.
Objects further from the camera than *Start + Depth* are completely hidden by the mist. Objects further from the camera than *Start + Depth* are completely hidden by the mist.
.. _bpy.types.WorldMistSettings.falloff:
Falloff Falloff
The curve function that controls the rate of change of the mist's strength further and further into the distance. The curve function that controls the rate of change of the mist's strength further and further into the distance.

View File

@ -9,7 +9,8 @@ Light probe objects are used by EEVEE as support objects.
There are three different types of light probes. There are three different types of light probes.
Each type of light probe records the lighting at a different resolution and frequency. Each type of light probe records the lighting at a different resolution and frequency.
Probes are used together to recover incoming light information when using ray tracing is not possible (either for performance or for technical limitations). Probes are used together to recover incoming light information when using ray tracing is not possible
(either for performance or for technical limitations).
These types of objects are only useful for EEVEE (and by extension, the Material Preview mode). These types of objects are only useful for EEVEE (and by extension, the Material Preview mode).

View File

@ -11,8 +11,8 @@ This type of light probe is suited to smooth planar surfaces.
Each visible planar light probe increases the render time as the scene needs to be rendered for Each visible planar light probe increases the render time as the scene needs to be rendered for
each of them. each of them.
Light probe planes only work when the ray tracing method is set to `Screen-Trace`. When enabled, they Light probe planes only work when the ray tracing method is set to ``Screen-Trace``.
accelerate the tracing process and complete the missing data from the screen space ray tracing. When enabled, they accelerate the tracing process and complete the missing data from the screen space ray tracing.
.. note:: .. note::

View File

@ -74,6 +74,7 @@ Once baked, the data is stored inside the object data-block and can be moved, an
between blender files. between blender files.
.. note:: .. note::
Baking uses the render visibility of the objects in the scene. Baking uses the render visibility of the objects in the scene.
During baking, the scene is converted into a different representation to accelerate light transport. During baking, the scene is converted into a different representation to accelerate light transport.
@ -86,7 +87,7 @@ There are a few way to deal with this issue:
.. tip:: .. tip::
The internal scene representation can be inspected using the `Debug Value` 3, 4 and 5. The internal scene representation can be inspected using the ``Debug Value`` 3, 4 and 5.
Resolution Resolution
---------- ----------
@ -105,6 +106,7 @@ Surfel Resolution
Higher values increase quality, but have a huge impact on memory usage. Higher values increase quality, but have a huge impact on memory usage.
.. tip:: .. tip::
A good value is twice the maximum *Resolution*. A good value is twice the maximum *Resolution*.

View File

@ -44,7 +44,9 @@ Jitter
Has a high performance impact as the shadow map cannot be cached and needs to be updated for each render sample. Has a high performance impact as the shadow map cannot be cached and needs to be updated for each render sample.
.. note:: .. note::
The effect isn't visible by default in the viewport. See :ref:`render settings <bpy.types.SceneEEVEE.use_shadow_jitter_viewport>`.
The effect isn't visible by default in the viewport.
See :ref:`render settings <bpy.types.SceneEEVEE.use_shadow_jitter_viewport>`.
.. _bpy.types.Light.shadow_jitter_overblur: .. _bpy.types.Light.shadow_jitter_overblur:
@ -52,6 +54,7 @@ Overblur
Apply shadow tracing to each jittered sample to reduce under-sampling artifacts. Apply shadow tracing to each jittered sample to reduce under-sampling artifacts.
.. note:: .. note::
Any value higher than zero will result in a blurrier shadow and is not physically correct. Any value higher than zero will result in a blurrier shadow and is not physically correct.
.. _bpy.types.Light.shadow_filter_radius: .. _bpy.types.Light.shadow_filter_radius:
@ -61,6 +64,7 @@ Filter
The effective world scale of the filter depends on the shadow map resolution at the shadowed pixel position. The effective world scale of the filter depends on the shadow map resolution at the shadowed pixel position.
.. note:: .. note::
Any value bigger than 1px will increase the chances of light leaking artifacts. Any value bigger than 1px will increase the chances of light leaking artifacts.
.. _bpy.types.Light.shadow_maximum_resolution: .. _bpy.types.Light.shadow_maximum_resolution:
@ -73,32 +77,40 @@ Resolution Limit
This property limits the maximum amount of detail that the shadow map can capture. This property limits the maximum amount of detail that the shadow map can capture.
.. note:: .. note::
Reducing the shadow map resolution will increase the chances of light leaking artifacts. Reducing the shadow map resolution will increase the chances of light leaking artifacts.
.. _bpy.types.Light.use_absolute_resolution: .. _bpy.types.Light.use_absolute_resolution:
Absolute Resolution Limit Absolute Resolution Limit
Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel. Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel.
This makes :ref:`Resolution Limit <bpy.types.Light.shadow_maximum_resolution>` act as a regular shadow map pixel size. This makes :ref:`Resolution Limit <bpy.types.Light.shadow_maximum_resolution>`
act as a regular shadow map pixel size.
.. hint:: .. hint::
With this option enabled, the following equation can be used to set the *Resolution Limit* with a desired resolution: With this option enabled, the following equation can be used to set the *Resolution Limit*
with a desired resolution:
.. math:: .. math::
resolution\_limit = 2 * \sqrt{2} / resolution resolution\_limit = 2 * \sqrt{2} / resolution
The :math:`2 * \sqrt{2}` refers to the unit cube diagonal and :math:`resolution` refers to the desired resolution (e.g. 1024px). The :math:`2 * \sqrt{2}` refers to the unit cube diagonal and
:math:`resolution` refers to the desired resolution (e.g. 1024px).
.. note:: .. note::
The setting :ref:`Absolute Resolution Limit <bpy.types.Light.use_absolute_resolution>` does not exist for Sun Light.
The setting :ref:`Absolute Resolution Limit <bpy.types.Light.use_absolute_resolution>`
does not exist for Sun Light.
Influence Influence
========= =========
These parameters modulate the intensity of the light depending on the shader type. These parameters modulate the intensity of the light depending on the shader type.
These are meant for artistic control, and any value other than 1.0 breaks :abbr:`PBR (Physically Based Rendering)` rules. These are meant for artistic control, and any value other than 1.0 breaks
:abbr:`PBR (Physically Based Rendering)` rules.
.. _bpy.types.Light.diffuse_factor: .. _bpy.types.Light.diffuse_factor:
@ -137,6 +149,7 @@ Distance
Specifies where light influence will be set to 0. Specifies where light influence will be set to 0.
.. note:: .. note::
The setting :ref:`Custom Distance <bpy.types.Light.use_custom_distance>` does not exist for Sun Light. The setting :ref:`Custom Distance <bpy.types.Light.use_custom_distance>` does not exist for Sun Light.
.. seealso:: .. seealso::

View File

@ -1,7 +1,7 @@
############# ###############
Limitations Limitations
############# ###############
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2

View File

@ -26,7 +26,8 @@ Lights
====== ======
- Lights can only have one color and do not support light node trees. - Lights can only have one color and do not support light node trees.
- Unlike in Cycles, the :ref:`Size <bpy.types.SpotLight.shadow_soft_size>` of spot lights does not change the softness of the cone. - Unlike in Cycles, the :ref:`Size <bpy.types.SpotLight.shadow_soft_size>`
of spot lights does not change the softness of the cone.
- The area light :ref:`Beam spread <bpy.types.SpotLight.spot_size>` option is not supported. - The area light :ref:`Beam spread <bpy.types.SpotLight.spot_size>` option is not supported.
@ -35,7 +36,8 @@ Light Probes
- EEVEE supports up to 128 active light probe spheres. - EEVEE supports up to 128 active light probe spheres.
- EEVEE supports up to 16 active light probe planes inside the view frustum. - EEVEE supports up to 16 active light probe planes inside the view frustum.
- Active light probe volumes must fit inside the :ref:`Light Probes Volume Memory Pool <bpy.types.SceneEEVEE.gi_irradiance_pool_size>`. - Active light probe volumes must fit inside the
:ref:`Light Probes Volume Memory Pool <bpy.types.SceneEEVEE.gi_irradiance_pool_size>`.
Indirect Lighting Indirect Lighting
================= =================
@ -51,7 +53,8 @@ Shadows
This can be mitigated by using lower :ref:`step count <bpy.types.SceneEEVEE.shadow_step_count>`, enabling This can be mitigated by using lower :ref:`step count <bpy.types.SceneEEVEE.shadow_step_count>`, enabling
:ref:`jitter <bpy.types.Light.use_shadow_jitter>`, or reducing the light shape size. :ref:`jitter <bpy.types.Light.use_shadow_jitter>`, or reducing the light shape size.
- Thin objects (e.g. walls without thickness) might have light leaking on the shadowed side. - Thin objects (e.g. walls without thickness) might have light leaking on the shadowed side.
This can be mitigated by making the object have some thickness or lowering :ref:`Resolution Limit<bpy.types.Light.shadow_maximum_resolution>`. This can be mitigated by making the object have some thickness or lowering
:ref:`Resolution Limit<bpy.types.Light.shadow_maximum_resolution>`.
.. _eevee-limitations-volumetrics: .. _eevee-limitations-volumetrics:
@ -105,7 +108,8 @@ Raytracing
- Blended materials and materials using raytrace refractions will not appear in dithered materials reflections. - Blended materials and materials using raytrace refractions will not appear in dithered materials reflections.
- Blended materials are not compatible with raytracing. - Blended materials are not compatible with raytracing.
- Only one refraction event is correctly modeled. - Only one refraction event is correctly modeled.
An approximation of the second refraction event can be achieved using the :ref:`Thickness workflow <bpy.types.Material.thickness>`. An approximation of the second refraction event can be achieved using the
:ref:`Thickness workflow <bpy.types.Material.thickness>`.
- Only dithered materials *not* using Raytrace Refractions can be refracted. - Only dithered materials *not* using Raytrace Refractions can be refracted.

View File

@ -18,7 +18,8 @@ Thickness
This feature is used to approximate the inner geometry structure of the object without heavy computation. This feature is used to approximate the inner geometry structure of the object without heavy computation.
This is currently used for Subsurface, Translucent BSDF, Refraction BSDF and the nodes containing them. This is currently used for Subsurface, Translucent BSDF, Refraction BSDF and the nodes containing them.
If no value is plugged into the output node, a default thickness based on the smallest dimension of the object is computed. If no value is plugged into the output node, a default thickness based on the smallest dimension of the object
is computed.
If a value is connected it will be used as object space thickness (i.e. scaled by object transform). If a value is connected it will be used as object space thickness (i.e. scaled by object transform).
A value of zero will disable the thickness approximation and treat the object as having only one interface. A value of zero will disable the thickness approximation and treat the object as having only one interface.
@ -28,7 +29,8 @@ A value of zero will disable the thickness approximation and treat the object as
- Shadow casting object will not cast shadow within the thickness distance. - Shadow casting object will not cast shadow within the thickness distance.
.. tip:: .. tip::
- For large or compound meshes (e.g. vegetation), the thickness should be set to the thickness of individual parts (e.g. leaves, grass blades). - For large or compound meshes (e.g. vegetation),
the thickness should be set to the thickness of individual parts (e.g. leaves, grass blades).
- Thickness can be baked to textures or custom attributes for more accurate result. - Thickness can be baked to textures or custom attributes for more accurate result.
@ -83,11 +85,13 @@ Displacement
Vertex position is modified. Vertex position is modified.
.. note:: .. note::
This type of displacement is not precomputed. It has a performance impact multiplied by the This type of displacement is not precomputed. It has a performance impact multiplied by the
render sample count. However, the evaluation is much faster than doing it using geometry render sample count. However, the evaluation is much faster than doing it using geometry
nodes or a displacement modifier. nodes or a displacement modifier.
.. note:: .. note::
Displacing flat shaded geometry will split adjacent faces. Displacing flat shaded geometry will split adjacent faces.
This can be worked around by passing the vertex normals as a custom attribute. This can be worked around by passing the vertex normals as a custom attribute.
@ -128,15 +132,19 @@ Render Method
.. admonition:: Sorting Problem .. admonition:: Sorting Problem
:class: important :class: important
When using *Blended* render method, the order in which the color blending happens is important as it When using *Blended* render method, the order in which the color blending
can change the final output color. EEVEE does not support per-fragment (pixel) sorting or per-triangle sorting. happens is important as it can change the final output color.
Only per-object sorting is available and is automatically done on all transparent surfaces based on object origin. EEVEE does not support per-fragment (pixel) sorting or per-triangle sorting.
Opaque surfaces (i.e. that have no transparency) will still have correct sorting regardless of the render method. Only per-object sorting is available and is automatically done on all
transparent surfaces based on object origin.
Opaque surfaces (i.e. that have no transparency)
will still have correct sorting regardless of the render method.
.. tip:: .. tip::
Face order can be adjusted in edit mode by using :doc:`sort element </modeling/meshes/editing/mesh/sort_elements>` Face order can be adjusted in edit mode by using
or using a :doc:`geometry node </modeling/geometry_nodes/geometry/operations/sort_elements>`. :doc:`sort element </modeling/meshes/editing/mesh/sort_elements>` or using a
:doc:`geometry node </modeling/geometry_nodes/geometry/operations/sort_elements>`.
.. note:: .. note::

View File

@ -23,7 +23,7 @@ Shadow
Light Probes Light Probes
============ ============
Objects can be set to not be captured by certain :doc:`light probe </render/eevee/light_probes/introduction>`. Objects can be set to not be captured by certain :doc:`light probe </render/eevee/light_probes/index>`.
This can be used, for example, to avoid animated object being recorded into static light probes. This can be used, for example, to avoid animated object being recorded into static light probes.
For instanced objects, visibility is inherited; if the parent object is hidden for some ray types, For instanced objects, visibility is inherited; if the parent object is hidden for some ray types,
the children will be hidden for these too. the children will be hidden for these too.

View File

@ -26,7 +26,8 @@ Indirect Light
.. note:: .. note::
These options provide a way to limit :term:`Fireflies` and :term:`Aliasing` of highly reflective surfaces and dense volumes. These options provide a way to limit :term:`Fireflies` and :term:`Aliasing`
of highly reflective surfaces and dense volumes.
However, note that as you clamp out such values, other bright lights will be dimmed as well. However, note that as you clamp out such values, other bright lights will be dimmed as well.
Care must be taken when using this setting to find a balance between mitigating fireflies and Care must be taken when using this setting to find a balance between mitigating fireflies and

View File

@ -20,7 +20,8 @@ Memory
.. _bpy.types.SceneEEVEE.shadow_pool_size: .. _bpy.types.SceneEEVEE.shadow_pool_size:
Shadow Pool Size Shadow Pool Size
A bigger pool size allows for more shadows in the scene but might not fit into GPU memory and decreases performance. A bigger pool size allows for more shadows in the scene but might not fit into GPU memory and decreases
performance.
Increasing it might fix the *Shadow buffer full* error. Increasing it might fix the *Shadow buffer full* error.
.. seealso:: .. seealso::
@ -29,7 +30,8 @@ Shadow Pool Size
.. _bpy.types.SceneEEVEE.gi_irradiance_pool_size: .. _bpy.types.SceneEEVEE.gi_irradiance_pool_size:
Light Probes Volume Pool Size Light Probes Volume Pool Size
A bigger pool size allows for more irradiance grids in the scene but might not fit into GPU memory and decreases performance. A bigger pool size allows for more irradiance grids in the scene but might not fit into GPU memory and
decreases performance.
Viewport Viewport

View File

@ -15,7 +15,8 @@ This is done by generating ray from each :abbr:`BSDF (Bidirectional Scattering D
and finding their intersection with the scene individually. and finding their intersection with the scene individually.
When disabled, it is replaced by a faster pipeline that uses pre-filtered light-probes. When disabled, it is replaced by a faster pipeline that uses pre-filtered light-probes.
This fallback mode offers a more visually stable and optimized alternative when visual fidelity is not the primary goal. This fallback mode offers a more visually stable and optimized alternative when visual
fidelity is not the primary goal.
.. seealso:: .. seealso::
@ -85,7 +86,8 @@ Fast GI Approximation is a fallback to the ray-tracing pipeline for
:abbr:`BSDF (Bidirectional Scattering Distribution Function)` with high roughness. :abbr:`BSDF (Bidirectional Scattering Distribution Function)` with high roughness.
It produces a less noisy output and captures bounce lighting more efficiently than individually traced rays. It produces a less noisy output and captures bounce lighting more efficiently than individually traced rays.
This is currently implemented as a screen space effect and will inherit all associated :ref:`limitations <eevee-limitations-screenspace>`. This is currently implemented as a screen space effect and will inherit all associated
:ref:`limitations <eevee-limitations-screenspace>`.
Method Method
Determine the method used to compute the fast GI approximation. Determine the method used to compute the fast GI approximation.
@ -111,7 +113,8 @@ Steps
.. tip:: .. tip::
With a higher step count, there is less chance to miss other surfaces that could reflect or block the light. With a higher step count, there is less chance to miss other surfaces that could reflect or block the light.
This means that the Fast GI *Thickness* parameters can be tweaked to lower values without losing too much light bounce energy. This means that the Fast GI *Thickness* parameters can be tweaked to lower values without losing too much light
bounce energy.
Precision Precision
Higher values increase the precision of the scene intersections with the GI rays. Higher values increase the precision of the scene intersections with the GI rays.
@ -123,7 +126,8 @@ Distance
Thickness Near Thickness Near
Geometric thickness of the surfaces when computing fast GI and ambient occlusion. Geometric thickness of the surfaces when computing fast GI and ambient occlusion.
Reduces light leaking and missing contact occlusion. Reduces light leaking and missing contact occlusion.
The effectiveness decreases proportionally to the distance from the shading point, following the inverse square law. The effectiveness decreases proportionally to the distance from the shading point,
following the inverse square law.
Far Far
Angular thickness of the surfaces when computing fast GI and ambient occlusion. Angular thickness of the surfaces when computing fast GI and ambient occlusion.

View File

@ -34,8 +34,10 @@ Custom Range
When working with volume objects, EEVEE automatically computes the best depth range where to compute When working with volume objects, EEVEE automatically computes the best depth range where to compute
the volume sampling and lighting. the volume sampling and lighting.
In certain situations, this isn't enough and produces sub-optimal sampling which increases noise. In certain situations, this isn't enough and produces sub-optimal sampling which increases noise.
This is particularly the case when using a volume shader inside the *World* or when working with large number of volume objects. This is particularly the case when using a volume shader inside the *World* or when working with large
The custom depth range can be enabled to restrict the computation of volumes to a certain range along the camera depth and thus increase precision. number of volume objects.
The custom depth range can be enabled to restrict the computation of volumes to a certain range along
the camera depth and thus increase precision.
Start Start
Start distance of the volumetric effect. Start distance of the volumetric effect.

View File

@ -6,9 +6,13 @@ World Settings
The world environment can emit light, ranging from a single solid color The world environment can emit light, ranging from a single solid color
to arbitrary textures. to arbitrary textures.
In EEVEE, the world lighting contribution is stored into an internal :doc:`Light Probe </render/eevee/light_probes/index>`. In EEVEE, the world lighting contribution is stored into an internal
:doc:`Light Probe </render/eevee/light_probes/index>`.
This makes the lighting less precise than Cycles. This makes the lighting less precise than Cycles.
.. _bpy.types.WorldMistSettings:
Mist Pass Mist Pass
========= =========
@ -83,7 +87,8 @@ Resolution
Sun Sun
--- ---
EEVEE can separate the light from intense light sources (e.g. a sun from an outdoor :abbr:`HDRI (High Dynamic Range Imaging)`) and EEVEE can separate the light from intense light sources
(e.g. a sun from an outdoor :abbr:`HDRI (High Dynamic Range Imaging)`) and
replace them with a sun light. This increases the quality of the lighting as the internal light probes replace them with a sun light. This increases the quality of the lighting as the internal light probes
alone cannot reproduce this type of lighting with enough precision. alone cannot reproduce this type of lighting with enough precision.

View File

@ -52,9 +52,13 @@ New objects can be created with the *Add* menu in the 3D Viewport's header.
Empty objects that display images in the 3D Viewport. Empty objects that display images in the 3D Viewport.
These images can be used to aid artists in modeling or animating. These images can be used to aid artists in modeling or animating.
Image Plane
Adds a :ref:`mesh plane <bpy.ops.mesh.primitive_plane_add>` with materials and texture from an image file.
The dimensions of the plane are calculated to match the aspect of the image file.
:doc:`Light </render/lights/light_object>` :doc:`Light </render/lights/light_object>`
Empty objects that emit light and are used for lighting the scene in renders. Empty objects that emit light and are used for lighting the scene in renders.
:doc:`Light Probe </render/eevee/light_probes/introduction>` :doc:`Light Probe </render/eevee/light_probes/index>`
Used by the EEVEE render engine to record lighting information for indirect lighting. Used by the EEVEE render engine to record lighting information for indirect lighting.
:doc:`Camera </render/cameras>` :doc:`Camera </render/cameras>`
@ -84,17 +88,15 @@ Type
You can change the type of some objects after their creation with a selector. You can change the type of some objects after their creation with a selector.
Radius/Size Radius/Size
Sets the starting size. Sets the starting size.
Align Align
Rotates the new object so that it is aligned in one of the following manners: Rotates the new object so that it is aligned in one of the following manners:
World :World:
Aligns the object to the global space axes, i.e. the object's front faces the negative Y axis (default). Aligns the object to the global space axes, i.e. the object's front faces the negative Y axis (default).
View :View:
Aligns the object to the view space axes, i.e. the object's front faces the viewport's point of view. Aligns the object to the view space axes, i.e. the object's front faces the viewport's point of view.
3D Cursor :3D Cursor:
Aligns the object to match the rotation of the :doc:`3D Cursor </editors/3dview/3d_cursor>`. Aligns the object to match the rotation of the :doc:`3D Cursor </editors/3dview/3d_cursor>`.
Location Location
Objects are placed, by default, at the position of the 3D Cursor. Objects are placed, by default, at the position of the 3D Cursor.
These values let you place the object in an other position. These values let you place the object in an other position.

View File

@ -38,7 +38,7 @@ Background Scene
.. _bpy.types.Scene.active_clip: .. _bpy.types.Scene.active_clip:
Active Clip Active Clip
Selects a :doc:`Movie Clip </movie_clip/introduction>` that can be used by Selects a :doc:`Movie Clip </movie_clip/index>` that can be used by
:ref:`constraints-motion-tracking` Constraints or a camera's :ref:`bpy.types.CameraBackgroundImage`. :ref:`constraints-motion-tracking` Constraints or a camera's :ref:`bpy.types.CameraBackgroundImage`.

View File

@ -73,8 +73,7 @@ Box Mask
:Menu: :menuselection:`Mask --> Box Mask` :Menu: :menuselection:`Mask --> Box Mask`
:Shortcut: :kbd:`B` :Shortcut: :kbd:`B`
Works like the :doc:`Box Mask </sculpt_paint/sculpting/tools/box_mask>` tool, Works like the :ref:`Box Mask <tool-box-mask>` tool, it creates a rectangular mask region.
it creates a rectangular mask region.
Hold :kbd:`Shift` or press :kbd:`MMB` to clear the mask of the selected region. Hold :kbd:`Shift` or press :kbd:`MMB` to clear the mask of the selected region.
@ -89,8 +88,7 @@ Lasso Mask
:Menu: :menuselection:`Mask --> Lasso Mask` :Menu: :menuselection:`Mask --> Lasso Mask`
:Shortcut: :kbd:`Shift-Ctrl-LMB` :Shortcut: :kbd:`Shift-Ctrl-LMB`
Can be used to create a free-form mask, similar to the Can be used to create a free-form mask, similar to the :ref:`Lasso Mask <tool-lasso-mask>` tool.
:doc:`Lasso Mask </sculpt_paint/sculpting/tools/box_mask>` tool.
This is very commonly used. This is very commonly used.
.. tip:: .. tip::
@ -197,7 +195,7 @@ Fill Holes
.. tip:: .. tip::
If nothing is masked, this operation can be used to just fill all holes. If nothing is masked, this operation can be used to just fill all holes.
Especially when using :doc:`Trim </sculpt_paint/sculpting/tools/lasso_trim>` Especially when using :doc:`Trim Tools </sculpt_paint/sculpting/tools/trim_tools>`
tools and the :doc:`Voxel Remesher </sculpt_paint/sculpting/tool_settings/remesh>` tools and the :doc:`Voxel Remesher </sculpt_paint/sculpting/tool_settings/remesh>`
.. ..

View File

@ -83,18 +83,18 @@ sculpting with the :doc:`voxel remesher </sculpt_paint/sculpting/tool_settings/r
.. _bpy.ops.sculpt.trim_box_gesture: .. _bpy.ops.sculpt.trim_box_gesture:
:doc:`/sculpt_paint/sculpting/tools/box_trim` :ref:`tool-box-trim`
Removes geometry based on a :ref:`box selection <tool-select-box>`. Removes geometry based on a :ref:`box selection <tool-select-box>`.
.. _bpy.ops.sculpt.trim_lasso_gesture: .. _bpy.ops.sculpt.trim_lasso_gesture:
:doc:`/sculpt_paint/sculpting/tools/lasso_trim` :ref:`tool-lasso-trim`
Removes geometry based on a :ref:`lasso selection <tool-select-lasso>`. Removes geometry based on a :ref:`lasso selection <tool-select-lasso>`.
:doc:`Box Add </sculpt_paint/sculpting/tools/box_trim>` :ref:`Box Add <tool-box-trim>`
Adds geometry based on a :ref:`box selection <tool-select-box>`. Adds geometry based on a :ref:`box selection <tool-select-box>`.
:doc:`Lasso Add </sculpt_paint/sculpting/tools/lasso_trim>` :ref:`Lasso Add <tool-lasso-trim>`
Adds geometry based on a :ref:`lasso selection <tool-select-lasso>`. Adds geometry based on a :ref:`lasso selection <tool-select-lasso>`.
.. _bpy.ops.sculpt.project_line_gesture: .. _bpy.ops.sculpt.project_line_gesture:

View File

@ -20,9 +20,8 @@ The inner ring of the brush cursor is used to visualize the strength of the brus
:doc:`Scrape </sculpt_paint/sculpting/tools/scrape>` brush. :doc:`Scrape </sculpt_paint/sculpting/tools/scrape>` brush.
The brush is also used for other :doc:`tools </sculpt_paint/sculpting/tools/index>` in the toolbar The brush is also used for other :doc:`tools </sculpt_paint/sculpting/tools/index>` in the toolbar
to better display how that tool works. to better display how that tool works. For example, the :ref:`Box Trim <tool-box-trim>`
For example, the :doc:`Box Trim </sculpt_paint/sculpting/tools/box_trim>` and :ref:`Lasso Trim <tool-lasso-trim>` tools are able to use the current brush radius
and :doc:`Lasso Trim </sculpt_paint/sculpting/tools/lasso_trim>` tools are able to use the current brush radius
for how deep geometry is trimmed or added. for how deep geometry is trimmed or added.

Some files were not shown because too many files have changed in this diff Show More