More cleanups.

This commit is contained in:
Relintai 2023-01-12 20:55:57 +01:00
parent 1ae7bcaf0b
commit 8c32760a70
216 changed files with 1131 additions and 565 deletions

View File

@ -16,7 +16,8 @@ distribute the software (and derivative projects, including games made with it).
Your game or project can have a different license, but it still needs to comply
with the original one.
.. warning::
Warning:
In your project's credits screen, remember to also list third-party notices
for assets you're using, such as textures, models, sounds, music and fonts.
@ -43,7 +44,8 @@ This text reads as follows:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.. note::
Note:
Your games do not need to be under the same license. You are free to release
your Godot projects under any license and to create commercial games with
@ -114,7 +116,8 @@ Godot license:
Portions of this software are copyright © ( year> The FreeType Project (www.freetype.org). All rights reserved.
.. note::
Note:
( year> should correspond to the value from the FreeType version used
in your build. This information can be found in the editor by opening
@ -160,7 +163,8 @@ Keep in mind that Godot 2.x and 3.0 use `OpenSSL ( https://www.openssl.org )`_ 1
instead. This old OpenSSL version used the OpenSSL license, not the Apache 2 license
as the latest version of OpenSSL currently uses (as of April 2022).
.. note::
Note:
If you exported your project using a
`custom build with specific modules disabled ( doc_optimizing_for_size )`,

View File

@ -8,7 +8,8 @@ includes many new tutorials, many fixes and updates for old tutorials, and many
to the `class reference ( toc-class-ref )`. Below is a list of new tutorials
added since version 3.1.
.. note:: This document only contains new tutorials so not all changes are reflected,
Note:
This document only contains new tutorials so not all changes are reflected,
many tutorials have been substantially updated but are not reflected in this document.
New tutorials since version 3.1

View File

@ -63,7 +63,8 @@ language and then compiled into a static website/offline document using the
open source `Sphinx ( http://www.sphinx-doc.org )`_ and `ReadTheDocs
( https://readthedocs.org/ )`_ tools.
.. note:: You can contribute to Godot's documentation by opening issue tickets
Note:
You can contribute to Godot's documentation by opening issue tickets
or sending patches via pull requests on its GitHub
`source repository ( https://github.com/godotengine/godot-docs )`_, or
translating it into your language on `Hosted Weblate

View File

@ -5,7 +5,8 @@ List of features
This page aims to list all features currently supported by Godot.
.. note::
Note:
This page lists features supported by the current stable version of
Godot (3.5). `More features ( https://docs.godotengine.org/en/latest/about/list_of_features.html )`
@ -281,7 +282,8 @@ Editor
- Real-time occluder shapes (sphere and polygon). Not as effective as rooms and portals
(and doesn't support gameplay notifications), but easier to set up.
.. note::
Note:
Most of the effects listed above can be adjusted for better performance or
to further improve quality. This can be helpful when using Godot for
@ -379,7 +381,8 @@ Scripting
- Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community.
.. warning::
Warning:
`Godot 4.0 will remove VisualScript from core entirely. ( https://godotengine.org/article/godot-4-will-discontinue-visual-scripting )`
As a result, creating new projects using visual scripting in Godot is not recommended.
@ -646,7 +649,8 @@ Miscellaneous
- Open developement process with `contributions welcome ( doc_ways_to_contribute )`.
.. seealso::
See also:
The `Godot proposals repository ( https://github.com/godotengine/godot-proposals )`
lists features that have been requested by the community and may be implemented

View File

@ -59,7 +59,8 @@ further developed for maintenance releases in a Git branch of the same name
(for example patch updates for the 3.3 stable branch are developed in the
`3.3` Git branch).
.. note::
Note:
As mentioned in the introduction, Godot's release policy is evolving, and
earlier Godot releases may not have followed the above rules to the letter.

View File

@ -5,7 +5,8 @@ Troubleshooting
This page lists common issues encountered when using Godot and possible solutions.
.. seealso::
See also:
See `doc_using_the_web_editor` for caveats specific to the HTML5 version
of the Godot editor.

View File

@ -38,7 +38,8 @@ is roughly in the middle of all test builds available). If you can't reproduce
the bug with Godot 3.2 beta 1, then try newer betas and RC builds. If you do
manage to reproduce the bug with Godot 3.2 beta 1, then try older alpha builds.
.. warning::
Warning:
For bisecting regressions, don't use patch releases such as Godot 3.1.2.
Instead, use the minor version's first release like Godot 3.1. This is
@ -55,7 +56,8 @@ system offers a built-in command for this: `git bisect`. This makes the
process semi-automated as you only have to build the engine, run it and try to
reproduce the bug.
.. note::
Note:
Before bisecting a regression, you need to set up a build environment to
compile Godot from source. To do so, read the
@ -138,7 +140,8 @@ regression appeared. Write this commit hash as a comment to the GitHub issue
you've bisected. This will help in solving the issue. Thanks again for
contributing to Godot :)
.. note::
Note:
You can read the full documentation on `git bisect`
`here ( https://git-scm.com/docs/git-bisect )`.

View File

@ -21,7 +21,8 @@ install all these tools. It comes pre-installed with `Python
( https://www.python.org/ )`. Ensure that you install and use Python 3. Here are
the commands to clone the repository and then install all requirements.
.. note:: You may need to write `python3 -m pip` (Unix) or `py -m pip` (Windows) instead of `pip3`.
Note:
You may need to write `python3 -m pip` (Unix) or `py -m pip` (Windows) instead of `pip3`.
If both approaches fail, `check that you have pip3 installed ( https://pip.pypa.io/en/stable/installation/ )`.
.. code:: sh
@ -69,7 +70,8 @@ In case you of a `MemoryError` or `EOFError`, you can remove the
`classes/` folder and run `make` again. This will drop the class references
from the final HTML documentation but will keep the rest intact.
.. note:: If you delete the `classes/` folder, do not use `git add .` when
Note:
If you delete the `classes/` folder, do not use `git add .` when
working on a pull request or the whole `classes/` folder will be
removed when you commit. See `#3157
( https://github.com/godotengine/godot-docs/issues/3157 )` for more

View File

@ -7,7 +7,8 @@ This page explains how to write the class reference. You will learn where to
write new descriptions for the classes, methods, and properties for Godot's
built-in node types.
.. seealso::
See also:
To learn to submit your changes to the Godot project using the Git version
control system, see `doc_updating_the_class_reference`.
@ -94,7 +95,8 @@ reference. The folder contains an XML file for each class. The XML lists the
constants and methods you will find in the class reference. Godot generates and
updates the XML automatically.
.. note:: For some modules in the engine's source code, you'll find the XML
Note:
For some modules in the engine's source code, you'll find the XML
files in the `modules/<module_name>/doc_classes/` directory instead.
Edit it using your favorite text editor. If you use a code editor, make sure

View File

@ -33,7 +33,8 @@ not introducing trailing whitespace or space-based indentation, you should be
fine. If you plan to contribute regularly however, we strongly advise that you
setup clang-format locally to check and automatically fix all your commits.
.. warning:: Godot's code style should *not* be applied to third-party code,
Warning:
Godot's code style should *not* be applied to third-party code,
i.e. that is included in Godot's source tree but was not written
specifically for our project. Such code usually come from
different upstream projects with their own style guides (or lack
@ -47,7 +48,8 @@ setup clang-format locally to check and automatically fix all your commits.
`/* clang-format off */` and `/* clang-format on */` to tell
clang-format to ignore a chunk of code.
.. seealso::
See also:
These guidelines only cover code formatting. See `doc_cpp_usage_guidelines`
for a list of language features that are permitted in pull requests.

View File

@ -29,7 +29,8 @@ Writing complete and accessible documentation
information about a feature and how it works, it doesn't exist to them. We
should ensure that we cover everything Godot does.
.. note::
Note:
When adding or updating an engine feature, the documentation team needs to
know about it. Contributors should open an issue on the `godot-docs` repository
@ -46,7 +47,8 @@ guide to solving problems they encounter. For example, instead of writing the
heading "Signals", consider writing "Reacting to changes with signals". The
second title makes it clear what the purpose of signals is.
.. note::
Note:
Long section titles lead to long entries in the side menu, which can make
navigation cumbersome. Try to keep headings five words long or less.
@ -83,7 +85,8 @@ concept. What new terms did you need to learn? What confused you? What was the
hardest to grasp? You will want users to review your work, and we recommend you
practice explaining the feature before writing about it.
.. note::
Note:
Having programming foundations is a pre-requisite to use a complex engine
like Godot. Talking about variables, functions, or classes is acceptable.

View File

@ -6,7 +6,8 @@ Contributing to the documentation
This guide explains how to contribute to Godot's documentation, be it by
writing or reviewing pages.
.. seealso::
See also:
If you want to translate pages or the class reference from English to other
languages, read `doc_editor_and_docs_localization`.
@ -19,12 +20,14 @@ files in the `godot-docs GitHub repository
( https://github.com/godotengine/godot-docs )`_. Modifying those pages in a pull
request triggers a rebuild of the online documentation upon merging.
.. seealso:: For details on Git usage and the pull request workflow, please
See also:
For details on Git usage and the pull request workflow, please
refer to the `doc_pr_workflow` page. Most of what it describes
regarding the main godotengine/godot repository is also valid for
the docs repository.
.. warning:: The class reference's source files are in the `Godot engine
Warning:
The class reference's source files are in the `Godot engine
repository ( https://github.com/godotengine/godot )`_. We generate
the `Godot API ( toc-class-ref )` section of this documentation
from them. If you want to update the description of a class, its
@ -67,7 +70,8 @@ edited here.** They are automatically generated from Godots `XML class
reference ( https://github.com/godotengine/godot/tree/master/doc/classes )`.
See `doc_updating_the_class_reference` for details.
.. seealso:: To build the manual and test changes on your computer, see
See also:
To build the manual and test changes on your computer, see
`doc_building_the_manual`.
Editing pages online
@ -153,7 +157,9 @@ Sphinx uses specific reST comments to do specific operations, like defining the
table of contents (`.. toctree::`) or cross-referencing pages. Check the
`official Sphinx documentation
( https://www.sphinx-doc.org/en/stable/index.html )` for more details. To learn
how to use Sphinx directives like `.. note::` or `.. seealso::`, check out
how to use Sphinx directives like `Note:
` or `See also:
`, check out
the `Sphinx directives documentation
( https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html )`.

View File

@ -22,7 +22,8 @@ To get your pull request merged, it needs to follow the C++ usage guidelines
outlined here. Of course, you can use features not allowed here in your own C++
modules or GDNative scripts.
.. note::
Note:
Prior to Godot 4.0, the C++ standard used throughout the codebase was C++03,
with a handful of C++14 extensions. If you are contributing a pull request
@ -33,7 +34,8 @@ modules or GDNative scripts.
generally favor small libraries instead of larger solutions. See also
`doc_best_practices_for_engine_contributors`.
.. seealso::
See also:
See `doc_code_style_guidelines` for formatting guidelines.
@ -60,7 +62,8 @@ This means that pull requests should **not** use `std::string`,
can be used as an alternative (ask core developers first).
- Use `Array` instead of `std::array`.
.. note::
Note:
Godot also has a List datatype (which is a linked list). While List is already used
in the codebase, it typically performs worse than other datatypes like Vector
@ -100,7 +103,8 @@ pull request.
To follow the existing style, please use standard `#ifdef`-based include
guards instead of `#pragma once` in new files.
.. seealso::
See also:
See `doc_code_style_guidelines_header_includes` for guidelines on sorting
includes in C++ and Objective-C files.

View File

@ -26,13 +26,15 @@ There are 3 rules to describe classes:
2. Mention what methods return if it's useful
3. Use "if true" to describe booleans
.. note::
Note:
A technical writer's job is to pack as much information as possible into
the smallest and clearest sentences possible. These guidelines will help
you work towards that goal.
.. seealso::
See also:
See the `content guidelines ( doc_content_guidelines )` for information
on the types of documentation you can write in the official documentation.
@ -535,6 +537,7 @@ heavier images, consider using a lossy compressor like `pngquant
( https://pngquant.org/ )`_. With it, almost no image quality is lost during
compression.
.. note::
Note:
The program pngquant must be installed locally as it's not available in Squoosh.

View File

@ -20,18 +20,21 @@ The HTML (or PDF and EPUB) documentation is generated from the .rst files
in a pull request and getting it merged will trigger a rebuild of the online
documentation.
.. seealso:: For details on Git usage and the pull request workflow, please
See also:
For details on Git usage and the pull request workflow, please
refer to the `doc_pr_workflow` page. Most of what it
describes regarding the main godotengine/godot repository is
also valid for the docs repository.
.. warning:: The class reference's source files are in the `Godot engine repository
Warning:
The class reference's source files are in the `Godot engine repository
( https://github.com/godotengine/godot )`_. We generate the `Godot API
( toc-class-ref )` section of this documentation from them. If you want to update the
description of a class, its methods, or properties, read
`doc_updating_the_class_reference`.
.. warning:: If you want to edit the **API reference**, please note that it
Warning:
If you want to edit the **API reference**, please note that it
should *not* be done in the godot-docs repository. Instead, you
should edit the `doc/classes/*` XML files of Godot's
main repository. These files are then later used to generate the

View File

@ -54,7 +54,8 @@ as an example) to find the list of all languages:
![](img/l10n_01_language_list.png)
.. seealso::
See also:
Feel free to consult Weblate's own documentation on the `translation
workflow ( https://docs.weblate.org/en/latest/user/translating.html )` for
@ -190,7 +191,8 @@ used with the `location:` token, e.g. `location:nodes_and_scenes.rst`):
![](img/l10n_06_browse_by_location.png)
.. note::
Note:
When a given source string is used in multiple source locations, they will
all be concatenated into one. For example, the above
@ -243,7 +245,8 @@ The editor translations originate from C++ strings, and may use:
Scene '%s' is currently being edited.↵
Changes will only take effect when reloaded.
.. note::
Note:
Only logical order of the characters matters, in the right-to-left text, format
specifiers may be displayed as `s%`.
@ -290,7 +293,8 @@ external links, etc. Here are some examples::
Save the scene. Click Scene -> Save, or press :kbd:`Ctrl + S` on Windows/Linux
or :kbd:`Cmd + S` on macOS.
.. seealso::
See also:
See Sphinx's `reStructured Text primer ( https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html )`
for a quick overview of the markup language you may find in source strings.
@ -325,7 +329,8 @@ translate the name of the variable which holds the result (`red = ...`).
Note also that in the XML, each line is a paragraph, so you should not add line
breaks if they are not part of the original translation.
.. seealso::
See also:
See our documentation for class reference writers for the `list of
BBCode-like tags ( doc_class_reference_writing_guidelines_bbcode )` which are used
@ -348,7 +353,8 @@ Once you are done with a series of edits, use the "Upload translation" item in
that same menu and select your file. Choose "Add as translation" for the file
upload mode.
.. note::
Note:
If a significant amount of time has passed between your download of the PO
file and the upload of the edited version, there is a risk to overwrite the
@ -378,7 +384,8 @@ This part is not handled via Weblate, but directly on the `godot-docs-l10n
( https://github.com/godotengine/godot-docs-l10n )`_ Git repository where the
documentation translations are synced from Weblate.
.. note::
Note:
The workflow is not the most straightforward and requires some knowledge of
Git. We plan to work on a simplified Web tool which could be used to manage

View File

@ -29,7 +29,8 @@ The `repository on GitHub ( https://github.com/godotengine/godot )`_ is a
`Git ( https://git-scm.com )`_ code repository together with an embedded
issue tracker and PR system.
.. note:: If you are contributing to the documentation, its repository can
Note:
If you are contributing to the documentation, its repository can
be found `here ( https://github.com/godotengine/godot-docs )`_.
The Git version control system is the tool used to keep track of successive
@ -42,7 +43,8 @@ contributions (although it's tolerated for small fixes or documentation changes)
as it enforces one commit per file and per modification,
which quickly leads to PRs with an unreadable Git history (especially after peer review).
.. seealso:: The first sections of Git's "Book" are a good introduction to
See also:
The first sections of Git's "Book" are a good introduction to
the tool's philosophy and the various commands you need to
master in your daily workflow. You can read them online on the
`Git SCM ( https://git-scm.com/book/en/v2 )`_ website.
@ -87,7 +89,8 @@ repository (in Git speak, the *origin remote*). If you haven't already,
download Git from `its website ( https://git-scm.com )`_ if you're using Windows or
macOS, or install it through your package manager if you're using Linux.
.. note:: If you are on Windows, open Git Bash to type commands. macOS and Linux users
Note:
If you are on Windows, open Git Bash to type commands. macOS and Linux users
can use their respective terminals.
To clone your fork from GitHub, use the following command:
@ -96,7 +99,8 @@ To clone your fork from GitHub, use the following command:
$ git clone https://github.com/USERNAME/godot
.. note:: In our examples, the "$" character denotes the command line prompt
Note:
In our examples, the "$" character denotes the command line prompt
on typical UNIX shells. It is not part of the command and should
not be typed.
@ -123,7 +127,8 @@ You only need to do the above steps once, as long as you keep that local
`godot` folder (which you can move around if you want, the relevant
metadata is hidden in its `.git` subfolder).
.. note:: *Branch it, pull it, code it, stage it, commit, push it, rebase
Note:
*Branch it, pull it, code it, stage it, commit, push it, rebase
it... technologic.*
This bad take on Daft Punk's *Technologic* shows the general
@ -218,7 +223,8 @@ we all do the first few times), you can abort the rebase with `git rebase --abor
You will then be back to the original state of your branch before calling
`git pull --rebase`.
.. note:: If you omit the `--rebase` argument, you will instead create a merge
Note:
If you omit the `--rebase` argument, you will instead create a merge
commit which tells Git what to make of the two distinct branches. If any
conflicts arise, they would be resolved all at once via this merge commit.
@ -454,7 +460,8 @@ upstream `master` branch, which you can do with:
$ git rebase -i upstream/master
.. note:: Referencing branches in Git is a bit tricky due to the distinction
Note:
Referencing branches in Git is a bit tricky due to the distinction
between remote and local branches. Here, `upstream/master` (with a
`/`) is a local branch which has been pulled from the `upstream`
remote's `master` branch.

View File

@ -18,7 +18,8 @@ You can download pull request builds from GitHub Actions. Since only signed in
users may download builds directly from GitHub Actions, the procedure varies
depending on whether you have a GitHub account or not.
.. note::
Note:
Due to a GitHub Actions limitation, builds are only available for 90 days
after the pull request was last updated. If you still wish to try a

View File

@ -17,7 +17,8 @@ the `godot-docs repository ( https://github.com/godotengine/godot-docs/ )`_
or comment on an existing issue. Doing so lets others know you're already
taking care of a given class.
.. seealso::
See also:
You can find the writing guidelines for the class reference `here ( doc_class_reference_writing_guidelines )`.
@ -30,7 +31,8 @@ taking care of a given class.
This guide is also available as a `video tutorial on YouTube
( https://www.youtube.com/watch?v=5jeHXxeX-JY )`_.
.. seealso::
See also:
Not sure which class to contribute to? Take a look at the class reference's
completion status `here ( https://godotengine.github.io/doc-status/ )`_.
@ -39,15 +41,18 @@ You can find the source files for the class reference in Godot's GitHub
repository: `doc/classes/
( https://github.com/godotengine/godot/tree/master/doc/classes )`_.
.. note:: For some modules in the engine's source code, you'll find the XML
Note:
For some modules in the engine's source code, you'll find the XML
files in the `modules/( module_name>/doc_classes/` directory instead.
.. warning:: Always edit the API reference through these source XML files. Do
Warning:
Always edit the API reference through these source XML files. Do
not edit the generated `.rst` files `in the online documentation
( toc-class-ref )`, hosted in the `godot-docs
( https://github.com/godotengine/godot-docs )`_ repository.
.. warning::
Warning:
Unless you make minor changes, like fixing a typo, we do not recommend using the GitHub web editor to edit the class reference's XML.

View File

@ -88,7 +88,8 @@ A good place to start is by searching for issues tagged as
`good first issue ( https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 )`_
on GitHub.
.. seealso:: Technical details about the PR workflow are outlined in a
See also:
Technical details about the PR workflow are outlined in a
specific section, `doc_pr_workflow`.
Details about the code style guidelines and the `clang-format`
@ -108,7 +109,8 @@ has a `proposal system ( https://github.com/godotengine/godot-proposals )`_. Its
usage is encouraged to plan changes and discuss them with the community. Implementation
details can also be discussed with other contributors on the `Godot Contributors Chat ( https://chat.godotengine.org/ )`_.
.. note:: Proposals are only required when working on an enhancement or a new feature.
Note:
Proposals are only required when working on an enhancement or a new feature.
Bug reports are sufficient for fixing issues.
Testing and reporting issues

View File

@ -4,7 +4,8 @@ Compiling for Android
=====================
.. seealso::
See also:
This page describes how to compile Android export template binaries from source.
If you're looking to export your project to Android instead, read `doc_exporting_for_android`.
@ -39,7 +40,8 @@ For compiling under Windows, Linux or macOS, the following is required:
- You can download a build from `ojdkbuild ( https://github.com/ojdkbuild/ojdkbuild )`_.
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see
@ -69,11 +71,13 @@ Setting up the buildsystem
tools/bin/sdkmanager --sdk_root=( android_sdk_path> "platform-tools" "build-tools;30.0.3" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404"
.. seealso:: To set the environment variable on Windows, press :kbd:`Windows + R`, type
See also:
To set the environment variable on Windows, press :kbd:`Windows + R`, type
"control system", then click on **Advanced system settings** in the left
pane, then click on **Environment variables** on the window that appears.
.. seealso:: To set the environment variable on Linux or macOS, use
See also:
To set the environment variable on Linux or macOS, use
`export ANDROID_SDK_ROOT=/path/to/android-sdk` where `/path/to/android-sdk` points to
the root of the SDK directories.

View File

@ -4,7 +4,8 @@ Compiling for iOS
=================
.. seealso::
See also:
This page describes how to compile iOS export template binaries from source.
If you're looking to export your project to iOS instead, read `doc_exporting_for_ios`.
@ -17,7 +18,8 @@ Requirements
to run `scons` in a terminal when installed).
- Xcode 10.0 (or later) with the iOS (10.0) SDK and the command line tools.
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see

View File

@ -4,7 +4,8 @@ Compiling for macOS
===================
.. note::
Note:
This page describes how to compile macOS editor and export template binaries from source.
If you're looking to export your project to macOS instead, read `doc_exporting_for_macos`.
@ -20,7 +21,8 @@ For compiling under macOS, the following is required:
(or the more lightweight Command Line Tools for Xcode).
- *Optional* - `yasm ( https://yasm.tortall.net/ )`_ (for WebM SIMD optimizations).
.. note:: If you have `Homebrew ( https://brew.sh/ )`_ installed, you can easily
Note:
If you have `Homebrew ( https://brew.sh/ )`_ installed, you can easily
install SCons and yasm using the following command::
brew install scons yasm
@ -34,7 +36,8 @@ For compiling under macOS, the following is required:
sudo port install scons yasm
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see
@ -62,7 +65,8 @@ If all goes well, the resulting binary executable will be placed in the
runs without any dependencies. Executing it will bring up the project
manager.
.. note:: If you want to use separate editor settings for your own Godot builds
Note:
If you want to use separate editor settings for your own Godot builds
and official releases, you can enable
`doc_data_paths_self_contained_mode` by creating a file called
`._sc_` or `_sc_` in the `bin/` folder.

View File

@ -4,7 +4,8 @@ Compiling for Universal Windows Platform
========================================
.. seealso::
See also:
This page describes how to compile UWP export template binaries from source.
If you're looking to export your project to UWP instead, read `doc_exporting_for_uwp`.
@ -20,7 +21,8 @@ Requirements
`ms_master` (default) branch. Keep it in a path without spaces to
avoid problems.
.. note:: The ANGLE repo by Microsoft has been discontinued and the
Note:
The ANGLE repo by Microsoft has been discontinued and the
`ms_master` branch has been cleared out.
As a temporary workaround however, it is still possible to
@ -30,7 +32,8 @@ Requirements
This page will eventually be updated in the future to reflect
the new build instructions.
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see

View File

@ -3,7 +3,8 @@
Compiling for the Web
=====================
.. seealso::
See also:
This page describes how to compile HTML5 editor and export template binaries from source.
If you're looking to export your project to HTML5 instead, read `doc_exporting_for_web`.
@ -18,7 +19,8 @@ To compile export templates for the Web, the following is required:
- `Python 3.5+ ( https://www.python.org/ )`.
- `SCons 3.0+ ( https://www.scons.org )` build system.
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see

View File

@ -4,7 +4,8 @@ Compiling for Windows
=====================
.. seealso::
See also:
This page describes how to compile Windows editor and export template binaries from source.
If you're looking to export your project to Windows instead, read `doc_exporting_for_windows`.
@ -25,12 +26,14 @@ For compiling under Windows, the following is required:
- `SCons ( https://www.scons.org/ )`_ build system. Using the latest release is
recommended, especially for proper support of recent Visual Studio releases.
.. note:: If you have `Scoop ( https://scoop.sh/ )`_ installed, you can easily
Note:
If you have `Scoop ( https://scoop.sh/ )`_ installed, you can easily
install MinGW and other dependencies using the following command::
scoop install gcc python scons make
.. note:: If you have `MSYS2 ( https://www.msys2.org/ )`_ installed, you can easily
Note:
If you have `MSYS2 ( https://www.msys2.org/ )`_ installed, you can easily
install MinGW and other dependencies using the following command::
pacman -S mingw-w64-x86_64-python3-pip mingw-w64-x86_64-gcc \
@ -39,7 +42,8 @@ For compiling under Windows, the following is required:
For each MSYS2 MinGW subsystem, you should then run
`pip3 install scons` in its shell.
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see
@ -95,7 +99,8 @@ Refer to `doc_getting_source` for detailed instructions.
The tutorial will assume from now on that you placed the source code in
`C:\godot`.
.. warning::
Warning:
To prevent slowdowns caused by continuous virus scanning during compilation,
add the Godot source folder to the list of exceptions in your antivirus
@ -141,7 +146,8 @@ In general, it is OK to have at least as many threads compiling Godot as you
have cores in your CPU, if not one or two more. Feel free to add the `-j`
option to any SCons command you see below.
.. note:: When compiling with multiple CPU threads, SCons may warn about
Note:
When compiling with multiple CPU threads, SCons may warn about
pywin32 being missing. You can safely ignore this warning.
If all goes well, the resulting binary executable will be placed in
@ -153,7 +159,8 @@ your CPU architecture, but this can be overridden using `bits=64` or
This executable file contains the whole engine and runs without any
dependencies. Running it will bring up the Project Manager.
.. note:: If you are compiling Godot for production use, then you can
Note:
If you are compiling Godot for production use, then you can
make the final executable smaller and faster by adding the
SCons option `target=release_debug`.
@ -162,7 +169,8 @@ dependencies. Running it will bring up the Project Manager.
As link-time optimization is a memory-intensive process,
this will require about 7 GB of available RAM while compiling.
.. note:: If you want to use separate editor settings for your own Godot builds
Note:
If you want to use separate editor settings for your own Godot builds
and official releases, you can enable
`doc_data_paths_self_contained_mode` by creating a file called
`._sc_` or `_sc_` in the `bin/` folder.
@ -185,7 +193,8 @@ the `vsproj=yes` parameter, like this::
You will be able to open Godot's source in a Visual Studio solution now,
and able to build Godot using Visual Studio's **Build** button.
.. seealso:: See `doc_configuring_an_ide_vs` for further details.
See also:
See `doc_configuring_an_ide_vs` for further details.
Cross-compiling for Windows from other operating systems
--------------------------------------------------------

View File

@ -4,7 +4,8 @@ Compiling for X11 (Linux, \*BSD)
================================
.. seealso::
See also:
This page describes how to compile Linux editor and export template binaries from source.
If you're looking to export your project to Linux instead, read `doc_exporting_for_linux`.
@ -30,7 +31,8 @@ required:
- *Optional* - libudev (build with `udev=yes`).
- *Optional* - yasm (for WebM SIMD optimizations).
.. seealso:: To get the Godot source code for compiling, see
See also:
To get the Godot source code for compiling, see
`doc_getting_source`.
For a general overview of SCons usage for Godot, see
@ -116,7 +118,8 @@ If all goes well, the resulting binary executable will be placed in the
runs without any dependencies. Executing it will bring up the project
manager.
.. note::
Note:
If you wish to compile using Clang rather than GCC, use this command:
@ -127,7 +130,8 @@ manager.
Using Clang appears to be a requirement for OpenBSD, otherwise fonts
would not build.
.. note:: If you are compiling Godot for production use, then you can
Note:
If you are compiling Godot for production use, then you can
make the final executable smaller and faster by adding the
SCons option `target=release_debug`.
@ -136,7 +140,8 @@ manager.
As link-time optimization is a memory-intensive process,
this will require about 7 GB of available RAM while compiling.
.. note:: If you want to use separate editor settings for your own Godot builds
Note:
If you want to use separate editor settings for your own Godot builds
and official releases, you can enable
`doc_data_paths_self_contained_mode` by creating a file called
`._sc_` or `_sc_` in the `bin/` folder.
@ -162,7 +167,8 @@ use::
Building export templates
-------------------------
.. warning:: Linux binaries usually won't run on distributions that are
Warning:
Linux binaries usually won't run on distributions that are
older than the distribution they were built on. If you wish to
distribute binaries that work on most distributions,
you should build them on an old distribution such as Ubuntu 16.04.

View File

@ -165,7 +165,8 @@ The data directory is a dependency for Godot binaries built with the Mono module
enabled. It contains important files for the correct functioning of Godot. It
must be distributed together with the Godot executable.
.. note:: The information below doesn't apply for Android, iOS and WASM,
Note:
The information below doesn't apply for Android, iOS and WASM,
as there is no data directory for these platforms.
Export templates

View File

@ -14,7 +14,8 @@ optimized and without symbols, it would take some effort to find it.
For this to work, you need to build the export templates from source,
with that same key.
.. warning::
Warning:
This will **not** work if you use official, precompiled export templates.
It is absolutely **required** to compile your own export templates to use

View File

@ -201,13 +201,15 @@ directory paths containing such modules:
scons custom_modules="../modules,/abs/path/to/modules,~/src/godot_modules"
.. note::
Note:
If there's any custom module with the exact directory name as a built-in
module, the engine will only compile the custom one. This logic can be used
to override built-in module implementations.
.. seealso::
See also:
`doc_custom_modules_in_c++`
@ -256,7 +258,8 @@ source to initialize any SCons build options passed via the command line:
You can also disable some of the builtin modules before compiling, saving some
time it takes to build the engine. See `doc_optimizing_for_size` page for more details.
.. seealso::
See also:
You can use the online
`Godot build options generator ( https://godot-build-options-generator.github.io/ )`
@ -270,7 +273,8 @@ line option, both overriding the default build configuration:
scons profile=path/to/custom.py
.. note:: Build options set from the file can be overridden by the command line
Note:
Build options set from the file can be overridden by the command line
options.
It's also possible to override the options conditionally:

View File

@ -42,7 +42,8 @@ The downside is that crash backtraces will no longer provide accurate informatio
`C++ profilers ( doc_using_cpp_profilers )` will also no longer be able to display
function names (this does not affect the built-in GDScript profiler).
.. note::
Note:
The above command will not work on Windows binaries compiled with MSVC
and platforms such as Android and HTML5. Instead, pass `debug_symbols=no`
@ -212,6 +213,7 @@ following:
module_websocket_enabled = "no"
module_xatlas_unwrap_enabled = "no"
.. seealso::
See also:
`doc_overriding_build_options`.

View File

@ -92,7 +92,8 @@ To insert placeholders in localizable strings, wrap the localization macro in a
String file_path = "example.txt";
vformat(TTR("Couldn't open \"%s\" for reading."), file_path);
.. note::
Note:
When using `vformat()` and a translation macro together, always wrap the
translation macro in `vformat()`, not the other way around. Otherwise, the
@ -135,7 +136,8 @@ use this snippet:
This will print the time spent between the `begin` declaration and the `end`
declaration.
.. note::
Note:
You may have to `#include "core/os/os.h"` if it's not present already.
@ -175,13 +177,15 @@ Error macros
Godot features many error macros to make error reporting more convenient.
.. warning::
Warning:
Conditions in error macros work in the **opposite** way of GDScript's
built-in `assert()` function. An error is reached if the condition inside
evaluates to `true`, not `false`.
.. note::
Note:
Only variants with custom messages are documented here, as these should
always be used in new contributions. Make sure the custom message provided
@ -235,7 +239,8 @@ Godot features many error macros to make error reporting more convenient.
CRASH_NOW_MSG("Can't predict the future! Aborting.");
.. seealso::
See also:
See `core/error_macros.h ( https://github.com/godotengine/godot/blob/3.x/core/error_macros.h )`
in Godot's codebase for more information about each error macro.

View File

@ -65,7 +65,8 @@ You will first need to `compile godot yourself ( https://docs.godotengine.org/en
You can now use the debugging tools from CLion.
.. note::
Note:
If you run the binary without any arguments, you will only debug the project manager window.
Don't forget to add the `--path path/to/your/godot/project` argument to debug a project.

View File

@ -29,7 +29,8 @@ Importing the project
:figclass: figure-w480
:align: center
.. note:: You can change this configuration later by right-clicking on your project
Note:
You can change this configuration later by right-clicking on your project
and selecting the **Edit Files...** option.
.. figure:: img/qtcreator-edit-files-menu.png)
@ -65,7 +66,8 @@ Importing the project
:figclass: figure-w480
:align: center
.. note:: If the build fails with `Could not start process "scons"`, it can mean that `scons`
Note:
If the build fails with `Could not start process "scons"`, it can mean that `scons`
is not in your `PATH` environment variable. In this case, you'll have to specify the
full path to the SCons binary.

View File

@ -20,7 +20,8 @@ with the solution file, it can be generated using SCons.
or by using the **Open a project or solution** option inside of the Visual Studio.
- Use the **Build** top menu to build the project.
.. warning:: Visual Studio must be configured with the C++ package. It can be selected
Warning:
Visual Studio must be configured with the C++ package. It can be selected
in the intaller:
.. figure:: img/vs_1_install_cpp_package.png)

View File

@ -166,7 +166,8 @@ js Windows
An example of a filled out `launch.json`.
.. note::
Note:
Due to sporadic performance issues, it is recommended to use LLDB over GDB on Unix-based systems.
Make sure that the `CodeLLDB extension ( https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb )`_

View File

@ -43,7 +43,8 @@ Importing the project
:figclass: figure-w480
:align: center
.. note:: Name it something so you know not to compile with this target (e.g. `GodotXcodeIndex`).
Note:
Name it something so you know not to compile with this target (e.g. `GodotXcodeIndex`).
- For this target open the **Build Settings** tab and look for **Header Search Paths**.
- Set **Header Search Paths** to the absolute path to the Godot root folder. You need to

View File

@ -221,7 +221,8 @@ You can then zip it and share the module with everyone else. When
building for every platform (instructions in the previous sections),
your module will be included.
.. note:: There is a parameter limit of 5 in C++ modules for things such
Note:
There is a parameter limit of 5 in C++ modules for things such
as subclasses. This can be raised to 13 by including the header
file `core/method_bind_ext.gen.inc`.
@ -241,12 +242,14 @@ You can now use your newly created module from any script:
The output will be `60`.
.. seealso:: The previous Summator example is great for small, custom modules,
See also:
The previous Summator example is great for small, custom modules,
but what if you want to use a larger, external library? Refer to
`doc_binding_to_external_libraries` for details about binding to
external libraries.
.. warning:: If your module is meant to be accessed from the running project
Warning:
If your module is meant to be accessed from the running project
(not just from the editor), you must also recompile every export
template you plan to use, then specify the path to the custom
template in each export preset. Otherwise, you'll get errors when
@ -294,21 +297,24 @@ modules, similar to the following:
The build system shall detect all modules under the `../modules` directory
and compile them accordingly, including our "summator" module.
.. warning::
Warning:
Any path passed to `custom_modules` will be converted to an absolute path
internally as a way to distinguish between custom and built-in modules. It
means that things like generating module documentation may rely on a
specific path structure on your machine.
.. seealso::
See also:
`Introduction to the buildsystem - Custom modules build option ( doc_buildsystem_custom_modules )`.
Improving the build system for development
------------------------------------------
.. warning::
Warning:
This shared library support is not designed to support distributing a module
to other users without recompiling the engine. For that purpose, use
@ -375,7 +381,8 @@ during runtime with the `LD_LIBRARY_PATH` environment variable:
export LD_LIBRARY_PATH="$PWD/bin/"
./bin/godot*
.. note::
Note:
You have to `export` the environment variable. Otherwise,
you won't be able to run your project from the editor.

View File

@ -3,7 +3,8 @@
Object class
============
.. seealso::
See also:
This page describes the C++ implementation of objects in Godot.
Looking for the Object class reference? `Have a look here.`

View File

@ -6,7 +6,8 @@ Using C++ profilers
To optimize Godot's performance, you need to know what to optimize first.
To this end, profilers are useful tools.
.. note::
Note:
There is a built-in GDScript profiler in the editor, but using C++ profiler
may be useful in cases where the GDScript profiler is not accurate enough
@ -40,7 +41,8 @@ compile binaries with the following SCons options:
It is possible to run a profiler on less optimized builds (e.g. `target=debug` without LTO),
but results will naturally be less representative of real world conditions.
.. warning::
Warning:
Do *not* strip debugging symbols on the binaries using the `strip` command
after compiling the binaries. Otherwise, you will no longer get useful
@ -55,7 +57,8 @@ This will exit Godot just after it finished starting.
The `--quit` option works with `--editor`, `--project-manager` or
`--path <path to project directory )` (which runs a project directly).
.. seealso::
See also:
See `doc_command_line_tutorial` for more command line arguments
supported by Godot.
@ -123,7 +126,8 @@ HotSpot
![](img/cpp_profiler_hotspot_flame_graph.png)
.. note::
Note:
If you don't want the startup procedure to be included in the profile, you
can also attach HotSpot to a running process by clicking **Record Data**

View File

@ -66,7 +66,8 @@ The `--multipass` switch improves compression, so make sure to include it.
The optimized icon will be saved to `svg_optimized.svg`. You can also change
the destination parameter to any relative or absolute path you'd like.
.. note::
Note:
While this optimization step won't impact the icon's quality noticeably, it
will still remove editor-only information such as guides. Therefore, it's

View File

@ -26,7 +26,8 @@ Writing style
Double quotes should be used to quote user input, file paths and possibly
other things depending on the context.
.. seealso::
See also:
Try to follow the `doc_docs_writing_guidelines` in addition to the
guidelines outlined above.

View File

@ -11,7 +11,8 @@ On this page, you will learn:
This guide is aimed at current or future engine contributors.
To create editor plugins in GDScript, see `doc_making_plugins` instead.
.. seealso::
See also:
If you are new to Godot, we recommended you to read
`doc_godot_design_philosophy` before continuing. Since the Godot editor

View File

@ -38,7 +38,8 @@ children are not selectable."
Save the scene. Click Scene -> Save, or press :kbd:`Ctrl + S` on Windows/Linux
or :kbd:`Cmd + S` on macOS.
.. note:: For this project, we will be following the Godot naming conventions.
Note:
For this project, we will be following the Godot naming conventions.
- **GDScript**: Classes (nodes) use PascalCase, variables and
functions use snake_case, and constants use ALL_CAPS (See

View File

@ -15,12 +15,14 @@ Script" button:
In the script settings window, you can leave the default settings alone. Just
click "Create":
.. note:: If you're creating a C# script or other languages, select the language
Note:
If you're creating a C# script or other languages, select the language
from the `language` drop down menu before hitting create.
![](img/attach_node_window.png)
.. note:: If this is your first time encountering GDScript, please read
Note:
If this is your first time encountering GDScript, please read
`doc_scripting` before continuing.
Start by declaring the member variables this object will need:
@ -90,7 +92,8 @@ Your input map tab should look like this:
Click the "Close" button to close the project settings.
.. note::
Note:
We only mapped one key to each input action, but you can map multiple keys,
joystick buttons, or mouse buttons to the same input action.
@ -166,7 +169,8 @@ gdscript GDScript
Click "Play Scene" (:kbd:`F6`, :kbd:`Cmd + R` on macOS) and confirm you can move
the player around the screen in all directions.
.. warning:: If you get an error in the "Debugger" panel that says
Warning:
If you get an error in the "Debugger" panel that says
`Attempt to call function 'play' in base 'null instance' on a null
instance`
@ -198,7 +202,8 @@ gdscript GDScript
$AnimatedSprite.flip_v = velocity.y > 0
```
.. Note:: The boolean assignments in the code above are a common shorthand for
Note:
The boolean assignments in the code above are a common shorthand for
programmers. Since we're doing a comparison test (boolean) and also
*assigning* a boolean value, we can do both at the same time. Consider
this code versus the one-line boolean assignment above:
@ -277,7 +282,8 @@ Each time an enemy hits the player, the signal is going to be emitted. We need
to disable the player's collision so that we don't trigger the `hit` signal
more than once.
.. Note:: Disabling the area's collision shape can cause an error if it happens
Note:
Disabling the area's collision shape can cause an error if it happens
in the middle of the engine's collision processing. Using
`set_deferred()` tells Godot to wait to disable the shape until it's
safe to do so.

View File

@ -84,7 +84,8 @@ We then need to pick a random number between `0` and `2` to select one of
these names from the list (array indices start at `0`). `randi() % n`
selects a random integer between `0` and `n-1`.
.. note:: You must use `randomize()` if you want your sequence of "random"
Note:
You must use `randomize()` if you want your sequence of "random"
numbers to be different every time you run the scene. We're going to
use `randomize()` in our `Main` scene, so we won't need it here.

View File

@ -53,7 +53,8 @@ Once you've done this on the `ScoreLabel`, you can click the down arrow next
to the Font property and choose "Copy", then "Paste" it in the same place
on the other two Control nodes.
.. note:: **Anchors and Margins:** `Control` nodes have a position and size,
Note:
**Anchors and Margins:** `Control` nodes have a position and size,
but they also have anchors and margins. Anchors define the origin -
the reference point for the edges of the node. Margins update
automatically when you move or resize a control node. They represent
@ -139,7 +140,8 @@ This function is called when the player loses. It will show "Game Over" for 2
seconds, then return to the title screen and, after a brief pause, show the
"Start" button.
.. note:: When you need to pause for a brief time, an alternative to using a
Note:
When you need to pause for a brief time, an alternative to using a
Timer node is to use the SceneTree's `create_timer()` function. This
can be very useful to add delays such as in the above code, where we
want to wait some time before showing the "Start" button.

View File

@ -12,7 +12,8 @@ game of your own, like the image below.
You will learn how the Godot editor works, how to structure a project, and build
a 2D game.
.. note:: This project is an introduction to the Godot engine. It assumes that
Note:
This project is an introduction to the Godot engine. It assumes that
you have some programming experience already. If you're new to
programming entirely, you should start here: `doc_scripting`.

View File

@ -77,7 +77,8 @@ the Z axis.
|image9|
.. note::
Note:
In 3D, translation and size units are in meters. The box's total size is
twice its extents: `60` by `60` meters on the ground plane and `2`
@ -110,7 +111,8 @@ and click and drag down on the Y axis. It's the green arrow in the move gizmo.
|image13|
.. note::
Note:
If you can't see the 3D object manipulator like on the image above, ensure
the *Select Mode* is active in the toolbar above the view.
@ -122,7 +124,8 @@ viewport tells you how much you're translating the node.
|image15|
.. note::
Note:
Moving the *Ground* node down moves both children along with it.
Ensure you move the *Ground* node, **not** the *MeshInstance* or the

View File

@ -21,7 +21,8 @@ environment, but instead of being controlled by the physics engine, you dictate
their movement. You will see how we use the node's unique features when we code
the jump and squash mechanics.
.. seealso::
See also:
To learn more about the different physics node types, see the
`doc_physics_introduction`.
@ -40,7 +41,8 @@ This should instantiate the model as a child of *Pivot*. You can rename it to
|image2|
.. note::
Note:
The `.glb` files contain 3D scene data based on the open-source GLTF 2.0
specification. They're a modern and powerful alternative to a proprietary format

View File

@ -34,7 +34,8 @@ These are common properties for a moving body. The `velocity` is a 3D vector
combining a speed with a direction. Here, we define it as a property because
we want to update and reuse its value across frames.
.. note::
Note:
The values are quite different from 2D code because distances are in meters.
While in 2D, a thousand units (pixels) may only correspond to half of your
@ -68,7 +69,8 @@ virtual function. Like `_process()`, it allows you to update the node every
frame, but it's designed specifically for physics-related code like moving a
kinematic or rigid body.
.. seealso::
See also:
To learn more about the difference between `_process()` and
`_physics_process()`, see `doc_idle_and_physics_processing`.
@ -103,7 +105,8 @@ In this case, we also get the *Pivot* node and call its `look_at()` method.
This method takes a position in space to look at in global coordinates and the
up direction. In this case, we can use the `Vector3.UP` constant.
.. note::
Note:
A node's local coordinates, like `translation`, are relative to their
parent. Global coordinates are relative to the world's main axes you can see

View File

@ -58,7 +58,8 @@ Once a monster leaves the screen, we don't need it anymore, so we can delete it.
Godot has a node that detects when objects leave the screen,
*VisibilityNotifier*, and we're going to use it to destroy our mobs.
.. note::
Note:
When you keep instancing an object in games, there's a technique you can
use to avoid the cost of creating and destroying instances all the time

View File

@ -126,7 +126,8 @@ the *Add Point* tool, the icon with the green "+" sign.
|image16|
.. note:: You can hover any icon to see a tooltip describing the tool.
Note:
You can hover any icon to see a tooltip describing the tool.
Click in the center of each cylinder to create a point. Then, click the *Close
Curve* icon in the toolbar to close the path. If any point is a bit off, you can

View File

@ -94,7 +94,8 @@ These settings mean the monsters will move through one another. If you want the
monsters to collide with and slide against each other, turn on the "enemies"
mask.
.. note::
Note:
The mobs don't need to mask the "world" layer because they only move
on the XZ plane. We don't apply any gravity to them by design.
@ -233,7 +234,8 @@ information about where and how the collision occurred. For example, we use its
`collider` property to check if we collided with a "mob" by calling
`is_in_group()` on it: `collision.collider.is_in_group("mob")`.
.. note::
Note:
The method `is_in_group()` is available on every `Node( Node )`.

View File

@ -57,7 +57,8 @@ of how all the built-in UI widgets will look with your theme resource.
By default, a theme only has one property, the *Default Font*.
.. seealso::
See also:
You can add more properties to the theme resource to design complex user
interfaces, but that is beyond the scope of this series. To learn more about
@ -151,7 +152,8 @@ placeholder `%s`. When using this feature, Godot automatically converts values
to text, which is convenient to output text in labels or using the `print()`
function.
.. seealso::
See also:
You can learn more about string formatting here: `doc_gdscript_printf`.
@ -160,7 +162,8 @@ increase.
|image11|
.. note::
Note:
In a complex game, you may want to completely separate your user interface
from the game world. In that case, you would not keep track of the score on

View File

@ -105,7 +105,8 @@ seconds by dragging it on the timeline.
|image14|
.. note::
Note:
A lecture on the principles of animation is beyond the scope of this
tutorial. Just note that you don't want to time and space everything evenly.
@ -159,7 +160,8 @@ Your animation should look something like this.
|image21|
.. note::
Note:
Animations update the properties of the animated nodes every frame,
overriding initial values. If we directly animated the *Player* node, it

View File

@ -33,7 +33,8 @@ steps. If you're an experienced programmer, you can browse the complete demo's
source code here: `Squash the Creep source code
( https://github.com/GDQuest/godot-3d-dodge-the-creeps/ )`.
.. note::
Note:
You can follow this series without having done the 2D one. However, if
you're new to game development, we recommend you to start with 2D. 3D game

View File

@ -12,7 +12,8 @@ First look at Godot's editor
This page will give you a brief overview of Godot's interface. We're going to
look at the different main screens and docks to help you situate yourself.
.. seealso:: For a comprehensive breakdown of the editor's interface and how to
See also:
For a comprehensive breakdown of the editor's interface and how to
use it, see the `Editor manual ( toc-learn-editor )`.
The Project manager
@ -109,7 +110,8 @@ options related to the 3D view.
![](img/editor_intro_3d_viewport_perspective.png)
.. note:: Read `doc_introduction_to_3d` for more detail about the **3D
Note:
Read `doc_introduction_to_3d` for more detail about the **3D
main screen**.
The **Script screen** is a complete code editor with a debugger, rich
@ -122,7 +124,8 @@ and assets to use in your projects.
![](img/editor_intro_workspace_assetlib.png)
.. seealso:: You can learn more about the asset library in
See also:
You can learn more about the asset library in
`doc_what_is_assetlib`.
Integrated class reference

View File

@ -109,7 +109,8 @@ game code. See `The Godot editor is a Godot game`_ below.
manage states and transitions visually.*
.. warning::
Warning:
`Godot 4.0 will remove VisualScript from core entirely. ( https://godotengine.org/article/godot-4-will-discontinue-visual-scripting )`
As a result, creating new projects using visual scripting in Godot is not recommended.
@ -136,7 +137,8 @@ On the other hand, an open codebase means you can **learn from and extend
the engine** to your heart's content. You can also debug games easily,
as Godot will print errors with a stack trace, even if they come from the engine itself.
.. note::
Note:
This **does not affect the work you do with Godot** in any way: there's
no strings attached to the engine or anything you make with it.
@ -177,7 +179,8 @@ in the editor. This lets you import and export plugins, create plugins
like custom level editors, or create scripts with the same nodes and API
you use in your projects.
.. note::
Note:
The editor is fully written in C++ and is statically compiled into the
binary. This means you can't import it as a typical project that would have a

View File

@ -21,7 +21,8 @@ on desktop or mobile, as well as on the web.
You can also create console games with it, although you either need strong
programming skills or a developer to port the game for you.
.. note:: The Godot team can't provide an open-source console export due to the
Note:
The Godot team can't provide an open-source console export due to the
licensing terms imposed by console manufacturers. Regardless of the
engine you use, though, releasing games on consoles is always a lot of
work. You can read more on that here: `doc_consoles`.
@ -87,7 +88,8 @@ Software Development Kits (SDK) in the engine.
Of course, you can also directly add modules and features to the engine, as it's
completely free and open-source.
.. seealso:: These are the five officially supported programming languages. The
See also:
These are the five officially supported programming languages. The
community maintains support for many more. For more information,
see `GDNative third-party bindings
( doc_what_is_gdnative_third_party_bindings )`.
@ -108,7 +110,8 @@ courseware`_ from Harvard University. It's a great free course that will teach
you everything you need to know to be off to a good start. It will save you
countless hours and hurdles learning any game engine afterward.
.. note:: In CS50, you will learn multiple programming languages. Don't be
Note:
In CS50, you will learn multiple programming languages. Don't be
afraid of that: programming languages have many similarities. The
skills you learn with one language transfer well to others.

View File

@ -43,7 +43,8 @@ nodes.
It is made of a `KinematicBody2D` node named "Character", a `Sprite`, a
`Camera2D`, and a `CollisionShape2D`.
.. note:: The node names end with "2D" because this is a 2D scene. Their 3D
Note:
The node names end with "2D" because this is a 2D scene. Their 3D
counterpart have names that end with "3D".
Notice how nodes and scenes look the same in the editor. When you save a tree of
@ -75,7 +76,8 @@ flexibility in how you structure your scenes.
![](img/key_concepts_signals.png)
.. note:: Signals are Godot's version of the *observer* pattern. You can read
Note:
Signals are Godot's version of the *observer* pattern. You can read
more about it here:
https://gameprogrammingpatterns.com/observer.html

View File

@ -51,7 +51,8 @@ A class reference's page tells you:
4. Links to manual pages further detailing the class.
.. note:: If the manual or class reference is missing or has insufficient
Note:
If the manual or class reference is missing or has insufficient
information, please open an Issue in the official `godot-docs
( https://github.com/godotengine/godot-docs/issues )`_ GitHub repository
to report it.

View File

@ -111,7 +111,8 @@ There is more to instances. With this feature, you can:
and making a change to the Ball node there. Upon saving, all instances of the
Ball in the project will see their values update.
.. note:: Changing a property on an instance always overrides values from the
Note:
Changing a property on an instance always overrides values from the
corresponding packed scene.
Let's try this. Open `Ball.tscn` and select the Ball node. In the Inspector on
@ -149,7 +150,8 @@ property to the value in the saved scene.
Rerun the game and notice how this ball now falls much faster than the others.
.. note:: If you change a value on the `PhysicsMaterial` of one instance, it
Note:
If you change a value on the `PhysicsMaterial` of one instance, it
will affect all the others. This is because `PhysicsMaterial` is a
resource, and resources are shared between instances. To make a
resource unique for one instance, right-click on it in the Inspector

View File

@ -143,7 +143,8 @@ button to save it as "Label.tscn".
![](img/nodes_and_scenes_11_save_scene_as.png)
.. note:: The Save Scene As dialog, like other file dialogs in the editor, only
Note:
The Save Scene As dialog, like other file dialogs in the editor, only
allows you to save files inside the project. The `res://` path at
the top of the window represents the project's root directory and
stands for "resource path". For more information about file paths in
@ -155,7 +156,8 @@ The application should open in a new window and display the text "Hello World".
Close the window or press :kbd:`F8` to quit the running scene.
.. note::
Note:
If this doesn't immediately work and you have a hiDPI display on at least
one of your monitors, go to Project -> Project Settings -> Display ->
@ -182,7 +184,8 @@ Label.tscn.
The demo should run again. Moving forward, every time you run the project, Godot
will use this scene as a starting point.
.. note:: The editor saves the main scene's path in a project.godot file in your
Note:
The editor saves the main scene's path in a project.godot file in your
project's directory. While you can edit this text file directly to
change project settings, you can also use the "Project -> Project
Settings" window to do so.

View File

@ -25,10 +25,12 @@ The equivalent C# code has been included in another tab for convenience.
![](img/scripting_first_script_rotating_godot.gif)
.. seealso:: To learn more about GDScript, its keywords, and its syntax, head to
See also:
To learn more about GDScript, its keywords, and its syntax, head to
the `GDScript reference( doc_gdscript )`.
.. seealso:: To learn more about C#, head to the `C# basics ( doc_c_sharp )` page.
See also:
To learn more about C#, head to the `C# basics ( doc_c_sharp )` page.
Project setup
-------------
@ -59,7 +61,8 @@ and drag the file `icon.png)` from the FileSystem dock onto the Texture slot.
![](img/scripting_first_script_setting_texture.png)
.. note::
Note:
You can create Sprite nodes automatically by dragging and dropping images on
the viewport.
@ -101,14 +104,16 @@ our script will get access to all the properties and functions of the Sprite
node, including classes it extends, like `Node2D`, `CanvasItem`, and
`Node`.
.. note:: In GDScript, if you omit the line with the `extends` keyword, your
Note:
In GDScript, if you omit the line with the `extends` keyword, your
class will implicitly extend `Reference`, which
Godot uses to manage your application's memory.
Inherited properties include the ones you can see in the Inspector dock, like
our node's `texture`.
.. note::
Note:
By default, the Inspector displays a node's properties in "Title Case", with
capitalized words separated by a space. In GDScript code, these properties
@ -138,7 +143,8 @@ Let's break it down. The `func` keyword defines a new function named
`_init()` on every object or node upon creating it in memory, if you define
this function.
.. note:: GDScript is an indent-based language. The tab at the start of the line
Note:
GDScript is an indent-based language. The tab at the start of the line
that says `print()` is necessary for the code to work. If you omit
it or don't indent a line correctly, the editor will highlight it in
red and display the following error message: "Indented block expected".
@ -171,7 +177,8 @@ but before functions. Every node
instance with this script attached to it will have its own copy of the `speed`
and `angular_speed` properties.
.. note:: Angles in Godot work in radians by default,
Note:
Angles in Godot work in radians by default,
but you have built-in functions and properties available if you prefer
to calculate angles in degrees instead.
@ -181,7 +188,8 @@ If you define it in any class that extends the Node class, like Sprite, Godot
will call the function every frame and pass it an argument named `delta`, the
time elapsed since the last frame.
.. note::
Note:
Games work by rendering many images per second, each called a frame, and
they do so in a loop. We measure the rate at which a game produces images in
@ -208,7 +216,8 @@ function's name and arguments it takes in parentheses. A colon ends the
definition, and the indented blocks that follow are the function's content or
instructions.
.. note:: Notice how `_process()`, like `_init()`, starts with a leading
Note:
Notice how `_process()`, like `_init()`, starts with a leading
underscore. By convention, Godot's virtual functions, that is to say,
built-in functions you can override to communicate with the engine,
start with an underscore.
@ -260,7 +269,8 @@ Run the scene to see the Godot head run in circles.
![](img/scripting_first_script_rotating_godot.gif)
.. note:: Moving a node like that does not take into account colliding with
Note:
Moving a node like that does not take into account colliding with
walls or the floor. In `doc_your_first_2d_game`, you will learn
another approach to moving objects while detecting collisions.

View File

@ -37,7 +37,8 @@ everything in GDScript or C#. It's your call.
We provide this flexibility to answer the needs of different game projects and
developers.
.. warning::
Warning:
`Godot 4.0 will remove VisualScript from core entirely. ( https://godotengine.org/article/godot-4-will-discontinue-visual-scripting )`
As a result, creating new projects using visual scripting in Godot is not recommended.
@ -94,7 +95,8 @@ GDScript looks like Python as you structure your code blocks using indentations,
but it doesn't work the same way in practice. It's inspired by multiple
languages, including Squirrel, Lua, and Python.
.. note::
Note:
Why don't we use Python or Lua directly?
@ -121,7 +123,8 @@ thanks to a generous donation from Microsoft.
C# offers a good tradeoff between performance and ease of use, although you
should be aware of its garbage collector.
.. note:: You must use the Mono edition of the Godot editor to script in C#. You
Note:
You must use the Mono edition of the Godot editor to script in C#. You
can download it on the Godot website's `download
( https://godotengine.org/download/ )`_ page.
@ -130,7 +133,8 @@ you can use any third-party .NET library or framework in Godot, as well as any
Common Language Infrastructure-compliant programming language, such as F#, Boo,
or ClojureCLR. However, C# is the only officially supported .NET option.
.. note:: GDScript code itself doesn't execute as fast as compiled C# or C++.
Note:
GDScript code itself doesn't execute as fast as compiled C# or C++.
However, most script code calls functions written with fast algorithms
in C++ code inside the engine. In many cases, writing gameplay logic
in GDScript, C#, or C++ won't have a significant impact on
@ -139,7 +143,8 @@ or ClojureCLR. However, C# is the only officially supported .NET option.
VisualScript
~~~~~~~~~~~~
.. warning::
Warning:
`Godot 4.0 will remove VisualScript from core entirely. ( https://godotengine.org/article/godot-4-will-discontinue-visual-scripting )`
As a result, creating new projects using visual scripting in Godot is not recommended.
@ -163,7 +168,8 @@ While it provides all the basic building blocks you need to code complete games,
we do not recommend to use VisualScript this way. Programming everything with it
is slow compared to using other programming languages.
.. seealso::
See also:
For more information, see
`Getting started with VisualScript ( doc_getting_started_visual_script )`.

View File

@ -60,7 +60,8 @@ The two actions we use above, "ui_left" and "ui_right", are predefined in every
Godot project. They respectively trigger when the player presses the left and
right arrows on the keyboard or left and right on a gamepad's D-pad.
.. note:: You can see and edit input actions in your project by going to Project
Note:
You can see and edit input actions in your project by going to Project
-> Project Settings and clicking on the Input Map tab.
Finally, we use the `direction` as a multiplier when we update the node's

View File

@ -25,7 +25,8 @@ For example, you might have a life bar on the screen that represents the
players health. When the player takes damage or uses a healing potion, you want
the bar to reflect the change. To do so, in Godot, you would use signals.
.. note:: As mentioned in the introduction, signals are Godot's version of the
Note:
As mentioned in the introduction, signals are Godot's version of the
observer pattern. You can learn more about it here:
https://gameprogrammingpatterns.com/observer.html
@ -113,7 +114,8 @@ method, a function that Godot will call when the Button emits the signal. The
editor generates one for you. By convention, we name these callback methods
"_on_NodeName_signal_name". Here, it'll be "_on_Button_pressed".
.. note::
Note:
When connecting signals via the editor's Node dock, you can use two
modes. The simple one only allows you to connect to nodes that have a
@ -224,7 +226,8 @@ We need to do two operations to connect the nodes via code:
1. Get a reference to the Timer from the Sprite.
2. Call the Timer's `connect()` method.
.. note:: To connect to a signal via code, you need to call the `connect()`
Note:
To connect to a signal via code, you need to call the `connect()`
method of the node you want to listen to. In this case, we want to
listen to the Timer's "timeout" signal.
@ -315,7 +318,8 @@ gdscript GDScript
Custom signals
--------------
.. note:: This section is a reference on how to define and use your own signals,
Note:
This section is a reference on how to define and use your own signals,
and does not build upon the project created in previous lessons.
You can define custom signals in a script. Say, for example, that you want to
@ -333,7 +337,8 @@ gdscript GDScript
var health = 10
```
.. note:: As signals represent events that just occurred, we generally use an
Note:
As signals represent events that just occurred, we generally use an
action verb in the past tense in their names.
Your signals work the same way as built-in ones: they appear in the Node tab and
@ -363,7 +368,8 @@ gdscript GDScript
signal health_changed(old_value, new_value)
```
.. note::
Note:
The signal arguments show up in the editor's node dock, and Godot can use
them to generate callback functions for you. However, you can still emit any

View File

@ -3,7 +3,8 @@ Godot Docs *3.5* branch
.. only:: not i18n
.. note:: Godot's documentation is available in various languages and versions.
Note:
Godot's documentation is available in various languages and versions.
Expand the "Read the Docs" panel at the bottom of the sidebar to see
the list.
@ -15,7 +16,8 @@ Godot Docs *3.5* branch
.. only:: i18n
.. note:: This documentation is translated from the `original English one
Note:
This documentation is translated from the `original English one
( https://docs.godotengine.org/en/latest )`_ by community members
on `Weblate ( https://hosted.weblate.org/projects/godot-engine/godot-docs )`_.
@ -42,7 +44,8 @@ You can also `download an HTML copy ( https://nightly.link/godotengine/godot-doc
for offline reading (updated every Monday). Extract the ZIP archive then open
the top-level `index.html` in a web browser.
.. note:: Godot Engine is an open source project developed by a community of
Note:
Godot Engine is an open source project developed by a community of
volunteers. The documentation team can always use your
feedback and help to improve the tutorials and class reference. If
you don't understand something, or cannot find what you

View File

@ -130,7 +130,8 @@ node, which is why we want the blob to be centered on its parent `Light`.
![](img/light_shadow_all_lights.png)
.. note:: The animations in the demo will not be covered here. See `doc_introduction_animation`
Note:
The animations in the demo will not be covered here. See `doc_introduction_animation`
for information on creating animations.
Right now the scene should look too bright. This is because all three lights are adding color to the scene.
@ -175,15 +176,18 @@ lines of the polygon can be seen:
![](img/light_shadow_cull_disabled.png)
.. note:: `Cull Mode` is set to `Disabled`. All three lines cast shadows.
Note:
`Cull Mode` is set to `Disabled`. All three lines cast shadows.
![](img/light_shadow_cull_clockwise.png)
.. note:: `Cull Mode` is set to `Clockwise`. Only the top and right lines cast shadows.
Note:
`Cull Mode` is set to `Clockwise`. Only the top and right lines cast shadows.
![](img/light_shadow_cull_counter_clockwise.png)
.. note:: `Cull Mode` is set to `Counter-Clockwise`. Only the bottom line casts a shadow.
Note:
`Cull Mode` is set to `Counter-Clockwise`. Only the bottom line casts a shadow.
If `Closed` was set to `on` there would be an additional vertical line on the
left which would cast a shadow as well.
@ -202,12 +206,14 @@ The demo uses PCF7.
![](img/light_shadow_normal.png)
.. note:: This is a shadow rendered with the demo's settings. `gradient length` is set
Note:
This is a shadow rendered with the demo's settings. `gradient length` is set
to `1.3`, `filter smooth` is set to `11.1`, and `filter` is set to `PCF7`.
![](img/light_shadow_pcf13.png)
.. note:: `filter` is set to `PCF13`. Notice how the shadow becomes wider, this is because the
Note:
`filter` is set to `PCF13`. Notice how the shadow becomes wider, this is because the
distance between samples is based on the variable `filter smooth`.
In order to make use of filtering you need to set the `filter smooth` variable.
@ -217,14 +223,16 @@ forming between the samples.
![](img/light_shadow_filter30.png)
.. note:: `filter smooth` is set to `30`.
Note:
`filter smooth` is set to `30`.
The different `Light` nodes in the demo use different values for filter smooth.
Play around with it and see what you like.
![](img/light_shadow_filter0.png)
.. note:: `filter smooth` is set to `0`.
Note:
`filter smooth` is set to `0`.
Lastly, there is the variable `gradient length`. For some smooth shadows it is preferable not to have the
shadow start immediately on the object, as this produces a hard edge. The gradient length variable creates
@ -232,11 +240,13 @@ a smooth gradient to begin the shadow to reduce the effect of the hard edge.
![](img/light_shadow_grad0.png)
.. note:: `gradient length` is set to `0`.
Note:
`gradient length` is set to `0`.
![](img/light_shadow_grad10.png)
.. note:: `gradient length` is set to `10`.
Note:
`gradient length` is set to `10`.
You will need to play around with the options a bit to find settings that suit your project. There is no right solution
for everyone, which is why Godot provides so much flexibility. Just keep in mind that the higher `filter`

View File

@ -10,7 +10,8 @@ In 3D, meshes are used to display the world. In 2D, they are rare as images are
Godot's 2D engine is a pure two-dimensional engine, so it can't really display 3D meshes directly (although it can be done
via `Viewport` and `ViewportTexture`).
.. seealso:: If you are interested in displaying 3D meshes on a 2D viewport, see the `doc_viewport_as_texture` tutorial.
See also:
If you are interested in displaying 3D meshes on a 2D viewport, see the `doc_viewport_as_texture` tutorial.
2D meshes are meshes that contain two-dimensional geometry (Z can be omitted or ignored) instead of 3D.
You can experiment creating them yourself using `SurfaceTool` from code and displaying them in a `MeshInstance2D` node.

View File

@ -75,7 +75,8 @@ its *length* to `1`, and multiply by the desired speed.
.. tip:: If you've never used vector math before, or need a refresher,
you can see an explanation of vector usage in Godot at `doc_vector_math`.
.. note::
Note:
If the code above does nothing when you press the keys, double-check that
you've set up input actions correctly as described in the

View File

@ -16,7 +16,8 @@ animate a collection of individual images. Then we will animate a sprite sheet u
with `AnimationPlayer` and the *Animation*
property of `Sprite`.
.. note:: Art for the following examples by https://opengameart.org/users/ansimuz and by
Note:
Art for the following examples by https://opengameart.org/users/ansimuz and by
https://opengameart.org/users/tgfcoder
Individual images with AnimatedSprite
@ -36,7 +37,8 @@ with the following nodes:
![](img/2d_animation_tree1.png)
.. note:: The root node could also be `Area2D` or
Note:
The root node could also be `Area2D` or
`RigidBody2D`. The animation will still be
made in the same way. Once the animation is completed, you can
assign a shape to the CollisionShape2D. See
@ -143,7 +145,8 @@ setting up your scene tree:
![](img/2d_animation_tree2.png)
.. note:: The root node could also be `Area2D` or
Note:
The root node could also be `Area2D` or
`RigidBody2D`. The animation will still be
made in the same way. Once the animation is completed, you can
assign a shape to the CollisionShape2D. See
@ -204,7 +207,8 @@ gdscript GDScript
_animation_player.stop()
```
.. note:: If updating both an animation and a separate property at once
Note:
If updating both an animation and a separate property at once
(for example, a platformer may update the sprite's `h_flip`/`v_flip`
properties when a character turns while starting a 'turning' animation),
it's important to keep in mind that `play()` isn't applied instantly.

View File

@ -57,7 +57,8 @@ Here's a diagram of how it looks:
CanvasLayers are independent of tree order, and they only depend on
their layer number, so they can be instantiated when needed.
.. note:: CanvasLayers aren't necessary to control the drawing order of nodes.
Note:
CanvasLayers aren't necessary to control the drawing order of nodes.
The standard way to ensuring that a node is correctly drawn 'in front' or 'behind' others is to manipulate the
order of the nodes in the scene panel. Perhaps counterintuitively, the topmost nodes in the scene panel are drawn
on *behind* lower ones in the viewport. 2d nodes also have a property for controlling their drawing order

View File

@ -356,5 +356,6 @@ Once you click "OK", the mask will be generated and set to the ParticlesMaterial
All of the values within this section have been automatically generated by the
"Load Emission Mask" menu, so they should generally be left alone.
.. note:: An image should not be added to `Point Texture` or `Color Texture` directly.
Note:
An image should not be added to `Point Texture` or `Color Texture` directly.
The "Load Emission Mask" menu should always be used instead.

View File

@ -239,7 +239,8 @@ adjacent to it is not "on".
A total of 47 tiles would be needed to provide exactly one bitmask for each
arrangement that this mode can test for.
.. note::
Note:
Right-click an image and choose **Save image as…** to save it.

View File

@ -3,7 +3,8 @@
3D rendering limitations
========================
.. seealso::
See also:
In addition to the limitations below, mobile platforms have even more
limitations on 3D rendering compared to desktop platforms.
@ -50,7 +51,8 @@ There are two main ways to alleviate banding:
to be applied on your *materials*. This technique works even if your project is
rendered in LDR, which means it will work when using the GLES2 renderer.
.. seealso::
See also:
See `Banding in Games: A Noisy Rant ( http://loopit.dk/banding_in_games.pdf )`
for more details about banding and ways to combat it.

View File

@ -73,7 +73,8 @@ final size of the lightmap texture (and, in consequence, the UV padding in the m
The effect of setting this option is that all meshes within the scene will have
their UV2 maps properly generated.
.. warning::
Warning:
When reusing a mesh within a scene, keep in mind that UVs will be generated
for the first instance found. If the mesh is re-used with different scales
@ -245,7 +246,8 @@ it is recommended to use lower quality settings at first. Then, once you are con
with your scene's lighting setup, raise the quality settings and perform a "final"
bake before exporting your project.
.. note::
Note:
By default, the lightmap baker will use all the system's logical CPU cores
to speed up baking. This can reduce system responsiveness. To preserve system

View File

@ -11,7 +11,8 @@ Level prototyping is one of the main uses of CSG in Godot. This technique allows
users to create simple versions of most common shapes by combining primitives.
Interior environments can be created by using inverted primitives.
.. note:: The CSG nodes in Godot are mainly intended for prototyping. There is
Note:
The CSG nodes in Godot are mainly intended for prototyping. There is
no built-in support for UV mapping or editing 3D polygons (though
extruded 2D polygons can be used with the CSGPolygon node).
@ -71,7 +72,8 @@ The `CSGPolygon` node extrude along a Polygon drawn in
![](img/csg_poly.png)
.. note:: The **Path** mode must be provided with a `Path`
Note:
The **Path** mode must be provided with a `Path`
node to work. In the Path node, draw the path and the polygon in
CSGPolygon will extrude along the given path.
@ -103,7 +105,8 @@ Every CSG node will first process its children nodes and their operations:
union, intersection or subtraction, in tree order, and apply them to itself one
after the other.
.. note:: In the interest of performance, make sure CSG geometry remains
Note:
In the interest of performance, make sure CSG geometry remains
relatively simple, as complex meshes can take a while to process.
If adding objects together (such as table and room objects), create
them as separate CSG trees. Forcing too many objects in a single tree
@ -155,7 +158,8 @@ Adjust their placement to resemble a desk.
![](img/csg_desk.png)
.. note:: CSG nodes inside a CSGCombiner will only process their operation
Note:
CSG nodes inside a CSGCombiner will only process their operation
within the combiner. Therefore, CSGCombiners are used to organize
CSG nodes.
@ -185,7 +189,8 @@ spheres will cut a hole into the mattress.
Try to re-parent the `pillow` node to the root `Spatial` node; the hole will
disappear.
.. note:: This is to illustrate the effect of CSG processing order.
Note:
This is to illustrate the effect of CSG processing order.
Since the root node is not a CSG node, the CSGCombiner nodes are
the end of the operations; this shows the use of CSGCombiner to
organize the CSG scene.
@ -256,7 +261,8 @@ nodes yet. Triplanar mapping is relatively slow, which usually restricts its
usage to organic surfaces like terrain. Still, when prototyping, it can be used
to quickly apply textures to CSG-based levels.
.. note:: If you need some textures for prototyping, Kenney made a
Note:
If you need some textures for prototyping, Kenney made a
`set of CC0-licensed prototype textures ( https://kenney.nl/assets/prototype-textures )`.
There are two ways to apply a material to a CSG node:

View File

@ -6,7 +6,8 @@ Using GIProbe
Introduction
------------
.. note:: This feature is only available when using the GLES3 backend.
Note:
This feature is only available when using the GLES3 backend.
`doc_baked_lightmaps` can be used as an alternative
when using the GLES2 renderer.
@ -51,7 +52,8 @@ toolbar to begin the pre-baking process:
![](img/giprobe_bake.png)
.. warning::
Warning:
Meshes should have sufficiently thick walls to avoid light leaks (avoid
one-sided walls). For interior levels, enclose your level geometry in a

View File

@ -32,7 +32,8 @@ through a virtual camera. Here, our virtual camera would apply a particular
camera rendering transform to the scene data, and the output would be ready
for display on a particular display type.
.. note::
Note:
Godot does not support high dynamic range *output* yet. It can only perform
lighting in HDR and tonemap the result to a low dynamic range image.

View File

@ -7,7 +7,8 @@ In addition to occlusion via `doc_rooms_and_portals`, Godot also has the ability
Any object that is fully occluded by the shape (behind or in some cases inside) will be culled at runtime. They are designed to be simple to use and inexpensive at runtime, but the trade off is they may not be as effective at culling as `doc_rooms_and_portals`. Nevertheless they can still significantly boost performance in some situations.
.. note:: It is important to understand that geometric occluders work by testing the axis aligned bounding box (`AABB`) of the occludee against the occluder. The AABB must be *fully occluded* to be culled. The consequence of this is that smaller objects are more likely to be effectively culled than larger objects, and larger occluders tend to be much more effective than smaller ones.
Note:
It is important to understand that geometric occluders work by testing the axis aligned bounding box (`AABB`) of the occludee against the occluder. The AABB must be *fully occluded* to be culled. The consequence of this is that smaller objects are more likely to be effectively culled than larger objects, and larger occluders tend to be much more effective than smaller ones.
A major advantage to Occluder nodes is that they are fully dynamic. For example if you place an occluder node as a child of a spaceship, it will move as you move the parent object.
@ -49,7 +50,8 @@ The polygon is a generalist occluder. It can be made to work well in almost all
As with all geometric occluders, the key to success is to make them large. They do not have to match rendered geometry, and in many cases they will work better if you extend them past rendered geometry to make them as big as possible (without blocking legitimate lines of sight). The reason why they need to be large is that in general, they will only cull objects whose `AABB` is completely hidden by the polygon. For large objects to be culled, you will need large occluders.
.. note:: Like all occluders, polygons **can** overlap, and in many cases they will work better if you overlap them (they are more likely to cull objects on boundaries).
Note:
Like all occluders, polygons **can** overlap, and in many cases they will work better if you overlap them (they are more likely to cull objects on boundaries).
Editing and details
~~~~~~~~~~~~~~~~~~~
@ -82,7 +84,8 @@ The hole can be totally within the polygon (such as a window), abutting the edge
- If the object to be culled is totally hidden by the polygon, it then looks to see whether it can be seen *through* the hole. If the object touches the hole, it is not culled, but if hidden by the polygon and not seen through the hole it is culled.
.. note:: Placing holes is usually far more convenient, and works faster and better at runtime, than creating lots of smaller OccluderShapePolygons.
Note:
Placing holes is usually far more convenient, and works faster and better at runtime, than creating lots of smaller OccluderShapePolygons.
Hole Limits
^^^^^^^^^^^

View File

@ -97,7 +97,8 @@ The tent is a simple room inside a terrain room (which contains the ground, the
![](img/tent.png)
.. note:: To use internal rooms for buildings, it is usually a good idea to split the *interior* mesh of the building from the *exterior*. The exterior can be placed in the outer room (so it can be seen from outside, but not from the inside), and the interior should be placed in the interior room (so it only visible inside, or through the portal).
Note:
To use internal rooms for buildings, it is usually a good idea to split the *interior* mesh of the building from the *exterior*. The exterior can be placed in the outer room (so it can be seen from outside, but not from the inside), and the interior should be placed in the interior room (so it only visible inside, or through the portal).
![](img/tent_terrain.png)
@ -124,7 +125,8 @@ However, if we set this autoplace priority to `-1` for example, the autoplace wi
This gives us a helpful extra bit of control for these kinds of situations, and makes the entire system much more flexible.
.. note:: As the default autoplace priority is `0`, you can't effectively force objects into RoomGroups with priority `0`. However there are plenty of priority values available so this should not be a problem in practice.
Note:
As the default autoplace priority is `0`, you can't effectively force objects into RoomGroups with priority `0`. However there are plenty of priority values available so this should not be a problem in practice.
The final scene looks something like this, with houses instanced wherever you want them on a giant outer room.

View File

@ -15,7 +15,8 @@ This conversion must take place every time you want to activate the system. It d
If you convert the level while the editor is running, the portal culling system will take over from the normal Godot frustum culling, potentially interfering with editor features. To get around this, you can turn portal culling on and off using either the **View Portal Culling** toggle in the **View** menu on the editor toolbar (which also has a keyboard shortcut) or the **Active** setting in the RoomManager node.
.. note:: To use the RoomManager, you have to tell it where the rooms are in your scene tree, or, more specifically, where the RoomList node is. This RoomList is the parent of your rooms - see below. If the RoomList is not set, conversion will fail, and you will see a warning dialog box.
Note:
To use the RoomManager, you have to tell it where the rooms are in your scene tree, or, more specifically, where the RoomList node is. This RoomList is the parent of your rooms - see below. If the RoomList is not set, conversion will fail, and you will see a warning dialog box.
![](img/room_manager.png)
@ -26,7 +27,8 @@ Before we create any rooms, we must first create a node to be the parent of all
![](img/roomlist_node.png)
.. note:: The roomlist is **not** a special node type it can just be a regular Spatial.
Note:
The roomlist is **not** a special node type it can just be a regular Spatial.
You will need to assign the roomlist node in the RoomManager so that it knows where to find the rooms.
@ -111,7 +113,8 @@ There are two ways to specify which room the portal should link to:
- Leave the **Linked Room** in the inspector blank. The system will attempt to *autolink* the portal to the nearest neighbour room during conversion. This works fine in most cases.
- Explicitly specify the room by setting the **Linked Room** in the inspector.
.. note:: Portals are defined as a set of 2D points. This ensures that the polygon formed is in a single plane. The transform determines the portal orientation. The points must also form a *convex* polygon. This is enforced by validating the points you specify, ignoring any that do not form a convex shape. This makes editing easier while making it difficult to break the system.
Note:
Portals are defined as a set of 2D points. This ensures that the polygon formed is in a single plane. The transform determines the portal orientation. The points must also form a *convex* polygon. This is enforced by validating the points you specify, ignoring any that do not form a convex shape. This makes editing easier while making it difficult to break the system.
Trying it out
~~~~~~~~~~~~~

View File

@ -13,7 +13,8 @@ This allows several features:
The trade off for these features is that we have to manually partition our level into rooms, and add portals between them.
.. note:: Godot portals should not be confused with those in the `game of the same name ( https://en.wikipedia.org/wiki/Portal_(video_game) )`. They do not warp space, they simply represent a window that the camera (or lights) can see through.
Note:
Godot portals should not be confused with those in the `game of the same name ( https://en.wikipedia.org/wiki/Portal_(video_game) )`. They do not warp space, they simply represent a window that the camera (or lights) can see through.
Minimizing manual labour
^^^^^^^^^^^^^^^^^^^^^^^^
@ -31,6 +32,7 @@ In general, when it comes to medium and large-sized levels, it is better to do a
Some caveats
^^^^^^^^^^^^
.. note:: The portal system should be considered an **advanced feature** of Godot. You should not attempt to use rooms and portals until you are familiar with the Godot editor, and have successfully made at least a couple of test games.
Note:
The portal system should be considered an **advanced feature** of Godot. You should not attempt to use rooms and portals until you are familiar with the Godot editor, and have successfully made at least a couple of test games.
It gives you great power as a game designer, but the trade off is that it requires a very technical approach to level design. It is aimed at producing professional-grade results, and assumes the user is prepared to put in the work for this. It is not intended to be used for all 3D games. Not all games will significantly benefit from portals, and it may require more time than a short game jam allows.

View File

@ -128,7 +128,8 @@ gdscript GDScript
mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, surface_array) # No blendshapes or compression used.
```
.. note:: In this example, we used `Mesh.PRIMITIVE_TRIANGLES`, but you can use any primitive type
Note:
In this example, we used `Mesh.PRIMITIVE_TRIANGLES`, but you can use any primitive type
available from mesh.
Put together, the full code looks like:

View File

@ -11,7 +11,8 @@ and tools to work with meshes than the ArrayMesh does. When the MeshDataTool
is used, it calculates mesh data that is not available in ArrayMeshes such as faces and edges, which are necessary
for certain mesh algorithms. If you do not need this extra information then it may be better to use an ArrayMesh.
.. note:: MeshDataTool can only be used on Meshes that use the PrimitiveType `Mesh.PRIMITIVE_TRIANGLES`.
Note:
MeshDataTool can only be used on Meshes that use the PrimitiveType `Mesh.PRIMITIVE_TRIANGLES`.
We initialize the MeshDataTool from an ArrayMesh by calling `create_from_surface()`. If there is already data initialized in the MeshDataTool,
calling `create_from_surface()` will clear it for you. Alternatively, you can call `clear()` yourself before re-using the MeshDataTool.

View File

@ -226,7 +226,8 @@ Determines which side of the object is not drawn when backfaces are rendered:
* **Front:** The front of the object is culled when not visible.
* **Disabled:** Used for objects that are double-sided (no culling is performed).
.. note::
Note:
By default, Blender has backface culling disabled on materials and will
export materials to match how they render in Blender. This means that
@ -376,7 +377,8 @@ and wider compatibility.
![](img/spatial_material16.png)
.. note::
Note:
Godot requires the normal map to use the X+, Y+ and Z+ coordinates, this is
known as OpenGL style. If you've imported a material made to be used with
@ -418,7 +420,8 @@ right.
![](img/clearcoat_comparison.png)
.. note:: The effect will be more noticeable in Godot 4.
Note:
The effect will be more noticeable in Godot 4.
Anisotropy
~~~~~~~~~~

View File

@ -73,7 +73,8 @@ To create the NavigationMesh from a MeshLibrary scene export, place a
item. Add a valid NavigationMesh resource to the NavigationMeshInstance and some source
geometry nodes below and bake the NavigationMesh.
.. note::
Note:
With small grid cells it is often necessary to reduce the NavigationMesh properties
for agent radius and region minimum size.
@ -83,7 +84,8 @@ geometry nodes below and bake the NavigationMesh.
Nodes below the NavigationMeshInstance are ignored for the MeshLibrary scene export, so
additional nodes can be added as source geometry just for baking the navmesh.
.. warning::
Warning:
The baked cell size of the NavigationMesh must match the NavigationServer map cell
size to properly merge the navigation meshes of different grid cells.

View File

@ -36,7 +36,8 @@ the scene. Your scene tree would look like this:
![](img/multimesh_scene_tree.png)
.. note:: For simplicity's sake, this tutorial uses built-in primitives.
Note:
For simplicity's sake, this tutorial uses built-in primitives.
Now you have everything ready. Select the MultiMeshInstance node and look at the
toolbar, you should see an extra button called `MultiMesh` next to `View`.

View File

@ -29,7 +29,8 @@ The following tutorial will, then, explain 2D skeletal deformations.
Setup
-----
.. seealso::
See also:
Before starting, we recommend you to go through the
`doc_cutout_animation` tutorial to gain a general understanding of

View File

@ -124,7 +124,8 @@ the hip node in the scene hierarchy), but then the left arm is no longer in its
proper place in the hierarchy. This means it wouldn't be affected by the movement
of the torso. We'll fix this problem with `RemoteTransform2D` nodes.
.. note:: You can also fix depth ordering problems by adjusting the Z property
Note:
You can also fix depth ordering problems by adjusting the Z property
of any node inheriting from Node2D.
RemoteTransform2D node

View File

@ -113,7 +113,8 @@ its child. We will animate the sprite to move between two points on the screen.
Our scene setup
.. warning::
Warning:
AnimationPlayer inherits from Node instead of Node2D or Spatial, which means
that the child nodes will not inherit the transform from the parent nodes

View File

@ -21,7 +21,8 @@ WebM is supported in core in Godot 3.x, but support for it will be removed in 4.
as it proved to be too buggy and difficult to maintain.
Therefore, **using WebM is not recommended**.
.. note::
Note:
You may find videos with an `.ogg` or `.ogx` extensions, which are generic
extensions for data within an Ogg container.
@ -79,7 +80,8 @@ node to be a child of the AspectRatioContainer node. Make sure **Expand** is
disabled on the VideoPlayer. Your video should now scale automatically
to fit the whole screen while avoiding distortion.
.. seealso::
See also:
See `doc_multiple_resolutions` for more tips on supporting multiple
aspect ratios in your project.
@ -184,7 +186,8 @@ Here are example FFmpeg commands to convert a MP4 video to Ogg Theora. Since
FFmpeg supports a lot of input formats, you should be able to use the commands
below with almost any input video format (AVI, MOV, WebM, …).
.. note::
Note:
Make sure your copy of FFmpeg is compiled with libtheora and libvorbis support.
You can check this by running `ffmpeg` without any arguments, then looking

View File

@ -1,7 +1,8 @@
Blender ESCN exporter
=====================
.. note:: This chapter relates to the Blender plugin called "Godot Blender Exporter",
Note:
This chapter relates to the Blender plugin called "Godot Blender Exporter",
which can be downloaded here: https://github.com/godotengine/godot-blender-exporter
This plugin can be used to export Blender scenes in a Godot-specific scene format

View File

@ -1,10 +1,12 @@
Lights
======
.. warning::
Warning:
By default, lamps in Blender have shadows enabled. This can cause
performance issues in Godot.
.. warning::
Warning:
Lamps are exported using their "Blender Render" settings. When Blender 2.8
is released, this will be removed and this part of the exporter will change.

View File

@ -45,7 +45,8 @@ difficulties in implementation, which are:
- `group node`
- shader nodes except `PrincipledBSDF`, `Diffuse`, `Glossy`, `Glass`, `add shader` and `mix shader`
.. warning::
Warning:
If possible, try to use PrincipledBSDF node with GGX distribution as the output shader
node, it is the only one guaranteed to be exactly correct. Others are just based on approximation.

View File

@ -13,7 +13,8 @@ Exporting mesh shape key is supported, however exporting each shape key
is almost like exporting the mesh again, so don't be surprised
it takes a relatively long time.
.. warning::
Warning:
A lot of modifiers are not compatible with shape keys
(e.g. subsurface modifier), so if you found you have
incorrect shape keys exported, try to disable :code:`Apply Modifiers`

View File

@ -9,7 +9,8 @@ Rest Bone
Armature object in Blender is exported as a Skeleton node along with
rest position (transform in Godot) of bones.
.. warning::
Warning:
The three check boxes :code:`Inherit Rotation`, :code:`Inherit Scale`,
:code:`Local Location` (colored in red) must be ticked when building
armature in Blender, so that the exported bone transform be

View File

@ -12,7 +12,8 @@ export as a glTF binary (`.glb` file) or glTF embedded with textures
such as a CSG mesh blockout for a level, export it to clean it up in a
program such as Blender, and then bring it back into Godot.
.. note::
Note:
Only Blender 2.83 and newer can import glTF files exported by Godot.

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