diff --git a/.gitignore b/.gitignore index 55ca4722..dc38e6ff 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ build *.cxxflags /source/__pycache__ /ext/__pycache__ +TODO.md diff --git a/drafts/physics/introduction.rst b/drafts/physics/introduction.rst index f21b9b9c..70c3cb72 100644 --- a/drafts/physics/introduction.rst +++ b/drafts/physics/introduction.rst @@ -1,3 +1,4 @@ +.. _physics-introduction: ************ Introduction @@ -19,13 +20,10 @@ Rigid body physics does not have, as an effect or a cause, any mesh deformations For a discussion on how to partially overcome this, see: `Mesh Deformations`_. - Global Options ============== -The global Physics Engine settings can be found in the :doc:`World Properties `, -which include the Gravity constant and some important engine performance tweaks. - +The global Physics Engine settings can be found in the :doc:`World Properties `, which include the Gravity constant and some important engine performance tweaks. Object Physics ============== diff --git a/exts/__pycache__/collapse.cpython-310.pyc b/exts/__pycache__/collapse.cpython-310.pyc new file mode 100644 index 00000000..3eb76980 Binary files /dev/null and b/exts/__pycache__/collapse.cpython-310.pyc differ diff --git a/exts/__pycache__/vimeo.cpython-310.pyc b/exts/__pycache__/vimeo.cpython-310.pyc new file mode 100644 index 00000000..c1c60768 Binary files /dev/null and b/exts/__pycache__/vimeo.cpython-310.pyc differ diff --git a/exts/__pycache__/youtube.cpython-310.pyc b/exts/__pycache__/youtube.cpython-310.pyc new file mode 100644 index 00000000..e16756d4 Binary files /dev/null and b/exts/__pycache__/youtube.cpython-310.pyc differ diff --git a/exts/collapse.py b/exts/collapse.py new file mode 100644 index 00000000..b1123f46 --- /dev/null +++ b/exts/collapse.py @@ -0,0 +1,210 @@ +#!/usr/bin/env python3 +# +# collapse.py +r""" +Adds a collapsible section to an HTML page using a details_ element. + +.. _details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details + +.. versionadded:: 2.5.0 +.. extensions:: sphinx_toolbox.collapse + + +Usage +------ + +.. rst:directive:: .. collapse:: [label] + + Adds a collapsible section to an HTML page using a details_ element. + + .. _details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details + + With non-HTML builders, the content will be added as-is. + + .. rest-example:: + + .. collapse:: Details + + Something small enough to escape casual notice. + + + .. collapse:: A Different Label + :class: custom-summary + :name: summary0 + + Something else that might escape notice. + + .. collapse:: A long code block + + .. code-block:: python + + print("Not really") + + + .. rst:directive:option:: open + :type: flag + + The ``:open:`` option can be used to have the section open by default. + + .. versionadded:: 3.0.0 + + .. rest-example:: + + .. collapse:: Open + :open: + + This section is open by default. + + +API Reference +---------------- + +""" +# +# Copyright © 2021 Dominic Davis-Foster +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# 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. +# + +# stdlib +from typing import Optional, Sequence + +# 3rd party +from docutils import nodes +from docutils.parsers.rst import directives +from docutils.parsers.rst.roles import set_classes +from domdf_python_tools.stringlist import DelimitedList +from sphinx.application import Sphinx +from sphinx.util.docutils import SphinxDirective +from sphinx.writers.html import HTMLTranslator + +# this package +from sphinx_toolbox.utils import SphinxExtMetadata, flag, metadata_add_version + +__all__ = ("CollapseDirective", "CollapseNode", "visit_collapse_node", "depart_collapse_node", "setup") + + +class CollapseDirective(SphinxDirective): + r""" + A Sphinx directive to add a collapsible section to an HTML page using a details_ element. + + .. _details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details + """ + + final_argument_whitespace: bool = True + has_content: bool = True + + # The label + required_arguments: int = 1 + + option_spec = { + "class": directives.class_option, + "name": directives.unchanged, + "open": flag, + } + + def run(self) -> Sequence[nodes.Node]: # type: ignore[override] + """ + Process the content of the directive. + """ + + set_classes(self.options) + self.assert_has_content() + + text = '\n'.join(self.content) + label = self.arguments[0] + + collapse_node = CollapseNode(text, label, **self.options) + + self.add_name(collapse_node) + + collapse_node["classes"].append(f"summary-{nodes.make_id(label)}") + + self.state.nested_parse(self.content, self.content_offset, collapse_node) + + return [collapse_node] + + +class CollapseNode(nodes.Body, nodes.Element): + """ + Node that represents a collapsible section. + + :param rawsource: + :param label: + """ + + def __init__(self, rawsource: str = '', label: Optional[str] = None, *children, **attributes): + super().__init__(rawsource, *children, **attributes) + self.label = label + + +def visit_collapse_node(translator: HTMLTranslator, node: CollapseNode) -> None: + """ + Visit a :class:`~.CollapseNode`. + + :param translator: + :param node: The node being visited. + """ + + tag_parts = DelimitedList(["details"]) + + if node.get("names", None): + names = DelimitedList(node["names"]) + tag_parts.append(f'name="{names: }"') + + if node.get("classes", None): + classes = DelimitedList(node["classes"]) + tag_parts.append(f'class="{classes: }"') + + if node.attributes.get("open", False): + tag_parts.append("open") + + translator.body.append(f"<{tag_parts: }>\n{node.label}") + translator.context.append("") + + +def depart_collapse_node(translator: HTMLTranslator, node: CollapseNode) -> None: + """ + Depart a :class:`~.CollapseNode`. + + :param translator: + :param node: The node being visited. + """ + + translator.body.append(translator.context.pop()) + + +@metadata_add_version +def setup(app: Sphinx) -> SphinxExtMetadata: + """ + Setup :mod:`sphinx_toolbox.collapse`. + + :param app: The Sphinx application. + """ + + app.add_directive("collapse", CollapseDirective) + app.add_node( + CollapseNode, + html=(visit_collapse_node, depart_collapse_node), + latex=(lambda *args, **kwargs: None, lambda *args, **kwargs: None) + ) + + return { + "parallel_read_safe": True, + } diff --git a/requirements.txt b/requirements.txt index 856b3f4c..82133027 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ sphinx -sphinx_rtd_theme \ No newline at end of file +sphinx_rtd_theme diff --git a/resources/theme/css/theme_overrides.css b/resources/theme/css/theme_overrides.css index 7d148886..1f41990d 100644 --- a/resources/theme/css/theme_overrides.css +++ b/resources/theme/css/theme_overrides.css @@ -5,6 +5,32 @@ * More info: * https://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_css_file */ +/* aum added */ +.rst-content { text-align: justify } +/*.rst-content .admonition {overflow: auto}*/ + +/* below code not working +.rst-content .figure .caption { + display: block; + margin-left: auto; + margin-right: auto; + text-align: center; + }*/ +/* want colored admonition icons */ +rst-content .admonition-title { background-color: #404040 }/* +.rst-content .important .admonition-title {background-color: #ddca3b} +.rst-content .important {background-color: #f6f3a5} + }*/ + +/* refbox =, seealso ( > ), note ( i ), tip i , hint (+), warn / ! \ */ +.refbox .admonition-title::before {content:"\f00b"} +.seealso .admonition-title::before{content:"\f138"} +.note .admonition-title::before{content:"\f05a"} +.tip .admonition-title::before{content:"\f129"; width: 0.75em; text-align: center} +.hint .admonition-title::before{content:"\f055"} +.warning .admonition-title::before{content:"\f071"} + +/* aum end */ h5 {margin-bottom: 5px} @@ -80,7 +106,7 @@ input[type="number"], input[type="tel"], input[type="color"] { display: inline; }*/ -/* Fix definisions with different ids. */ +/* Fix definitions with different ids. */ .rst-content dl.simple { margin-bottom: 0px; } @@ -121,7 +147,7 @@ table {caption-side: bottom} } /* Captions top padding. */ -.rst-content .figure .caption { margin-top: 4px; } +.rst-content .figure .caption { margin: 4px; } .rst-content table.docutils caption { padding: 0.5em; } /* Text word wrap. */ diff --git a/source/conf.py b/source/conf.py index 770c206e..745a9b2e 100644 --- a/source/conf.py +++ b/source/conf.py @@ -21,11 +21,10 @@ # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath(os.path.join('..', 'exts'))) - # -- Project information ----------------------------------------------------- project = 'UPBGE Manual' -copyright = 'This page is licensed under a CC-BY-SA 4.0 Int. License.' +copyright = ': This page is licensed under a CC-BY-SA 4.0 Int. License' author = 'UPBGE Community' # The short X.Y version @@ -33,11 +32,9 @@ # The full version, including alpha/beta/rc tags release = 'latest' - # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -# needs_sphinx = '1.5' # Add any Sphinx extension module names here, as strings. They can be @@ -47,11 +44,18 @@ extensions = [ 'youtube', 'vimeo', + 'collapse', + #'myst-parser', + #'sphinx_togglebutton', + #'sphinx_toolbox.collapse', #'sphinx.ext.mathjax', #'sphinx.ext.intersphinx', #'sphinx.ext.todo', ] +# Display todos +todo_include_todos = False + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -81,40 +85,40 @@ highlight_language = 'python3' # -- Options for HTML output ------------------------------------------------- - # Add any paths that contain custom themes here, relative to this directory. - html_logo = 'images/upbge_logo.png' html_title = 'UPBGE Manual' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -# import sphinx_rtd_theme html_theme = 'sphinx_rtd_theme' # Theme options html_theme_options = { - # included in the title - "display_version": False, - "collapse_navigation": True, - "navigation_depth": -1, - "body_max_width": "80%", - "html_baseurl": "https://upbge.org/manual", - } + "navigation_with_keys": True, + # included in the title + "display_version": False, + "collapse_navigation": True, # slows build down; useful + #"navigation_depth": -1, + "navigation_depth": 3, + #"show_nav_level": 0, # slows down build ? + #"body_max_width": "90%", + #"html_baseurl": "https://upbge.org/manual", +} extensions.append('sphinx_rtd_theme') # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["../resources/theme"] +html_static_path = ["../resources/theme"] # _static if html_theme == "sphinx_rtd_theme": html_css_files = ["css/theme_overrides.css"] - +# html_css_files = ["css/custom.css"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # @@ -122,9 +126,11 @@ # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. -# -# html_sidebars = {} - +#html_sidebars = { +# "**": ["localtoc", "sourcelink"], +# "index": ["relations"], +# "search": ["searchbox"], +#} # -- Options for HTMLHelp output --------------------------------------------- diff --git a/source/images/Logic_Nodes/cursor_visibility_node.png b/source/images/Logic_Nodes/cursor_visibility_node.png deleted file mode 100644 index 4eb8cb2a..00000000 Binary files a/source/images/Logic_Nodes/cursor_visibility_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_active_node.png b/source/images/Logic_Nodes/gamepad_active_node.png deleted file mode 100644 index 1d6f2ce5..00000000 Binary files a/source/images/Logic_Nodes/gamepad_active_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_button_down_node.png b/source/images/Logic_Nodes/gamepad_button_down_node.png deleted file mode 100644 index 8e913363..00000000 Binary files a/source/images/Logic_Nodes/gamepad_button_down_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_button_up_node.png b/source/images/Logic_Nodes/gamepad_button_up_node.png deleted file mode 100644 index dab8ece6..00000000 Binary files a/source/images/Logic_Nodes/gamepad_button_up_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_look_node.png b/source/images/Logic_Nodes/gamepad_look_node.png deleted file mode 100644 index 5c3f4d18..00000000 Binary files a/source/images/Logic_Nodes/gamepad_look_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_sticks_node.png b/source/images/Logic_Nodes/gamepad_sticks_node.png deleted file mode 100644 index 413db5f8..00000000 Binary files a/source/images/Logic_Nodes/gamepad_sticks_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_trigger_node.png b/source/images/Logic_Nodes/gamepad_trigger_node.png deleted file mode 100644 index 1612b96b..00000000 Binary files a/source/images/Logic_Nodes/gamepad_trigger_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/gamepad_vibration_node.png b/source/images/Logic_Nodes/gamepad_vibration_node.png deleted file mode 100644 index 405c9552..00000000 Binary files a/source/images/Logic_Nodes/gamepad_vibration_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/key_code_node.png b/source/images/Logic_Nodes/key_code_node.png deleted file mode 100644 index d50790db..00000000 Binary files a/source/images/Logic_Nodes/key_code_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/key_down_node.png b/source/images/Logic_Nodes/key_down_node.png deleted file mode 100644 index 3891722c..00000000 Binary files a/source/images/Logic_Nodes/key_down_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/key_logger_node.png b/source/images/Logic_Nodes/key_logger_node.png deleted file mode 100644 index d3cb9758..00000000 Binary files a/source/images/Logic_Nodes/key_logger_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/key_up_node.png b/source/images/Logic_Nodes/key_up_node.png deleted file mode 100644 index 64b17abd..00000000 Binary files a/source/images/Logic_Nodes/key_up_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/keyboard_active_node.png b/source/images/Logic_Nodes/keyboard_active_node.png deleted file mode 100644 index c22dd16f..00000000 Binary files a/source/images/Logic_Nodes/keyboard_active_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/load_file_node.png b/source/images/Logic_Nodes/load_file_node.png deleted file mode 100644 index bcd29ab5..00000000 Binary files a/source/images/Logic_Nodes/load_file_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/load_game_node.png b/source/images/Logic_Nodes/load_game_node.png deleted file mode 100644 index 2adb915d..00000000 Binary files a/source/images/Logic_Nodes/load_game_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/logic-nodes-category-2-objects-transformation-align-axis-to-vector.png b/source/images/Logic_Nodes/logic-nodes-category-2-objects-transformation-align-axis-to-vector.png deleted file mode 100644 index bf152802..00000000 Binary files a/source/images/Logic_Nodes/logic-nodes-category-2-objects-transformation-align-axis-to-vector.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_button_node.png b/source/images/Logic_Nodes/mouse_button_node.png deleted file mode 100644 index 6275beb8..00000000 Binary files a/source/images/Logic_Nodes/mouse_button_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_button_over_node.png b/source/images/Logic_Nodes/mouse_button_over_node.png deleted file mode 100644 index 20afe12e..00000000 Binary files a/source/images/Logic_Nodes/mouse_button_over_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_button_up_node.png b/source/images/Logic_Nodes/mouse_button_up_node.png deleted file mode 100644 index 42f43c48..00000000 Binary files a/source/images/Logic_Nodes/mouse_button_up_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_look_node.png b/source/images/Logic_Nodes/mouse_look_node.png deleted file mode 100644 index 16644c50..00000000 Binary files a/source/images/Logic_Nodes/mouse_look_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_moved_node.png b/source/images/Logic_Nodes/mouse_moved_node.png deleted file mode 100644 index aa4eb591..00000000 Binary files a/source/images/Logic_Nodes/mouse_moved_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_over_node.png b/source/images/Logic_Nodes/mouse_over_node.png deleted file mode 100644 index 5e010d22..00000000 Binary files a/source/images/Logic_Nodes/mouse_over_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_set_position_node.png b/source/images/Logic_Nodes/mouse_set_position_node.png deleted file mode 100644 index ecbd6fde..00000000 Binary files a/source/images/Logic_Nodes/mouse_set_position_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_status_node.png b/source/images/Logic_Nodes/mouse_status_node.png deleted file mode 100644 index ed9aaeeb..00000000 Binary files a/source/images/Logic_Nodes/mouse_status_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/mouse_wheel_node.png b/source/images/Logic_Nodes/mouse_wheel_node.png deleted file mode 100644 index b7d6cc8b..00000000 Binary files a/source/images/Logic_Nodes/mouse_wheel_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/on_init_node.png b/source/images/Logic_Nodes/on_init_node.png deleted file mode 100644 index 688767db..00000000 Binary files a/source/images/Logic_Nodes/on_init_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/on_next_tick_node.png b/source/images/Logic_Nodes/on_next_tick_node.png deleted file mode 100644 index 10e2c833..00000000 Binary files a/source/images/Logic_Nodes/on_next_tick_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/on_update_node.png b/source/images/Logic_Nodes/on_update_node.png deleted file mode 100644 index 583c470a..00000000 Binary files a/source/images/Logic_Nodes/on_update_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/on_value_changed_node.png b/source/images/Logic_Nodes/on_value_changed_node.png deleted file mode 100644 index 790919e7..00000000 Binary files a/source/images/Logic_Nodes/on_value_changed_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/on_value_changed_to_node.png b/source/images/Logic_Nodes/on_value_changed_to_node.png deleted file mode 100644 index 843b3acc..00000000 Binary files a/source/images/Logic_Nodes/on_value_changed_to_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/once_node.png b/source/images/Logic_Nodes/once_node.png deleted file mode 100644 index 2136f34a..00000000 Binary files a/source/images/Logic_Nodes/once_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/quit_game_node.png b/source/images/Logic_Nodes/quit_game_node.png deleted file mode 100644 index 5ddd5a29..00000000 Binary files a/source/images/Logic_Nodes/quit_game_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/receive_node.png b/source/images/Logic_Nodes/receive_node.png deleted file mode 100644 index 7f4f66f4..00000000 Binary files a/source/images/Logic_Nodes/receive_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/restart_game_node.png b/source/images/Logic_Nodes/restart_game_node.png deleted file mode 100644 index 71bc81b2..00000000 Binary files a/source/images/Logic_Nodes/restart_game_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/save_game_node.png b/source/images/Logic_Nodes/save_game_node.png deleted file mode 100644 index 747a9ec8..00000000 Binary files a/source/images/Logic_Nodes/save_game_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/send_node.png b/source/images/Logic_Nodes/send_node.png deleted file mode 100644 index 7d8da8a6..00000000 Binary files a/source/images/Logic_Nodes/send_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/vr_controller_node.png b/source/images/Logic_Nodes/vr_controller_node.png deleted file mode 100644 index d7609ac8..00000000 Binary files a/source/images/Logic_Nodes/vr_controller_node.png and /dev/null differ diff --git a/source/images/Logic_Nodes/vr_headset_node.png b/source/images/Logic_Nodes/vr_headset_node.png deleted file mode 100644 index b989bef6..00000000 Binary files a/source/images/Logic_Nodes/vr_headset_node.png and /dev/null differ diff --git a/source/images/Tutorials/introducing_logic_nodes/00_terminal_run.png b/source/images/Tutorials/introducing_logic_nodes/00_terminal_run.png new file mode 100644 index 00000000..cd65dbb3 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/00_terminal_run.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/01_edit_menu_prefs.png b/source/images/Tutorials/introducing_logic_nodes/01_edit_menu_prefs.png new file mode 100644 index 00000000..3aa6e207 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/01_edit_menu_prefs.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/02_prefs_filter_logic.png b/source/images/Tutorials/introducing_logic_nodes/02_prefs_filter_logic.png new file mode 100644 index 00000000..a47c1bb4 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/02_prefs_filter_logic.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/03_prefs_addons_ln_unfold.png b/source/images/Tutorials/introducing_logic_nodes/03_prefs_addons_ln_unfold.png new file mode 100644 index 00000000..97c5cc9b Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/03_prefs_addons_ln_unfold.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/04_editor.png b/source/images/Tutorials/introducing_logic_nodes/04_editor.png new file mode 100644 index 00000000..c4c796f2 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/04_editor.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/05_new_ln_tree.png b/source/images/Tutorials/introducing_logic_nodes/05_new_ln_tree.png new file mode 100644 index 00000000..abc86e87 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/05_new_ln_tree.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/06_n_panel_dashboard.png b/source/images/Tutorials/introducing_logic_nodes/06_n_panel_dashboard.png new file mode 100644 index 00000000..bbd6c6aa Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/06_n_panel_dashboard.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/07_add_key_node.png b/source/images/Tutorials/introducing_logic_nodes/07_add_key_node.png new file mode 100644 index 00000000..d38cea67 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/07_add_key_node.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/08_search_print_node.png b/source/images/Tutorials/introducing_logic_nodes/08_search_print_node.png new file mode 100644 index 00000000..2b8d77ad Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/08_search_print_node.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/09_nodes_connected.png b/source/images/Tutorials/introducing_logic_nodes/09_nodes_connected.png new file mode 100644 index 00000000..6e494e55 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/09_nodes_connected.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/10_apply_to_selected.png b/source/images/Tutorials/introducing_logic_nodes/10_apply_to_selected.png new file mode 100644 index 00000000..c513e039 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/10_apply_to_selected.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/11_tree_applied_to.png b/source/images/Tutorials/introducing_logic_nodes/11_tree_applied_to.png new file mode 100644 index 00000000..51fdf7c2 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/11_tree_applied_to.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/12_rearange_n_sub_panel.png b/source/images/Tutorials/introducing_logic_nodes/12_rearange_n_sub_panel.png new file mode 100644 index 00000000..89e9aa45 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/12_rearange_n_sub_panel.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/13_embedded_start.png b/source/images/Tutorials/introducing_logic_nodes/13_embedded_start.png new file mode 100644 index 00000000..6a43e561 Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/13_embedded_start.png differ diff --git a/source/images/Tutorials/introducing_logic_nodes/14_terminal_output.png b/source/images/Tutorials/introducing_logic_nodes/14_terminal_output.png new file mode 100644 index 00000000..afd3c97b Binary files /dev/null and b/source/images/Tutorials/introducing_logic_nodes/14_terminal_output.png differ diff --git a/source/images/contribute/add_python_to_path.png b/source/images/contribute/add_python_to_path.png new file mode 100644 index 00000000..2a021a51 Binary files /dev/null and b/source/images/contribute/add_python_to_path.png differ diff --git a/source/images/logic_nodes/animation/armature_rig/ln-bone_status.png b/source/images/logic_nodes/animation/armature_rig/ln-bone_status.png new file mode 100644 index 00000000..0ae06682 Binary files /dev/null and b/source/images/logic_nodes/animation/armature_rig/ln-bone_status.png differ diff --git a/source/images/logic_nodes/animation/armature_rig/ln-set_bone_position.png b/source/images/logic_nodes/animation/armature_rig/ln-set_bone_position.png new file mode 100644 index 00000000..e6d3ddbf Binary files /dev/null and b/source/images/logic_nodes/animation/armature_rig/ln-set_bone_position.png differ diff --git a/source/images/logic_nodes/animation/bone_constraints/ln-set_attribute.png b/source/images/logic_nodes/animation/bone_constraints/ln-set_attribute.png new file mode 100644 index 00000000..aff18fb9 Binary files /dev/null and b/source/images/logic_nodes/animation/bone_constraints/ln-set_attribute.png differ diff --git a/source/images/logic_nodes/animation/bone_constraints/ln-set_influence.png b/source/images/logic_nodes/animation/bone_constraints/ln-set_influence.png new file mode 100644 index 00000000..279e8c90 Binary files /dev/null and b/source/images/logic_nodes/animation/bone_constraints/ln-set_influence.png differ diff --git a/source/images/logic_nodes/animation/bone_constraints/ln-set_target.png b/source/images/logic_nodes/animation/bone_constraints/ln-set_target.png new file mode 100644 index 00000000..9502ac36 Binary files /dev/null and b/source/images/logic_nodes/animation/bone_constraints/ln-set_target.png differ diff --git a/source/images/logic_nodes/animation/ln-animation_status.png b/source/images/logic_nodes/animation/ln-animation_status.png new file mode 100644 index 00000000..ed13ec09 Binary files /dev/null and b/source/images/logic_nodes/animation/ln-animation_status.png differ diff --git a/source/images/logic_nodes/animation/ln-play_animation.png b/source/images/logic_nodes/animation/ln-play_animation.png new file mode 100644 index 00000000..d3cb5062 Binary files /dev/null and b/source/images/logic_nodes/animation/ln-play_animation.png differ diff --git a/source/images/logic_nodes/animation/ln-set_animation_frame.png b/source/images/logic_nodes/animation/ln-set_animation_frame.png new file mode 100644 index 00000000..2ca067c0 Binary files /dev/null and b/source/images/logic_nodes/animation/ln-set_animation_frame.png differ diff --git a/source/images/logic_nodes/animation/ln-stop_animation.png b/source/images/logic_nodes/animation/ln-stop_animation.png new file mode 100644 index 00000000..af8a7b7a Binary files /dev/null and b/source/images/logic_nodes/animation/ln-stop_animation.png differ diff --git a/source/images/logic_nodes/data/dict/ln-dictionary_from_items.png b/source/images/logic_nodes/data/dict/ln-dictionary_from_items.png new file mode 100644 index 00000000..99fcb02f Binary files /dev/null and b/source/images/logic_nodes/data/dict/ln-dictionary_from_items.png differ diff --git a/source/images/logic_nodes/data/dict/ln-get_dictionary_key.png b/source/images/logic_nodes/data/dict/ln-get_dictionary_key.png new file mode 100644 index 00000000..3d006c95 Binary files /dev/null and b/source/images/logic_nodes/data/dict/ln-get_dictionary_key.png differ diff --git a/source/images/logic_nodes/data/dict/ln-new_dictionary.png b/source/images/logic_nodes/data/dict/ln-new_dictionary.png new file mode 100644 index 00000000..20998f44 Binary files /dev/null and b/source/images/logic_nodes/data/dict/ln-new_dictionary.png differ diff --git a/source/images/logic_nodes/data/dict/ln-remove_dictionary_key.png b/source/images/logic_nodes/data/dict/ln-remove_dictionary_key.png new file mode 100644 index 00000000..574a09ee Binary files /dev/null and b/source/images/logic_nodes/data/dict/ln-remove_dictionary_key.png differ diff --git a/source/images/logic_nodes/data/dict/ln-set_dictionary_key.png b/source/images/logic_nodes/data/dict/ln-set_dictionary_key.png new file mode 100644 index 00000000..1b61e8cd Binary files /dev/null and b/source/images/logic_nodes/data/dict/ln-set_dictionary_key.png differ diff --git a/source/images/logic_nodes/data/list/ln-append.png b/source/images/logic_nodes/data/list/ln-append.png new file mode 100644 index 00000000..b1b99f98 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-append.png differ diff --git a/source/images/logic_nodes/data/list/ln-duplicate.png b/source/images/logic_nodes/data/list/ln-duplicate.png new file mode 100644 index 00000000..56b43f9c Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-duplicate.png differ diff --git a/source/images/logic_nodes/data/list/ln-extend.png b/source/images/logic_nodes/data/list/ln-extend.png new file mode 100644 index 00000000..d5193cfc Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-extend.png differ diff --git a/source/images/logic_nodes/data/list/ln-get_list_index.png b/source/images/logic_nodes/data/list/ln-get_list_index.png new file mode 100644 index 00000000..ba6f3b58 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-get_list_index.png differ diff --git a/source/images/logic_nodes/data/list/ln-get_random_list_item.png b/source/images/logic_nodes/data/list/ln-get_random_list_item.png new file mode 100644 index 00000000..46bab0f9 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-get_random_list_item.png differ diff --git a/source/images/logic_nodes/data/list/ln-list_from_items.png b/source/images/logic_nodes/data/list/ln-list_from_items.png new file mode 100644 index 00000000..2088c11c Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-list_from_items.png differ diff --git a/source/images/logic_nodes/data/list/ln-new_list.png b/source/images/logic_nodes/data/list/ln-new_list.png new file mode 100644 index 00000000..14b647f5 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-new_list.png differ diff --git a/source/images/logic_nodes/data/list/ln-remove_index.png b/source/images/logic_nodes/data/list/ln-remove_index.png new file mode 100644 index 00000000..e5a9dcc3 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-remove_index.png differ diff --git a/source/images/logic_nodes/data/list/ln-remove_value.png b/source/images/logic_nodes/data/list/ln-remove_value.png new file mode 100644 index 00000000..9813b754 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-remove_value.png differ diff --git a/source/images/logic_nodes/data/list/ln-set_list_index.png b/source/images/logic_nodes/data/list/ln-set_list_index.png new file mode 100644 index 00000000..a0ac3600 Binary files /dev/null and b/source/images/logic_nodes/data/list/ln-set_list_index.png differ diff --git a/source/images/logic_nodes/data/ln-load_file_content.png b/source/images/logic_nodes/data/ln-load_file_content.png new file mode 100644 index 00000000..38b85d24 Binary files /dev/null and b/source/images/logic_nodes/data/ln-load_file_content.png differ diff --git a/source/images/logic_nodes/data/ln-load_scene.png b/source/images/logic_nodes/data/ln-load_scene.png new file mode 100644 index 00000000..7e3d46eb Binary files /dev/null and b/source/images/logic_nodes/data/ln-load_scene.png differ diff --git a/source/images/logic_nodes/data/variables/ln-clear_variables.png b/source/images/logic_nodes/data/variables/ln-clear_variables.png new file mode 100644 index 00000000..6737b5a2 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-clear_variables.png differ diff --git a/source/images/logic_nodes/data/variables/ln-list_saved_variables.png b/source/images/logic_nodes/data/variables/ln-list_saved_variables.png new file mode 100644 index 00000000..6ffa3cc8 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-list_saved_variables.png differ diff --git a/source/images/logic_nodes/data/variables/ln-load_variable.png b/source/images/logic_nodes/data/variables/ln-load_variable.png new file mode 100644 index 00000000..ea89e004 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-load_variable.png differ diff --git a/source/images/logic_nodes/data/variables/ln-load_variable_dict.png b/source/images/logic_nodes/data/variables/ln-load_variable_dict.png new file mode 100644 index 00000000..50836871 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-load_variable_dict.png differ diff --git a/source/images/logic_nodes/data/variables/ln-remove_variable.png b/source/images/logic_nodes/data/variables/ln-remove_variable.png new file mode 100644 index 00000000..881b2a09 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-remove_variable.png differ diff --git a/source/images/logic_nodes/data/variables/ln-save_variable.png b/source/images/logic_nodes/data/variables/ln-save_variable.png new file mode 100644 index 00000000..5fcba3f4 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-save_variable.png differ diff --git a/source/images/logic_nodes/data/variables/ln-save_variable_dict.png b/source/images/logic_nodes/data/variables/ln-save_variable_dict.png new file mode 100644 index 00000000..78dd9498 Binary files /dev/null and b/source/images/logic_nodes/data/variables/ln-save_variable_dict.png differ diff --git a/source/images/logic_nodes/events/ln-on_init.png b/source/images/logic_nodes/events/ln-on_init.png new file mode 100644 index 00000000..903edb4b Binary files /dev/null and b/source/images/logic_nodes/events/ln-on_init.png differ diff --git a/source/images/logic_nodes/events/ln-on_next_frame.png b/source/images/logic_nodes/events/ln-on_next_frame.png new file mode 100644 index 00000000..9484740c Binary files /dev/null and b/source/images/logic_nodes/events/ln-on_next_frame.png differ diff --git a/source/images/logic_nodes/events/ln-on_update.png b/source/images/logic_nodes/events/ln-on_update.png new file mode 100644 index 00000000..e1bab0c2 Binary files /dev/null and b/source/images/logic_nodes/events/ln-on_update.png differ diff --git a/source/images/logic_nodes/events/ln-on_value_changed.png b/source/images/logic_nodes/events/ln-on_value_changed.png new file mode 100644 index 00000000..99faca22 Binary files /dev/null and b/source/images/logic_nodes/events/ln-on_value_changed.png differ diff --git a/source/images/logic_nodes/events/ln-on_value_changed_to.png b/source/images/logic_nodes/events/ln-on_value_changed_to.png new file mode 100644 index 00000000..7ee49dd5 Binary files /dev/null and b/source/images/logic_nodes/events/ln-on_value_changed_to.png differ diff --git a/source/images/logic_nodes/events/ln-once-example.png b/source/images/logic_nodes/events/ln-once-example.png new file mode 100644 index 00000000..da36b44d Binary files /dev/null and b/source/images/logic_nodes/events/ln-once-example.png differ diff --git a/source/images/logic_nodes/events/ln-once.png b/source/images/logic_nodes/events/ln-once.png new file mode 100644 index 00000000..12deae4c Binary files /dev/null and b/source/images/logic_nodes/events/ln-once.png differ diff --git a/source/images/logic_nodes/events/ln-receive_event.png b/source/images/logic_nodes/events/ln-receive_event.png new file mode 100644 index 00000000..b7801131 Binary files /dev/null and b/source/images/logic_nodes/events/ln-receive_event.png differ diff --git a/source/images/logic_nodes/events/ln-send_event.png b/source/images/logic_nodes/events/ln-send_event.png new file mode 100644 index 00000000..c100aaf6 Binary files /dev/null and b/source/images/logic_nodes/events/ln-send_event.png differ diff --git a/source/images/logic_nodes/file/ln-get_font.png b/source/images/logic_nodes/file/ln-get_font.png new file mode 100644 index 00000000..30e88740 Binary files /dev/null and b/source/images/logic_nodes/file/ln-get_font.png differ diff --git a/source/images/logic_nodes/file/ln-get_image.png b/source/images/logic_nodes/file/ln-get_image.png new file mode 100644 index 00000000..515ca0b1 Binary files /dev/null and b/source/images/logic_nodes/file/ln-get_image.png differ diff --git a/source/images/logic_nodes/file/ln-get_sound.png b/source/images/logic_nodes/file/ln-get_sound.png new file mode 100644 index 00000000..b7f23e10 Binary files /dev/null and b/source/images/logic_nodes/file/ln-get_sound.png differ diff --git a/source/images/logic_nodes/game/ln-load_blender_file.png b/source/images/logic_nodes/game/ln-load_blender_file.png new file mode 100644 index 00000000..2056bddd Binary files /dev/null and b/source/images/logic_nodes/game/ln-load_blender_file.png differ diff --git a/source/images/logic_nodes/game/ln-load_game.png b/source/images/logic_nodes/game/ln-load_game.png new file mode 100644 index 00000000..cb86a061 Binary files /dev/null and b/source/images/logic_nodes/game/ln-load_game.png differ diff --git a/source/images/logic_nodes/game/ln-quit_game.png b/source/images/logic_nodes/game/ln-quit_game.png new file mode 100644 index 00000000..8106d10f Binary files /dev/null and b/source/images/logic_nodes/game/ln-quit_game.png differ diff --git a/source/images/logic_nodes/game/ln-restart_game.png b/source/images/logic_nodes/game/ln-restart_game.png new file mode 100644 index 00000000..ef687419 Binary files /dev/null and b/source/images/logic_nodes/game/ln-restart_game.png differ diff --git a/source/images/logic_nodes/game/ln-save_game.png b/source/images/logic_nodes/game/ln-save_game.png new file mode 100644 index 00000000..16f84f2c Binary files /dev/null and b/source/images/logic_nodes/game/ln-save_game.png differ diff --git a/source/images/logic_nodes/input/gamepad/ln-gamepad_active.png b/source/images/logic_nodes/input/gamepad/ln-gamepad_active.png new file mode 100644 index 00000000..3991cd7d Binary files /dev/null and b/source/images/logic_nodes/input/gamepad/ln-gamepad_active.png differ diff --git a/source/images/logic_nodes/input/gamepad/ln-gamepad_button.png b/source/images/logic_nodes/input/gamepad/ln-gamepad_button.png new file mode 100644 index 00000000..09cef555 Binary files /dev/null and b/source/images/logic_nodes/input/gamepad/ln-gamepad_button.png differ diff --git a/source/images/logic_nodes/input/gamepad/ln-gamepad_look.png b/source/images/logic_nodes/input/gamepad/ln-gamepad_look.png new file mode 100644 index 00000000..726f2fa9 Binary files /dev/null and b/source/images/logic_nodes/input/gamepad/ln-gamepad_look.png differ diff --git a/source/images/logic_nodes/input/gamepad/ln-gamepad_sticks.png b/source/images/logic_nodes/input/gamepad/ln-gamepad_sticks.png new file mode 100644 index 00000000..d09652cf Binary files /dev/null and b/source/images/logic_nodes/input/gamepad/ln-gamepad_sticks.png differ diff --git a/source/images/logic_nodes/input/gamepad/ln-gamepad_vibrate.png b/source/images/logic_nodes/input/gamepad/ln-gamepad_vibrate.png new file mode 100644 index 00000000..51ce6a87 Binary files /dev/null and b/source/images/logic_nodes/input/gamepad/ln-gamepad_vibrate.png differ diff --git a/source/images/logic_nodes/input/keyboard/ln-instream.png b/source/images/logic_nodes/input/keyboard/ln-instream.png new file mode 100644 index 00000000..2b2b41cf Binary files /dev/null and b/source/images/logic_nodes/input/keyboard/ln-instream.png differ diff --git a/source/images/logic_nodes/input/keyboard/ln-key_code.png b/source/images/logic_nodes/input/keyboard/ln-key_code.png new file mode 100644 index 00000000..3330f027 Binary files /dev/null and b/source/images/logic_nodes/input/keyboard/ln-key_code.png differ diff --git a/source/images/logic_nodes/input/keyboard/ln-keyboard_active.png b/source/images/logic_nodes/input/keyboard/ln-keyboard_active.png new file mode 100644 index 00000000..ee2d09f1 Binary files /dev/null and b/source/images/logic_nodes/input/keyboard/ln-keyboard_active.png differ diff --git a/source/images/logic_nodes/input/keyboard/ln-keyboard_key.png b/source/images/logic_nodes/input/keyboard/ln-keyboard_key.png new file mode 100644 index 00000000..c0fdcd3f Binary files /dev/null and b/source/images/logic_nodes/input/keyboard/ln-keyboard_key.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-cursor_visibility.png b/source/images/logic_nodes/input/mouse/ln-cursor_visibility.png new file mode 100644 index 00000000..5de46c7f Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-cursor_visibility.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_button.png b/source/images/logic_nodes/input/mouse/ln-mouse_button.png new file mode 100644 index 00000000..0c081b98 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_button.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_look.png b/source/images/logic_nodes/input/mouse/ln-mouse_look.png new file mode 100644 index 00000000..e292e8b9 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_look.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_moved.png b/source/images/logic_nodes/input/mouse/ln-mouse_moved.png new file mode 100644 index 00000000..b6ff6865 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_moved.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_over-example.png b/source/images/logic_nodes/input/mouse/ln-mouse_over-example.png new file mode 100644 index 00000000..bf6ab001 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_over-example.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_over-example_apply.png b/source/images/logic_nodes/input/mouse/ln-mouse_over-example_apply.png new file mode 100644 index 00000000..e9520177 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_over-example_apply.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_over-example_once.png b/source/images/logic_nodes/input/mouse/ln-mouse_over-example_once.png new file mode 100644 index 00000000..66bfd1a5 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_over-example_once.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_over-example_terminal.png b/source/images/logic_nodes/input/mouse/ln-mouse_over-example_terminal.png new file mode 100644 index 00000000..43fc4bc6 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_over-example_terminal.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_over.png b/source/images/logic_nodes/input/mouse/ln-mouse_over.png new file mode 100644 index 00000000..9c31ea61 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_over.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-mouse_status.png b/source/images/logic_nodes/input/mouse/ln-mouse_status.png new file mode 100644 index 00000000..a8aae050 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-mouse_status.png differ diff --git a/source/images/logic_nodes/input/mouse/ln-set_cursor_position.png b/source/images/logic_nodes/input/mouse/ln-set_cursor_position.png new file mode 100644 index 00000000..d2090142 Binary files /dev/null and b/source/images/logic_nodes/input/mouse/ln-set_cursor_position.png differ diff --git a/source/images/logic_nodes/input/vr/ln-vr_controller.png b/source/images/logic_nodes/input/vr/ln-vr_controller.png new file mode 100644 index 00000000..32608857 Binary files /dev/null and b/source/images/logic_nodes/input/vr/ln-vr_controller.png differ diff --git a/source/images/logic_nodes/input/vr/ln-vr_headset.png b/source/images/logic_nodes/input/vr/ln-vr_headset.png new file mode 100644 index 00000000..d4190d89 Binary files /dev/null and b/source/images/logic_nodes/input/vr/ln-vr_headset.png differ diff --git a/source/images/logic_nodes/lights/ln-get_light_color.png b/source/images/logic_nodes/lights/ln-get_light_color.png new file mode 100644 index 00000000..8e4ad08d Binary files /dev/null and b/source/images/logic_nodes/lights/ln-get_light_color.png differ diff --git a/source/images/logic_nodes/lights/ln-get_light_power.png b/source/images/logic_nodes/lights/ln-get_light_power.png new file mode 100644 index 00000000..ad7f07b8 Binary files /dev/null and b/source/images/logic_nodes/lights/ln-get_light_power.png differ diff --git a/source/images/logic_nodes/lights/ln-make_light_unique.png b/source/images/logic_nodes/lights/ln-make_light_unique.png new file mode 100644 index 00000000..96d7f597 Binary files /dev/null and b/source/images/logic_nodes/lights/ln-make_light_unique.png differ diff --git a/source/images/logic_nodes/lights/ln-set_light_color.png b/source/images/logic_nodes/lights/ln-set_light_color.png new file mode 100644 index 00000000..e9a5d106 Binary files /dev/null and b/source/images/logic_nodes/lights/ln-set_light_color.png differ diff --git a/source/images/logic_nodes/lights/ln-set_light_power.png b/source/images/logic_nodes/lights/ln-set_light_power.png new file mode 100644 index 00000000..60af9237 Binary files /dev/null and b/source/images/logic_nodes/lights/ln-set_light_power.png differ diff --git a/source/images/logic_nodes/lights/ln-set_light_shadow.png b/source/images/logic_nodes/lights/ln-set_light_shadow.png new file mode 100644 index 00000000..74535cbf Binary files /dev/null and b/source/images/logic_nodes/lights/ln-set_light_shadow.png differ diff --git a/source/images/logic_nodes/ln-4_key_template.png b/source/images/logic_nodes/ln-4_key_template.png new file mode 100644 index 00000000..c729f8cb Binary files /dev/null and b/source/images/logic_nodes/ln-4_key_template.png differ diff --git a/source/images/logic_nodes/ln-noodles.png b/source/images/logic_nodes/ln-noodles.png new file mode 100644 index 00000000..417a2990 Binary files /dev/null and b/source/images/logic_nodes/ln-noodles.png differ diff --git a/source/images/logic_nodes/logic/bricks/ln-controller_status.png b/source/images/logic_nodes/logic/bricks/ln-controller_status.png new file mode 100644 index 00000000..7f46777a Binary files /dev/null and b/source/images/logic_nodes/logic/bricks/ln-controller_status.png differ diff --git a/source/images/logic_nodes/logic/bricks/ln-get_actuator_value.png b/source/images/logic_nodes/logic/bricks/ln-get_actuator_value.png new file mode 100644 index 00000000..2096b69e Binary files /dev/null and b/source/images/logic_nodes/logic/bricks/ln-get_actuator_value.png differ diff --git a/source/images/logic_nodes/logic/bricks/ln-get_sensor_value.png b/source/images/logic_nodes/logic/bricks/ln-get_sensor_value.png new file mode 100644 index 00000000..efdc324e Binary files /dev/null and b/source/images/logic_nodes/logic/bricks/ln-get_sensor_value.png differ diff --git a/source/images/logic_nodes/logic/bricks/ln-sensor_positive.png b/source/images/logic_nodes/logic/bricks/ln-sensor_positive.png new file mode 100644 index 00000000..d5dbf0ed Binary files /dev/null and b/source/images/logic_nodes/logic/bricks/ln-sensor_positive.png differ diff --git a/source/images/logic_nodes/logic/bricks/ln-set_actuator_value.png b/source/images/logic_nodes/logic/bricks/ln-set_actuator_value.png new file mode 100644 index 00000000..b7717291 Binary files /dev/null and b/source/images/logic_nodes/logic/bricks/ln-set_actuator_value.png differ diff --git a/source/images/logic_nodes/logic/bricks/ln-set_sensor_value.png b/source/images/logic_nodes/logic/bricks/ln-set_sensor_value.png new file mode 100644 index 00000000..8467cb1c Binary files /dev/null and b/source/images/logic_nodes/logic/bricks/ln-set_sensor_value.png differ diff --git a/source/images/logic_nodes/logic/ln-branch.png b/source/images/logic_nodes/logic/ln-branch.png new file mode 100644 index 00000000..46ba65bb Binary files /dev/null and b/source/images/logic_nodes/logic/ln-branch.png differ diff --git a/source/images/logic_nodes/logic/ln-gate.png b/source/images/logic_nodes/logic/ln-gate.png new file mode 100644 index 00000000..e6ceab42 Binary files /dev/null and b/source/images/logic_nodes/logic/ln-gate.png differ diff --git a/source/images/logic_nodes/logic/ln-gate_list.png b/source/images/logic_nodes/logic/ln-gate_list.png new file mode 100644 index 00000000..1eeeb837 Binary files /dev/null and b/source/images/logic_nodes/logic/ln-gate_list.png differ diff --git a/source/images/logic_nodes/logic/ln-is_none.png b/source/images/logic_nodes/logic/ln-is_none.png new file mode 100644 index 00000000..9cf75bc2 Binary files /dev/null and b/source/images/logic_nodes/logic/ln-is_none.png differ diff --git a/source/images/logic_nodes/logic/ln-not_none.png b/source/images/logic_nodes/logic/ln-not_none.png new file mode 100644 index 00000000..e2a28910 Binary files /dev/null and b/source/images/logic_nodes/logic/ln-not_none.png differ diff --git a/source/images/logic_nodes/logic/trees/ln-add_logic_tree_to_object.png b/source/images/logic_nodes/logic/trees/ln-add_logic_tree_to_object.png new file mode 100644 index 00000000..3d9c922f Binary files /dev/null and b/source/images/logic_nodes/logic/trees/ln-add_logic_tree_to_object.png differ diff --git a/source/images/logic_nodes/logic/trees/ln-logic_tree_status.png b/source/images/logic_nodes/logic/trees/ln-logic_tree_status.png new file mode 100644 index 00000000..d6b2c0d1 Binary files /dev/null and b/source/images/logic_nodes/logic/trees/ln-logic_tree_status.png differ diff --git a/source/images/logic_nodes/logic/trees/ln-run_logic_tree.png b/source/images/logic_nodes/logic/trees/ln-run_logic_tree.png new file mode 100644 index 00000000..a3145cbe Binary files /dev/null and b/source/images/logic_nodes/logic/trees/ln-run_logic_tree.png differ diff --git a/source/images/logic_nodes/logic/trees/ln-start_logic_tree.png b/source/images/logic_nodes/logic/trees/ln-start_logic_tree.png new file mode 100644 index 00000000..0af3a84a Binary files /dev/null and b/source/images/logic_nodes/logic/trees/ln-start_logic_tree.png differ diff --git a/source/images/logic_nodes/logic/trees/ln-stop_logic_tree.png b/source/images/logic_nodes/logic/trees/ln-stop_logic_tree.png new file mode 100644 index 00000000..356125d8 Binary files /dev/null and b/source/images/logic_nodes/logic/trees/ln-stop_logic_tree.png differ diff --git a/source/images/logic_nodes/math/ln-absolute.png b/source/images/logic_nodes/math/ln-absolute.png new file mode 100644 index 00000000..097e8762 Binary files /dev/null and b/source/images/logic_nodes/math/ln-absolute.png differ diff --git a/source/images/logic_nodes/math/ln-clamp.png b/source/images/logic_nodes/math/ln-clamp.png new file mode 100644 index 00000000..cf164f8a Binary files /dev/null and b/source/images/logic_nodes/math/ln-clamp.png differ diff --git a/source/images/logic_nodes/math/ln-compare.png b/source/images/logic_nodes/math/ln-compare.png new file mode 100644 index 00000000..f19059de Binary files /dev/null and b/source/images/logic_nodes/math/ln-compare.png differ diff --git a/source/images/logic_nodes/math/ln-formula.png b/source/images/logic_nodes/math/ln-formula.png new file mode 100644 index 00000000..4c9a6476 Binary files /dev/null and b/source/images/logic_nodes/math/ln-formula.png differ diff --git a/source/images/logic_nodes/math/ln-interpolate.png b/source/images/logic_nodes/math/ln-interpolate.png new file mode 100644 index 00000000..1a74779d Binary files /dev/null and b/source/images/logic_nodes/math/ln-interpolate.png differ diff --git a/source/images/logic_nodes/math/ln-limit_range.png b/source/images/logic_nodes/math/ln-limit_range.png new file mode 100644 index 00000000..b831e184 Binary files /dev/null and b/source/images/logic_nodes/math/ln-limit_range.png differ diff --git a/source/images/logic_nodes/math/ln-map_range.png b/source/images/logic_nodes/math/ln-map_range.png new file mode 100644 index 00000000..1e7f89f2 Binary files /dev/null and b/source/images/logic_nodes/math/ln-map_range.png differ diff --git a/source/images/logic_nodes/math/ln-math.png b/source/images/logic_nodes/math/ln-math.png new file mode 100644 index 00000000..9ab7b012 Binary files /dev/null and b/source/images/logic_nodes/math/ln-math.png differ diff --git a/source/images/logic_nodes/math/ln-ranged_treshold.png b/source/images/logic_nodes/math/ln-ranged_treshold.png new file mode 100644 index 00000000..cb676c6e Binary files /dev/null and b/source/images/logic_nodes/math/ln-ranged_treshold.png differ diff --git a/source/images/logic_nodes/math/ln-treshold.png b/source/images/logic_nodes/math/ln-treshold.png new file mode 100644 index 00000000..036d1f67 Binary files /dev/null and b/source/images/logic_nodes/math/ln-treshold.png differ diff --git a/source/images/logic_nodes/math/ln-vector_math.png b/source/images/logic_nodes/math/ln-vector_math.png new file mode 100644 index 00000000..bdcc8db7 Binary files /dev/null and b/source/images/logic_nodes/math/ln-vector_math.png differ diff --git a/source/images/logic_nodes/math/ln-within_range.png b/source/images/logic_nodes/math/ln-within_range.png new file mode 100644 index 00000000..c12ba45e Binary files /dev/null and b/source/images/logic_nodes/math/ln-within_range.png differ diff --git a/source/images/logic_nodes/math/vectors/ln-absolute_vector.png b/source/images/logic_nodes/math/vectors/ln-absolute_vector.png new file mode 100644 index 00000000..75085bd5 Binary files /dev/null and b/source/images/logic_nodes/math/vectors/ln-absolute_vector.png differ diff --git a/source/images/logic_nodes/math/vectors/ln-check_angle.png b/source/images/logic_nodes/math/vectors/ln-check_angle.png new file mode 100644 index 00000000..c9e47143 Binary files /dev/null and b/source/images/logic_nodes/math/vectors/ln-check_angle.png differ diff --git a/source/images/logic_nodes/math/vectors/ln-matrix_to_xyz.png b/source/images/logic_nodes/math/vectors/ln-matrix_to_xyz.png new file mode 100644 index 00000000..3b02ab51 Binary files /dev/null and b/source/images/logic_nodes/math/vectors/ln-matrix_to_xyz.png differ diff --git a/source/images/logic_nodes/math/vectors/ln-vector_rotate.png b/source/images/logic_nodes/math/vectors/ln-vector_rotate.png new file mode 100644 index 00000000..0adc4547 Binary files /dev/null and b/source/images/logic_nodes/math/vectors/ln-vector_rotate.png differ diff --git a/source/images/logic_nodes/math/vectors/ln-xyz_to_matrix.png b/source/images/logic_nodes/math/vectors/ln-xyz_to_matrix.png new file mode 100644 index 00000000..9a4be000 Binary files /dev/null and b/source/images/logic_nodes/math/vectors/ln-xyz_to_matrix.png differ diff --git a/source/images/logic_nodes/network/ln-lan_client.png b/source/images/logic_nodes/network/ln-lan_client.png new file mode 100644 index 00000000..8fb59041 Binary files /dev/null and b/source/images/logic_nodes/network/ln-lan_client.png differ diff --git a/source/images/logic_nodes/network/ln-lan_server.png b/source/images/logic_nodes/network/ln-lan_server.png new file mode 100644 index 00000000..df4a627c Binary files /dev/null and b/source/images/logic_nodes/network/ln-lan_server.png differ diff --git a/source/images/logic_nodes/network/ln-rebuild_data.png b/source/images/logic_nodes/network/ln-rebuild_data.png new file mode 100644 index 00000000..68ccfa8f Binary files /dev/null and b/source/images/logic_nodes/network/ln-rebuild_data.png differ diff --git a/source/images/logic_nodes/network/ln-send_data.png b/source/images/logic_nodes/network/ln-send_data.png new file mode 100644 index 00000000..73064218 Binary files /dev/null and b/source/images/logic_nodes/network/ln-send_data.png differ diff --git a/source/images/logic_nodes/network/ln-serialize_data.png b/source/images/logic_nodes/network/ln-serialize_data.png new file mode 100644 index 00000000..33e2611d Binary files /dev/null and b/source/images/logic_nodes/network/ln-serialize_data.png differ diff --git a/source/images/logic_nodes/nodes/geometry/ln-get_node_value.png b/source/images/logic_nodes/nodes/geometry/ln-get_node_value.png new file mode 100644 index 00000000..ebedf6b8 Binary files /dev/null and b/source/images/logic_nodes/nodes/geometry/ln-get_node_value.png differ diff --git a/source/images/logic_nodes/nodes/geometry/ln-get_socket_value.png b/source/images/logic_nodes/nodes/geometry/ln-get_socket_value.png new file mode 100644 index 00000000..352cd7bf Binary files /dev/null and b/source/images/logic_nodes/nodes/geometry/ln-get_socket_value.png differ diff --git a/source/images/logic_nodes/nodes/geometry/ln-set_node_value.png b/source/images/logic_nodes/nodes/geometry/ln-set_node_value.png new file mode 100644 index 00000000..e836f6ba Binary files /dev/null and b/source/images/logic_nodes/nodes/geometry/ln-set_node_value.png differ diff --git a/source/images/logic_nodes/nodes/geometry/ln-set_socket.png b/source/images/logic_nodes/nodes/geometry/ln-set_socket.png new file mode 100644 index 00000000..c8449dd6 Binary files /dev/null and b/source/images/logic_nodes/nodes/geometry/ln-set_socket.png differ diff --git a/source/images/logic_nodes/nodes/groups/ln-get_node_value.png b/source/images/logic_nodes/nodes/groups/ln-get_node_value.png new file mode 100644 index 00000000..33ac0049 Binary files /dev/null and b/source/images/logic_nodes/nodes/groups/ln-get_node_value.png differ diff --git a/source/images/logic_nodes/nodes/groups/ln-get_socket_value.png b/source/images/logic_nodes/nodes/groups/ln-get_socket_value.png new file mode 100644 index 00000000..ef02b1b3 Binary files /dev/null and b/source/images/logic_nodes/nodes/groups/ln-get_socket_value.png differ diff --git a/source/images/logic_nodes/nodes/groups/ln-set_node_value.png b/source/images/logic_nodes/nodes/groups/ln-set_node_value.png new file mode 100644 index 00000000..39709c1c Binary files /dev/null and b/source/images/logic_nodes/nodes/groups/ln-set_node_value.png differ diff --git a/source/images/logic_nodes/nodes/groups/ln-set_socket.png b/source/images/logic_nodes/nodes/groups/ln-set_socket.png new file mode 100644 index 00000000..e472fbae Binary files /dev/null and b/source/images/logic_nodes/nodes/groups/ln-set_socket.png differ diff --git a/source/images/logic_nodes/nodes/materials/ln-get_node.png b/source/images/logic_nodes/nodes/materials/ln-get_node.png new file mode 100644 index 00000000..383f28fa Binary files /dev/null and b/source/images/logic_nodes/nodes/materials/ln-get_node.png differ diff --git a/source/images/logic_nodes/nodes/materials/ln-get_node_value.png b/source/images/logic_nodes/nodes/materials/ln-get_node_value.png new file mode 100644 index 00000000..07f05def Binary files /dev/null and b/source/images/logic_nodes/nodes/materials/ln-get_node_value.png differ diff --git a/source/images/logic_nodes/nodes/materials/ln-get_socket_value.png b/source/images/logic_nodes/nodes/materials/ln-get_socket_value.png new file mode 100644 index 00000000..7b954d99 Binary files /dev/null and b/source/images/logic_nodes/nodes/materials/ln-get_socket_value.png differ diff --git a/source/images/logic_nodes/nodes/materials/ln-play_sequence.png b/source/images/logic_nodes/nodes/materials/ln-play_sequence.png new file mode 100644 index 00000000..84b28024 Binary files /dev/null and b/source/images/logic_nodes/nodes/materials/ln-play_sequence.png differ diff --git a/source/images/logic_nodes/nodes/materials/ln-set_node_value.png b/source/images/logic_nodes/nodes/materials/ln-set_node_value.png new file mode 100644 index 00000000..ec821300 Binary files /dev/null and b/source/images/logic_nodes/nodes/materials/ln-set_node_value.png differ diff --git a/source/images/logic_nodes/nodes/materials/ln-set_socket.png b/source/images/logic_nodes/nodes/materials/ln-set_socket.png new file mode 100644 index 00000000..c83c73c2 Binary files /dev/null and b/source/images/logic_nodes/nodes/materials/ln-set_socket.png differ diff --git a/source/images/logic_nodes/objects/curves/ln-get_curve_points.png b/source/images/logic_nodes/objects/curves/ln-get_curve_points.png new file mode 100644 index 00000000..32bdf3a3 Binary files /dev/null and b/source/images/logic_nodes/objects/curves/ln-get_curve_points.png differ diff --git a/source/images/logic_nodes/objects/curves/ln-set_curve_points.png b/source/images/logic_nodes/objects/curves/ln-set_curve_points.png new file mode 100644 index 00000000..dbd1f47a Binary files /dev/null and b/source/images/logic_nodes/objects/curves/ln-set_curve_points.png differ diff --git a/source/images/logic_nodes/objects/get_attribute/logic_nodes-08-objects-get_attribute-93-get_attribute.png b/source/images/logic_nodes/objects/get_attribute/logic_nodes-08-objects-get_attribute-93-get_attribute.png new file mode 100644 index 00000000..25738c06 Binary files /dev/null and b/source/images/logic_nodes/objects/get_attribute/logic_nodes-08-objects-get_attribute-93-get_attribute.png differ diff --git a/source/images/logic_nodes/objects/get_attribute/logic_nodes-08-objects-get_attribute-93.1-get_attribute_dd.png b/source/images/logic_nodes/objects/get_attribute/logic_nodes-08-objects-get_attribute-93.1-get_attribute_dd.png new file mode 100644 index 00000000..aad31d59 Binary files /dev/null and b/source/images/logic_nodes/objects/get_attribute/logic_nodes-08-objects-get_attribute-93.1-get_attribute_dd.png differ diff --git a/source/images/logic_nodes/objects/ln-add_object.png b/source/images/logic_nodes/objects/ln-add_object.png new file mode 100644 index 00000000..addda066 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-add_object.png differ diff --git a/source/images/logic_nodes/objects/ln-get_child_by_index.png b/source/images/logic_nodes/objects/ln-get_child_by_index.png new file mode 100644 index 00000000..50c14620 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-get_child_by_index.png differ diff --git a/source/images/logic_nodes/objects/ln-get_child_by_name.png b/source/images/logic_nodes/objects/ln-get_child_by_name.png new file mode 100644 index 00000000..d1b8ac87 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-get_child_by_name.png differ diff --git a/source/images/logic_nodes/objects/ln-get_object.png b/source/images/logic_nodes/objects/ln-get_object.png new file mode 100644 index 00000000..3b17f57c Binary files /dev/null and b/source/images/logic_nodes/objects/ln-get_object.png differ diff --git a/source/images/logic_nodes/objects/ln-get_parent.png b/source/images/logic_nodes/objects/ln-get_parent.png new file mode 100644 index 00000000..bd5edb8c Binary files /dev/null and b/source/images/logic_nodes/objects/ln-get_parent.png differ diff --git a/source/images/logic_nodes/objects/ln-remove_object.png b/source/images/logic_nodes/objects/ln-remove_object.png new file mode 100644 index 00000000..60bb18ef Binary files /dev/null and b/source/images/logic_nodes/objects/ln-remove_object.png differ diff --git a/source/images/logic_nodes/objects/ln-remove_parent.png b/source/images/logic_nodes/objects/ln-remove_parent.png new file mode 100644 index 00000000..f739d6af Binary files /dev/null and b/source/images/logic_nodes/objects/ln-remove_parent.png differ diff --git a/source/images/logic_nodes/objects/ln-send_message.png b/source/images/logic_nodes/objects/ln-send_message.png new file mode 100644 index 00000000..bd644f30 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-send_message.png differ diff --git a/source/images/logic_nodes/objects/ln-set_material.png b/source/images/logic_nodes/objects/ln-set_material.png new file mode 100644 index 00000000..8ce75950 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-set_material.png differ diff --git a/source/images/logic_nodes/objects/ln-set_parent.png b/source/images/logic_nodes/objects/ln-set_parent.png new file mode 100644 index 00000000..cb7779d8 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-set_parent.png differ diff --git a/source/images/logic_nodes/objects/ln-set_visibility.png b/source/images/logic_nodes/objects/ln-set_visibility.png new file mode 100644 index 00000000..ab8b0a0a Binary files /dev/null and b/source/images/logic_nodes/objects/ln-set_visibility.png differ diff --git a/source/images/logic_nodes/objects/ln-spawn_pool.png b/source/images/logic_nodes/objects/ln-spawn_pool.png new file mode 100644 index 00000000..dbb3bc05 Binary files /dev/null and b/source/images/logic_nodes/objects/ln-spawn_pool.png differ diff --git a/source/images/logic_nodes/objects/object_data/ln-get_axis_vector.png b/source/images/logic_nodes/objects/object_data/ln-get_axis_vector.png new file mode 100644 index 00000000..1311d5c1 Binary files /dev/null and b/source/images/logic_nodes/objects/object_data/ln-get_axis_vector.png differ diff --git a/source/images/logic_nodes/objects/object_data/ln-get_object_id.png b/source/images/logic_nodes/objects/object_data/ln-get_object_id.png new file mode 100644 index 00000000..4c6fac9a Binary files /dev/null and b/source/images/logic_nodes/objects/object_data/ln-get_object_id.png differ diff --git a/source/images/logic_nodes/objects/object_data/ln-replace_mesh.png b/source/images/logic_nodes/objects/object_data/ln-replace_mesh.png new file mode 100644 index 00000000..8fffeb62 Binary files /dev/null and b/source/images/logic_nodes/objects/object_data/ln-replace_mesh.png differ diff --git a/source/images/logic_nodes/objects/object_data/ln-set_constraint_attribute.png b/source/images/logic_nodes/objects/object_data/ln-set_constraint_attribute.png new file mode 100644 index 00000000..03c66e58 Binary files /dev/null and b/source/images/logic_nodes/objects/object_data/ln-set_constraint_attribute.png differ diff --git a/source/images/logic_nodes/objects/object_data/ln_get_vertices.png b/source/images/logic_nodes/objects/object_data/ln_get_vertices.png new file mode 100644 index 00000000..b29f862b Binary files /dev/null and b/source/images/logic_nodes/objects/object_data/ln_get_vertices.png differ diff --git a/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-94-set_attribute.png b/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-94-set_attribute.png new file mode 100644 index 00000000..1150eb14 Binary files /dev/null and b/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-94-set_attribute.png differ diff --git a/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-94.1-set_attribute_dd.png b/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-94.1-set_attribute_dd.png new file mode 100644 index 00000000..3378f2fb Binary files /dev/null and b/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-94.1-set_attribute_dd.png differ diff --git a/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-95-set_color.png b/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-95-set_color.png new file mode 100644 index 00000000..e23d549a Binary files /dev/null and b/source/images/logic_nodes/objects/set_attribute/logic_nodes-08-objects-set_attribute-95-set_color.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-align_axis_to_vector.png b/source/images/logic_nodes/objects/transformation/ln-align_axis_to_vector.png new file mode 100644 index 00000000..362ca111 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-align_axis_to_vector.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-apply_force.png b/source/images/logic_nodes/objects/transformation/ln-apply_force.png new file mode 100644 index 00000000..ad454b57 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-apply_force.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-apply_impulse.png b/source/images/logic_nodes/objects/transformation/ln-apply_impulse.png new file mode 100644 index 00000000..349c15cb Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-apply_impulse.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-apply_movement.png b/source/images/logic_nodes/objects/transformation/ln-apply_movement.png new file mode 100644 index 00000000..2c709701 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-apply_movement.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-apply_rotation.png b/source/images/logic_nodes/objects/transformation/ln-apply_rotation.png new file mode 100644 index 00000000..387f8c54 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-apply_rotation.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-apply_torque.png b/source/images/logic_nodes/objects/transformation/ln-apply_torque.png new file mode 100644 index 00000000..49312d9f Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-apply_torque.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-follow_path.png b/source/images/logic_nodes/objects/transformation/ln-follow_path.png new file mode 100644 index 00000000..7bdb8fad Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-follow_path.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-move_to.png b/source/images/logic_nodes/objects/transformation/ln-move_to.png new file mode 100644 index 00000000..d33bc255 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-move_to.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-move_to_with_navmesh.png b/source/images/logic_nodes/objects/transformation/ln-move_to_with_navmesh.png new file mode 100644 index 00000000..408e8150 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-move_to_with_navmesh.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-rotate_to.png b/source/images/logic_nodes/objects/transformation/ln-rotate_to.png new file mode 100644 index 00000000..b3f587b5 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-rotate_to.png differ diff --git a/source/images/logic_nodes/objects/transformation/ln-slow_follow.png b/source/images/logic_nodes/objects/transformation/ln-slow_follow.png new file mode 100644 index 00000000..16591426 Binary files /dev/null and b/source/images/logic_nodes/objects/transformation/ln-slow_follow.png differ diff --git a/source/images/logic_nodes/physics/character/ln-get_physics_info.png b/source/images/logic_nodes/physics/character/ln-get_physics_info.png new file mode 100644 index 00000000..508c48c5 Binary files /dev/null and b/source/images/logic_nodes/physics/character/ln-get_physics_info.png differ diff --git a/source/images/logic_nodes/physics/character/ln-jump.png b/source/images/logic_nodes/physics/character/ln-jump.png new file mode 100644 index 00000000..5daac904 Binary files /dev/null and b/source/images/logic_nodes/physics/character/ln-jump.png differ diff --git a/source/images/logic_nodes/physics/character/ln-set_jump_force.png b/source/images/logic_nodes/physics/character/ln-set_jump_force.png new file mode 100644 index 00000000..ca5c34ef Binary files /dev/null and b/source/images/logic_nodes/physics/character/ln-set_jump_force.png differ diff --git a/source/images/logic_nodes/physics/character/ln-set_max_jumps.png b/source/images/logic_nodes/physics/character/ln-set_max_jumps.png new file mode 100644 index 00000000..09c2658f Binary files /dev/null and b/source/images/logic_nodes/physics/character/ln-set_max_jumps.png differ diff --git a/source/images/logic_nodes/physics/character/ln-set_velocity.png b/source/images/logic_nodes/physics/character/ln-set_velocity.png new file mode 100644 index 00000000..eb3bec75 Binary files /dev/null and b/source/images/logic_nodes/physics/character/ln-set_velocity.png differ diff --git a/source/images/logic_nodes/physics/character/ln-walk.png b/source/images/logic_nodes/physics/character/ln-walk.png new file mode 100644 index 00000000..abe382ab Binary files /dev/null and b/source/images/logic_nodes/physics/character/ln-walk.png differ diff --git a/source/images/logic_nodes/physics/ln-add_constraint.png b/source/images/logic_nodes/physics/ln-add_constraint.png new file mode 100644 index 00000000..dfc0fbd4 Binary files /dev/null and b/source/images/logic_nodes/physics/ln-add_constraint.png differ diff --git a/source/images/logic_nodes/physics/ln-collision.png b/source/images/logic_nodes/physics/ln-collision.png new file mode 100644 index 00000000..f440a234 Binary files /dev/null and b/source/images/logic_nodes/physics/ln-collision.png differ diff --git a/source/images/logic_nodes/physics/ln-remove_constraint.png b/source/images/logic_nodes/physics/ln-remove_constraint.png new file mode 100644 index 00000000..d4d5344e Binary files /dev/null and b/source/images/logic_nodes/physics/ln-remove_constraint.png differ diff --git a/source/images/logic_nodes/physics/ln-set_collision_group.png b/source/images/logic_nodes/physics/ln-set_collision_group.png new file mode 100644 index 00000000..10ed8cc6 Binary files /dev/null and b/source/images/logic_nodes/physics/ln-set_collision_group.png differ diff --git a/source/images/logic_nodes/physics/ln-set_collision_mask.png b/source/images/logic_nodes/physics/ln-set_collision_mask.png new file mode 100644 index 00000000..aaa9c419 Binary files /dev/null and b/source/images/logic_nodes/physics/ln-set_collision_mask.png differ diff --git a/source/images/logic_nodes/physics/ln-set_dynamics.png b/source/images/logic_nodes/physics/ln-set_dynamics.png new file mode 100644 index 00000000..56a081ba Binary files /dev/null and b/source/images/logic_nodes/physics/ln-set_dynamics.png differ diff --git a/source/images/logic_nodes/physics/ln-set_gravity.png b/source/images/logic_nodes/physics/ln-set_gravity.png new file mode 100644 index 00000000..0cd6af62 Binary files /dev/null and b/source/images/logic_nodes/physics/ln-set_gravity.png differ diff --git a/source/images/logic_nodes/physics/ln-set_physics.png b/source/images/logic_nodes/physics/ln-set_physics.png new file mode 100644 index 00000000..8f8c03c8 Binary files /dev/null and b/source/images/logic_nodes/physics/ln-set_physics.png differ diff --git a/source/images/logic_nodes/physics/ln-set_rigid_body.png b/source/images/logic_nodes/physics/ln-set_rigid_body.png new file mode 100644 index 00000000..f135d9bf Binary files /dev/null and b/source/images/logic_nodes/physics/ln-set_rigid_body.png differ diff --git a/source/images/logic_nodes/physics/vehicle/ln-accelerate.png b/source/images/logic_nodes/physics/vehicle/ln-accelerate.png new file mode 100644 index 00000000..68fe85af Binary files /dev/null and b/source/images/logic_nodes/physics/vehicle/ln-accelerate.png differ diff --git a/source/images/logic_nodes/physics/vehicle/ln-brake.png b/source/images/logic_nodes/physics/vehicle/ln-brake.png new file mode 100644 index 00000000..fbec5e94 Binary files /dev/null and b/source/images/logic_nodes/physics/vehicle/ln-brake.png differ diff --git a/source/images/logic_nodes/physics/vehicle/ln-create_new_vehicle.png b/source/images/logic_nodes/physics/vehicle/ln-create_new_vehicle.png new file mode 100644 index 00000000..78edf9a3 Binary files /dev/null and b/source/images/logic_nodes/physics/vehicle/ln-create_new_vehicle.png differ diff --git a/source/images/logic_nodes/physics/vehicle/ln-set_vehicle_attribute.png b/source/images/logic_nodes/physics/vehicle/ln-set_vehicle_attribute.png new file mode 100644 index 00000000..578bfddf Binary files /dev/null and b/source/images/logic_nodes/physics/vehicle/ln-set_vehicle_attribute.png differ diff --git a/source/images/logic_nodes/physics/vehicle/ln-steer.png b/source/images/logic_nodes/physics/vehicle/ln-steer.png new file mode 100644 index 00000000..b0d36c50 Binary files /dev/null and b/source/images/logic_nodes/physics/vehicle/ln-steer.png differ diff --git a/source/images/logic_nodes/python/ln-get_instance_attribute.png b/source/images/logic_nodes/python/ln-get_instance_attribute.png new file mode 100644 index 00000000..8cb0d024 Binary files /dev/null and b/source/images/logic_nodes/python/ln-get_instance_attribute.png differ diff --git a/source/images/logic_nodes/python/ln-run_python_code.png b/source/images/logic_nodes/python/ln-run_python_code.png new file mode 100644 index 00000000..adb15529 Binary files /dev/null and b/source/images/logic_nodes/python/ln-run_python_code.png differ diff --git a/source/images/logic_nodes/python/ln-set_object_attribute.png b/source/images/logic_nodes/python/ln-set_object_attribute.png new file mode 100644 index 00000000..398812e5 Binary files /dev/null and b/source/images/logic_nodes/python/ln-set_object_attribute.png differ diff --git a/source/images/logic_nodes/python/ln-typecast_value.png b/source/images/logic_nodes/python/ln-typecast_value.png new file mode 100644 index 00000000..ed7bd5cf Binary files /dev/null and b/source/images/logic_nodes/python/ln-typecast_value.png differ diff --git a/source/images/logic_nodes/raycasts/ln-camera_ray.png b/source/images/logic_nodes/raycasts/ln-camera_ray.png new file mode 100644 index 00000000..0ed6ac05 Binary files /dev/null and b/source/images/logic_nodes/raycasts/ln-camera_ray.png differ diff --git a/source/images/logic_nodes/raycasts/ln-mouse_ray.png b/source/images/logic_nodes/raycasts/ln-mouse_ray.png new file mode 100644 index 00000000..e163da15 Binary files /dev/null and b/source/images/logic_nodes/raycasts/ln-mouse_ray.png differ diff --git a/source/images/logic_nodes/raycasts/ln-projectile_ray.png b/source/images/logic_nodes/raycasts/ln-projectile_ray.png new file mode 100644 index 00000000..591707f7 Binary files /dev/null and b/source/images/logic_nodes/raycasts/ln-projectile_ray.png differ diff --git a/source/images/logic_nodes/raycasts/ln-raycast.png b/source/images/logic_nodes/raycasts/ln-raycast.png new file mode 100644 index 00000000..0724b684 Binary files /dev/null and b/source/images/logic_nodes/raycasts/ln-raycast.png differ diff --git a/source/images/logic_nodes/render/eevee/ln-set_ambient_occlusion.png b/source/images/logic_nodes/render/eevee/ln-set_ambient_occlusion.png new file mode 100644 index 00000000..0dea0fdb Binary files /dev/null and b/source/images/logic_nodes/render/eevee/ln-set_ambient_occlusion.png differ diff --git a/source/images/logic_nodes/render/eevee/ln-set_bloom.png b/source/images/logic_nodes/render/eevee/ln-set_bloom.png new file mode 100644 index 00000000..465c8926 Binary files /dev/null and b/source/images/logic_nodes/render/eevee/ln-set_bloom.png differ diff --git a/source/images/logic_nodes/render/eevee/ln-set_exposure.png b/source/images/logic_nodes/render/eevee/ln-set_exposure.png new file mode 100644 index 00000000..6211aa15 Binary files /dev/null and b/source/images/logic_nodes/render/eevee/ln-set_exposure.png differ diff --git a/source/images/logic_nodes/render/eevee/ln-set_gamma.png b/source/images/logic_nodes/render/eevee/ln-set_gamma.png new file mode 100644 index 00000000..6edc2218 Binary files /dev/null and b/source/images/logic_nodes/render/eevee/ln-set_gamma.png differ diff --git a/source/images/logic_nodes/render/eevee/ln-set_ssr.png b/source/images/logic_nodes/render/eevee/ln-set_ssr.png new file mode 100644 index 00000000..d34b3088 Binary files /dev/null and b/source/images/logic_nodes/render/eevee/ln-set_ssr.png differ diff --git a/source/images/logic_nodes/render/eevee/ln-set_volumetric_light.png b/source/images/logic_nodes/render/eevee/ln-set_volumetric_light.png new file mode 100644 index 00000000..a1bb5389 Binary files /dev/null and b/source/images/logic_nodes/render/eevee/ln-set_volumetric_light.png differ diff --git a/source/images/logic_nodes/render/ln-get_fullscreen.png b/source/images/logic_nodes/render/ln-get_fullscreen.png new file mode 100644 index 00000000..42607c2a Binary files /dev/null and b/source/images/logic_nodes/render/ln-get_fullscreen.png differ diff --git a/source/images/logic_nodes/render/ln-get_resolution.png b/source/images/logic_nodes/render/ln-get_resolution.png new file mode 100644 index 00000000..50264a3e Binary files /dev/null and b/source/images/logic_nodes/render/ln-get_resolution.png differ diff --git a/source/images/logic_nodes/render/ln-get_vsync.png b/source/images/logic_nodes/render/ln-get_vsync.png new file mode 100644 index 00000000..937a12fc Binary files /dev/null and b/source/images/logic_nodes/render/ln-get_vsync.png differ diff --git a/source/images/logic_nodes/render/ln-set_fullscreen.png b/source/images/logic_nodes/render/ln-set_fullscreen.png new file mode 100644 index 00000000..9e331b7d Binary files /dev/null and b/source/images/logic_nodes/render/ln-set_fullscreen.png differ diff --git a/source/images/logic_nodes/render/ln-set_resolution.png b/source/images/logic_nodes/render/ln-set_resolution.png new file mode 100644 index 00000000..7569bf0b Binary files /dev/null and b/source/images/logic_nodes/render/ln-set_resolution.png differ diff --git a/source/images/logic_nodes/render/ln-set_vsync.png b/source/images/logic_nodes/render/ln-set_vsync.png new file mode 100644 index 00000000..d899de40 Binary files /dev/null and b/source/images/logic_nodes/render/ln-set_vsync.png differ diff --git a/source/images/logic_nodes/render/ln-show_framerate.png b/source/images/logic_nodes/render/ln-show_framerate.png new file mode 100644 index 00000000..1eb92b32 Binary files /dev/null and b/source/images/logic_nodes/render/ln-show_framerate.png differ diff --git a/source/images/logic_nodes/render/ln-show_profile.png b/source/images/logic_nodes/render/ln-show_profile.png new file mode 100644 index 00000000..6d1e0127 Binary files /dev/null and b/source/images/logic_nodes/render/ln-show_profile.png differ diff --git a/source/images/logic_nodes/scene/camera/ln-active_camera.png b/source/images/logic_nodes/scene/camera/ln-active_camera.png new file mode 100644 index 00000000..f8e03731 Binary files /dev/null and b/source/images/logic_nodes/scene/camera/ln-active_camera.png differ diff --git a/source/images/logic_nodes/scene/camera/ln-screen_to_world.png b/source/images/logic_nodes/scene/camera/ln-screen_to_world.png new file mode 100644 index 00000000..0e381b75 Binary files /dev/null and b/source/images/logic_nodes/scene/camera/ln-screen_to_world.png differ diff --git a/source/images/logic_nodes/scene/camera/ln-set_camera.png b/source/images/logic_nodes/scene/camera/ln-set_camera.png new file mode 100644 index 00000000..c407679b Binary files /dev/null and b/source/images/logic_nodes/scene/camera/ln-set_camera.png differ diff --git a/source/images/logic_nodes/scene/camera/ln-set_fov.png b/source/images/logic_nodes/scene/camera/ln-set_fov.png new file mode 100644 index 00000000..a032e9c9 Binary files /dev/null and b/source/images/logic_nodes/scene/camera/ln-set_fov.png differ diff --git a/source/images/logic_nodes/scene/camera/ln-set_orthographic_scale.png b/source/images/logic_nodes/scene/camera/ln-set_orthographic_scale.png new file mode 100644 index 00000000..dbbec030 Binary files /dev/null and b/source/images/logic_nodes/scene/camera/ln-set_orthographic_scale.png differ diff --git a/source/images/logic_nodes/scene/camera/ln-world_to_screen.png b/source/images/logic_nodes/scene/camera/ln-world_to_screen.png new file mode 100644 index 00000000..0c3e9f48 Binary files /dev/null and b/source/images/logic_nodes/scene/camera/ln-world_to_screen.png differ diff --git a/source/images/logic_nodes/scene/collections/ln-get_collection.png b/source/images/logic_nodes/scene/collections/ln-get_collection.png new file mode 100644 index 00000000..54eab855 Binary files /dev/null and b/source/images/logic_nodes/scene/collections/ln-get_collection.png differ diff --git a/source/images/logic_nodes/scene/collections/ln-get_object_names.png b/source/images/logic_nodes/scene/collections/ln-get_object_names.png new file mode 100644 index 00000000..9918837d Binary files /dev/null and b/source/images/logic_nodes/scene/collections/ln-get_object_names.png differ diff --git a/source/images/logic_nodes/scene/collections/ln-get_objects.png b/source/images/logic_nodes/scene/collections/ln-get_objects.png new file mode 100644 index 00000000..e751d0e8 Binary files /dev/null and b/source/images/logic_nodes/scene/collections/ln-get_objects.png differ diff --git a/source/images/logic_nodes/scene/collections/ln-remove_overlay_collection.png b/source/images/logic_nodes/scene/collections/ln-remove_overlay_collection.png new file mode 100644 index 00000000..194bb1c8 Binary files /dev/null and b/source/images/logic_nodes/scene/collections/ln-remove_overlay_collection.png differ diff --git a/source/images/logic_nodes/scene/collections/ln-set_collection_visibility.png b/source/images/logic_nodes/scene/collections/ln-set_collection_visibility.png new file mode 100644 index 00000000..769e913c Binary files /dev/null and b/source/images/logic_nodes/scene/collections/ln-set_collection_visibility.png differ diff --git a/source/images/logic_nodes/scene/collections/ln-set_overlay_collection.png b/source/images/logic_nodes/scene/collections/ln-set_overlay_collection.png new file mode 100644 index 00000000..13a6f64c Binary files /dev/null and b/source/images/logic_nodes/scene/collections/ln-set_overlay_collection.png differ diff --git a/source/images/logic_nodes/scene/ln-get_gravity.png b/source/images/logic_nodes/scene/ln-get_gravity.png new file mode 100644 index 00000000..d82ce2ba Binary files /dev/null and b/source/images/logic_nodes/scene/ln-get_gravity.png differ diff --git a/source/images/logic_nodes/scene/ln-get_scene.png b/source/images/logic_nodes/scene/ln-get_scene.png new file mode 100644 index 00000000..789f164b Binary files /dev/null and b/source/images/logic_nodes/scene/ln-get_scene.png differ diff --git a/source/images/logic_nodes/scene/ln-get_timescale.png b/source/images/logic_nodes/scene/ln-get_timescale.png new file mode 100644 index 00000000..ed6a2fa2 Binary files /dev/null and b/source/images/logic_nodes/scene/ln-get_timescale.png differ diff --git a/source/images/logic_nodes/scene/ln-set_gravity.png b/source/images/logic_nodes/scene/ln-set_gravity.png new file mode 100644 index 00000000..d21fca25 Binary files /dev/null and b/source/images/logic_nodes/scene/ln-set_gravity.png differ diff --git a/source/images/logic_nodes/scene/ln-set_scene.png b/source/images/logic_nodes/scene/ln-set_scene.png new file mode 100644 index 00000000..d15f5e62 Binary files /dev/null and b/source/images/logic_nodes/scene/ln-set_scene.png differ diff --git a/source/images/logic_nodes/scene/ln-set_timescale.png b/source/images/logic_nodes/scene/ln-set_timescale.png new file mode 100644 index 00000000..9e75f9fe Binary files /dev/null and b/source/images/logic_nodes/scene/ln-set_timescale.png differ diff --git a/source/images/logic_nodes/scene/post_fx/ln-add_filter.png b/source/images/logic_nodes/scene/post_fx/ln-add_filter.png new file mode 100644 index 00000000..b08a491b Binary files /dev/null and b/source/images/logic_nodes/scene/post_fx/ln-add_filter.png differ diff --git a/source/images/logic_nodes/scene/post_fx/ln-add_filter_dd.png b/source/images/logic_nodes/scene/post_fx/ln-add_filter_dd.png new file mode 100644 index 00000000..f97145fc Binary files /dev/null and b/source/images/logic_nodes/scene/post_fx/ln-add_filter_dd.png differ diff --git a/source/images/logic_nodes/scene/post_fx/ln-remove_filter.png b/source/images/logic_nodes/scene/post_fx/ln-remove_filter.png new file mode 100644 index 00000000..49a5f06c Binary files /dev/null and b/source/images/logic_nodes/scene/post_fx/ln-remove_filter.png differ diff --git a/source/images/logic_nodes/scene/post_fx/ln-set_filter_state.png b/source/images/logic_nodes/scene/post_fx/ln-set_filter_state.png new file mode 100644 index 00000000..cf4b2130 Binary files /dev/null and b/source/images/logic_nodes/scene/post_fx/ln-set_filter_state.png differ diff --git a/source/images/logic_nodes/scene/post_fx/ln-toggle_filter.png b/source/images/logic_nodes/scene/post_fx/ln-toggle_filter.png new file mode 100644 index 00000000..405fb952 Binary files /dev/null and b/source/images/logic_nodes/scene/post_fx/ln-toggle_filter.png differ diff --git a/source/images/logic_nodes/sound/ln-3d_sample.png b/source/images/logic_nodes/sound/ln-3d_sample.png new file mode 100644 index 00000000..1188fc4a Binary files /dev/null and b/source/images/logic_nodes/sound/ln-3d_sample.png differ diff --git a/source/images/logic_nodes/sound/ln-pause_sound-example.png b/source/images/logic_nodes/sound/ln-pause_sound-example.png new file mode 100644 index 00000000..ecaed812 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-pause_sound-example.png differ diff --git a/source/images/logic_nodes/sound/ln-pause_sound.png b/source/images/logic_nodes/sound/ln-pause_sound.png new file mode 100644 index 00000000..0eb7cae6 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-pause_sound.png differ diff --git a/source/images/logic_nodes/sound/ln-resume_sound.png b/source/images/logic_nodes/sound/ln-resume_sound.png new file mode 100644 index 00000000..749aed72 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-resume_sound.png differ diff --git a/source/images/logic_nodes/sound/ln-start_sound-example.png b/source/images/logic_nodes/sound/ln-start_sound-example.png new file mode 100644 index 00000000..631765f3 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-start_sound-example.png differ diff --git a/source/images/logic_nodes/sound/ln-start_sound.png b/source/images/logic_nodes/sound/ln-start_sound.png new file mode 100644 index 00000000..7667d8f2 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-start_sound.png differ diff --git a/source/images/logic_nodes/sound/ln-start_speaker.png b/source/images/logic_nodes/sound/ln-start_speaker.png new file mode 100644 index 00000000..5e4dc487 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-start_speaker.png differ diff --git a/source/images/logic_nodes/sound/ln-stop_all_sounds.png b/source/images/logic_nodes/sound/ln-stop_all_sounds.png new file mode 100644 index 00000000..2538c02d Binary files /dev/null and b/source/images/logic_nodes/sound/ln-stop_all_sounds.png differ diff --git a/source/images/logic_nodes/sound/ln-stop_sound.png b/source/images/logic_nodes/sound/ln-stop_sound.png new file mode 100644 index 00000000..8f3fa821 Binary files /dev/null and b/source/images/logic_nodes/sound/ln-stop_sound.png differ diff --git a/source/images/logic_nodes/time/ln-barrier.png b/source/images/logic_nodes/time/ln-barrier.png new file mode 100644 index 00000000..38741eed Binary files /dev/null and b/source/images/logic_nodes/time/ln-barrier.png differ diff --git a/source/images/logic_nodes/time/ln-delay.png b/source/images/logic_nodes/time/ln-delay.png new file mode 100644 index 00000000..d346b626 Binary files /dev/null and b/source/images/logic_nodes/time/ln-delay.png differ diff --git a/source/images/logic_nodes/time/ln-delta_factor.png b/source/images/logic_nodes/time/ln-delta_factor.png new file mode 100644 index 00000000..5b2c4d82 Binary files /dev/null and b/source/images/logic_nodes/time/ln-delta_factor.png differ diff --git a/source/images/logic_nodes/time/ln-pulsify.png b/source/images/logic_nodes/time/ln-pulsify.png new file mode 100644 index 00000000..349fb85c Binary files /dev/null and b/source/images/logic_nodes/time/ln-pulsify.png differ diff --git a/source/images/logic_nodes/time/ln-time_data.png b/source/images/logic_nodes/time/ln-time_data.png new file mode 100644 index 00000000..04cff6d9 Binary files /dev/null and b/source/images/logic_nodes/time/ln-time_data.png differ diff --git a/source/images/logic_nodes/time/ln-timer.png b/source/images/logic_nodes/time/ln-timer.png new file mode 100644 index 00000000..8f4c4b7e Binary files /dev/null and b/source/images/logic_nodes/time/ln-timer.png differ diff --git a/source/images/logic_nodes/ui/ln-add_widget.png b/source/images/logic_nodes/ui/ln-add_widget.png new file mode 100644 index 00000000..02c64382 Binary files /dev/null and b/source/images/logic_nodes/ui/ln-add_widget.png differ diff --git a/source/images/logic_nodes/ui/ln-get_widget_attribute.png b/source/images/logic_nodes/ui/ln-get_widget_attribute.png new file mode 100644 index 00000000..143a8099 Binary files /dev/null and b/source/images/logic_nodes/ui/ln-get_widget_attribute.png differ diff --git a/source/images/logic_nodes/ui/ln-set_custom_cursor.png b/source/images/logic_nodes/ui/ln-set_custom_cursor.png new file mode 100644 index 00000000..b7a5acfc Binary files /dev/null and b/source/images/logic_nodes/ui/ln-set_custom_cursor.png differ diff --git a/source/images/logic_nodes/ui/ln-set_widget_attribute.png b/source/images/logic_nodes/ui/ln-set_widget_attribute.png new file mode 100644 index 00000000..fc713596 Binary files /dev/null and b/source/images/logic_nodes/ui/ln-set_widget_attribute.png differ diff --git a/source/images/logic_nodes/ui/widgets/ln-create_button.png b/source/images/logic_nodes/ui/widgets/ln-create_button.png new file mode 100644 index 00000000..0379f8ad Binary files /dev/null and b/source/images/logic_nodes/ui/widgets/ln-create_button.png differ diff --git a/source/images/logic_nodes/ui/widgets/ln-create_canvas.png b/source/images/logic_nodes/ui/widgets/ln-create_canvas.png new file mode 100644 index 00000000..b9d377d7 Binary files /dev/null and b/source/images/logic_nodes/ui/widgets/ln-create_canvas.png differ diff --git a/source/images/logic_nodes/ui/widgets/ln-create_image.png b/source/images/logic_nodes/ui/widgets/ln-create_image.png new file mode 100644 index 00000000..ac1e8764 Binary files /dev/null and b/source/images/logic_nodes/ui/widgets/ln-create_image.png differ diff --git a/source/images/logic_nodes/ui/widgets/ln-create_label.png b/source/images/logic_nodes/ui/widgets/ln-create_label.png new file mode 100644 index 00000000..c55e6786 Binary files /dev/null and b/source/images/logic_nodes/ui/widgets/ln-create_label.png differ diff --git a/source/images/logic_nodes/ui/widgets/ln-create_layout.png b/source/images/logic_nodes/ui/widgets/ln-create_layout.png new file mode 100644 index 00000000..512c7230 Binary files /dev/null and b/source/images/logic_nodes/ui/widgets/ln-create_layout.png differ diff --git a/source/images/logic_nodes/ui/widgets/ln-create_slider.png b/source/images/logic_nodes/ui/widgets/ln-create_slider.png new file mode 100644 index 00000000..8b203cfd Binary files /dev/null and b/source/images/logic_nodes/ui/widgets/ln-create_slider.png differ diff --git a/source/images/logic_nodes/utility/ln-draw.png b/source/images/logic_nodes/utility/ln-draw.png new file mode 100644 index 00000000..0f03ed49 Binary files /dev/null and b/source/images/logic_nodes/utility/ln-draw.png differ diff --git a/source/images/logic_nodes/utility/ln-print.png b/source/images/logic_nodes/utility/ln-print.png new file mode 100644 index 00000000..dce5a228 Binary files /dev/null and b/source/images/logic_nodes/utility/ln-print.png differ diff --git a/source/images/logic_nodes/values/ln-boolean.png b/source/images/logic_nodes/values/ln-boolean.png new file mode 100644 index 00000000..91b16a9e Binary files /dev/null and b/source/images/logic_nodes/values/ln-boolean.png differ diff --git a/source/images/logic_nodes/values/ln-file_path.png b/source/images/logic_nodes/values/ln-file_path.png new file mode 100644 index 00000000..94f55c24 Binary files /dev/null and b/source/images/logic_nodes/values/ln-file_path.png differ diff --git a/source/images/logic_nodes/values/ln-float.png b/source/images/logic_nodes/values/ln-float.png new file mode 100644 index 00000000..43e04055 Binary files /dev/null and b/source/images/logic_nodes/values/ln-float.png differ diff --git a/source/images/logic_nodes/values/ln-formatted_string.png b/source/images/logic_nodes/values/ln-formatted_string.png new file mode 100644 index 00000000..00b63f35 Binary files /dev/null and b/source/images/logic_nodes/values/ln-formatted_string.png differ diff --git a/source/images/logic_nodes/values/ln-formatted_string_nodes.png b/source/images/logic_nodes/values/ln-formatted_string_nodes.png new file mode 100644 index 00000000..6303078c Binary files /dev/null and b/source/images/logic_nodes/values/ln-formatted_string_nodes.png differ diff --git a/source/images/logic_nodes/values/ln-formatted_string_output.png b/source/images/logic_nodes/values/ln-formatted_string_output.png new file mode 100644 index 00000000..71e2b0cd Binary files /dev/null and b/source/images/logic_nodes/values/ln-formatted_string_output.png differ diff --git a/source/images/logic_nodes/values/ln-integer.png b/source/images/logic_nodes/values/ln-integer.png new file mode 100644 index 00000000..9010ff42 Binary files /dev/null and b/source/images/logic_nodes/values/ln-integer.png differ diff --git a/source/images/logic_nodes/values/ln-invert.png b/source/images/logic_nodes/values/ln-invert.png new file mode 100644 index 00000000..5dfee908 Binary files /dev/null and b/source/images/logic_nodes/values/ln-invert.png differ diff --git a/source/images/logic_nodes/values/ln-random_value.png b/source/images/logic_nodes/values/ln-random_value.png new file mode 100644 index 00000000..5886c2f5 Binary files /dev/null and b/source/images/logic_nodes/values/ln-random_value.png differ diff --git a/source/images/logic_nodes/values/ln-store_value.png b/source/images/logic_nodes/values/ln-store_value.png new file mode 100644 index 00000000..d32d93f4 Binary files /dev/null and b/source/images/logic_nodes/values/ln-store_value.png differ diff --git a/source/images/logic_nodes/values/ln-string.png b/source/images/logic_nodes/values/ln-string.png new file mode 100644 index 00000000..92315444 Binary files /dev/null and b/source/images/logic_nodes/values/ln-string.png differ diff --git a/source/images/logic_nodes/values/ln-value_switch.png b/source/images/logic_nodes/values/ln-value_switch.png new file mode 100644 index 00000000..0b98a37c Binary files /dev/null and b/source/images/logic_nodes/values/ln-value_switch.png differ diff --git a/source/images/logic_nodes/values/ln-value_switch_list.png b/source/images/logic_nodes/values/ln-value_switch_list.png new file mode 100644 index 00000000..ee6ebcfc Binary files /dev/null and b/source/images/logic_nodes/values/ln-value_switch_list.png differ diff --git a/source/images/logic_nodes/values/ln-value_switch_list_compare.png b/source/images/logic_nodes/values/ln-value_switch_list_compare.png new file mode 100644 index 00000000..4d40a15c Binary files /dev/null and b/source/images/logic_nodes/values/ln-value_switch_list_compare.png differ diff --git a/source/images/logic_nodes/values/properties/ln-copy_property_from_object.png b/source/images/logic_nodes/values/properties/ln-copy_property_from_object.png new file mode 100644 index 00000000..494e045c Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-copy_property_from_object.png differ diff --git a/source/images/logic_nodes/values/properties/ln-evaluate_object_property.png b/source/images/logic_nodes/values/properties/ln-evaluate_object_property.png new file mode 100644 index 00000000..e5332c7e Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-evaluate_object_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-get_global_property.png b/source/images/logic_nodes/values/properties/ln-get_global_property.png new file mode 100644 index 00000000..6a017c15 Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-get_global_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-get_object_property.png b/source/images/logic_nodes/values/properties/ln-get_object_property.png new file mode 100644 index 00000000..5e2e245b Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-get_object_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-get_tree_property.png b/source/images/logic_nodes/values/properties/ln-get_tree_property.png new file mode 100644 index 00000000..2d24c5b0 Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-get_tree_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-modify_object_property.png b/source/images/logic_nodes/values/properties/ln-modify_object_property.png new file mode 100644 index 00000000..031d6cd1 Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-modify_object_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-object_has_property.png b/source/images/logic_nodes/values/properties/ln-object_has_property.png new file mode 100644 index 00000000..e89694ea Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-object_has_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-set_global_property.png b/source/images/logic_nodes/values/properties/ln-set_global_property.png new file mode 100644 index 00000000..73a0325e Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-set_global_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-set_object_property.png b/source/images/logic_nodes/values/properties/ln-set_object_property.png new file mode 100644 index 00000000..0e243b0c Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-set_object_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-set_tree_property.png b/source/images/logic_nodes/values/properties/ln-set_tree_property.png new file mode 100644 index 00000000..71f8c659 Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-set_tree_property.png differ diff --git a/source/images/logic_nodes/values/properties/ln-toggle_object_property.png b/source/images/logic_nodes/values/properties/ln-toggle_object_property.png new file mode 100644 index 00000000..579c5b51 Binary files /dev/null and b/source/images/logic_nodes/values/properties/ln-toggle_object_property.png differ diff --git a/source/images/logic_nodes/values/vector/ln-color_rgb.png b/source/images/logic_nodes/values/vector/ln-color_rgb.png new file mode 100644 index 00000000..c066da12 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-color_rgb.png differ diff --git a/source/images/logic_nodes/values/vector/ln-color_rgba.png b/source/images/logic_nodes/values/vector/ln-color_rgba.png new file mode 100644 index 00000000..6ece4301 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-color_rgba.png differ diff --git a/source/images/logic_nodes/values/vector/ln-combine_xy.png b/source/images/logic_nodes/values/vector/ln-combine_xy.png new file mode 100644 index 00000000..4bfccd4c Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-combine_xy.png differ diff --git a/source/images/logic_nodes/values/vector/ln-combine_xyz.png b/source/images/logic_nodes/values/vector/ln-combine_xyz.png new file mode 100644 index 00000000..6cc0cc80 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-combine_xyz.png differ diff --git a/source/images/logic_nodes/values/vector/ln-combine_xyzw.png b/source/images/logic_nodes/values/vector/ln-combine_xyzw.png new file mode 100644 index 00000000..2cff5b9b Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-combine_xyzw.png differ diff --git a/source/images/logic_nodes/values/vector/ln-euler.png b/source/images/logic_nodes/values/vector/ln-euler.png new file mode 100644 index 00000000..2ac39bd2 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-euler.png differ diff --git a/source/images/logic_nodes/values/vector/ln-euler_dd.png b/source/images/logic_nodes/values/vector/ln-euler_dd.png new file mode 100644 index 00000000..9b898865 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-euler_dd.png differ diff --git a/source/images/logic_nodes/values/vector/ln-resize_vector.png b/source/images/logic_nodes/values/vector/ln-resize_vector.png new file mode 100644 index 00000000..129dcaea Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-resize_vector.png differ diff --git a/source/images/logic_nodes/values/vector/ln-separate_xy.png b/source/images/logic_nodes/values/vector/ln-separate_xy.png new file mode 100644 index 00000000..c1f60d56 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-separate_xy.png differ diff --git a/source/images/logic_nodes/values/vector/ln-separate_xyz.png b/source/images/logic_nodes/values/vector/ln-separate_xyz.png new file mode 100644 index 00000000..fac11945 Binary files /dev/null and b/source/images/logic_nodes/values/vector/ln-separate_xyz.png differ diff --git a/source/index.rst b/source/index.rst index 6b14f375..11b31873 100644 --- a/source/index.rst +++ b/source/index.rst @@ -1,20 +1,26 @@ .. UPBGE Manual documentation master file, created by - sphinx-quickstart on Sun Jul 8 18:28:15 2018. + sphinx-quickstart on Sun Jul 8 18:28:15 2018. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. + +.. TODO:: + - remove 'sphinx-toolbox' from pip installation 'requirements.txt' file, and linux installation text (contribute.rst), and link to /exts/collapse.py file instead DONE + + - fix 488 / 1430 build warning messages DONE + - spellcheck all files + + - glossary needs a lot of love + ============ UPBGE Manual ============ -Welcome to UPBGE's Documentation! Here you will -find definitions of the available tools and features in UPBGE, step-by-step -tutorials to certain tasks and a lot examples for game logic programming -with detailed information. +Welcome to UPBGE's documentation! Here you will find definitions of the available tools and features in UPBGE, step-by-step tutorials to certain tasks and a lot of examples for game logic programming with detailed information. -`Visit the UPBGE's website `__ or `contribute to this manual `__. +Visit the `UPBGE's website `__ or `contribute to this manual `__. Contribution guidelines are in the *Contribute* chapter of this manual. -Also, if you want to read the whole manual offline `you can download from this link `__. +Also, if you want to read the whole manual offline you can download it from `this link `__. .. toctree:: :maxdepth: 2 @@ -31,4 +37,10 @@ Also, if you want to read the whole manual offline `you can download from this l manual/datablocks/index manual/release/index manual/tools/index - manual/about/index + manual/glossary/index + +.. toctree:: + :maxdepth: 2 + :caption: Contribute + + manual/contribute/index diff --git a/source/manual/about/index.rst b/source/manual/about/index.rst deleted file mode 100644 index 2b9c943d..00000000 --- a/source/manual/about/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _about-index: - -+++++ -About -+++++ - -.. toctree:: - :maxdepth: 2 - - introduction.rst - license.rst - whats_new.rst diff --git a/source/manual/about/introduction.rst b/source/manual/about/introduction.rst deleted file mode 100644 index 9fa75bf8..00000000 --- a/source/manual/about/introduction.rst +++ /dev/null @@ -1,66 +0,0 @@ -.. _about-introduction: - -++++++++++++++++++++++++++++++++ -Introduction to the UPBGE Manual -++++++++++++++++++++++++++++++++ - -Our aim to provide a complete and concise reference manual. - -The manual has as a goal to provide: - - - Insight in Blender/UPBGE's way of working, its internal (technical) design - in order to understand options and tools. - - Detailed functional description of all features, tools and options in UPBGE. - -=========== -Conventions -=========== - -.. note: These conventions are for people reading the manual. We have a more detailed - list of conventions for authors under the writing style section. - ---------- -Keyboards ---------- - -Hotkey letters are shown in this manual like they appear on a keyboard; for example: - -:kbd:`G` - refers to the lowercase ``g``. -:kbd:`Shift`, :kbd:`Ctrl`, :kbd:`Alt` - are specified as modifier keys. -:kbd:`Ctrl-W`, :kbd:`Shift-Alt-A`, ... - indicates that these keys should be pressed simultaneously. -:kbd:`Numpad0` to :kbd:`Numpad9`, :kbd:`NumpadPlus` - refer to the keys on the separate numeric keypad. - -Other keys are referred to by their names, such as :kbd:`Esc`, :kbd:`Tab`, :kbd:`F1` to -:kbd:`F12`. Of special note are the arrow keys, :kbd:`Left`, :kbd:`Right` and so on. - ------ -Mouse ------ - -This manual refers to mouse buttons as: - -:kbd:`LMB` - Left Mouse Button -:kbd:`RMB` - Right Mouse Button -:kbd:`MMB` - Middle Mouse Button -:kbd:`Wheel` - Scrolling the wheel. - -.. _about-user-contribute: - -========== -Contribute -========== - -The UPBGE Manual is a community driven effort to which anyone can contribute. -Either if you found a typo or if you want to improve the general quality of the documentation, -there are several options for helping out. You can: - -#. Fix problems, improve the documentation and write new sections. Make a Pull Request with the proposed changes in `UPBGE Docs project `__. -#. `Report problems `__ in the documentation. -#. Get involved in discussions through the `IRC channel `__ at "upbgecoders" channel. diff --git a/source/manual/contribute/about.rst b/source/manual/contribute/about.rst new file mode 100644 index 00000000..1a3e73de --- /dev/null +++ b/source/manual/contribute/about.rst @@ -0,0 +1,44 @@ +.. _contribute-about: + +++++++++++++++++++++++ +About the UPBGE Manual +++++++++++++++++++++++ + +The purpose is to provide a complete and concise *reference manual*, with: + + - Insight into Blender/UPBGE's way of working, its internal (technical) design, in order to understand options and tools; + - Detailed functional description of all features, tools and options in UPBGE. + +Conventions +=========== + +.. note:: These conventions are for people reading the manual. We have a more detailed list of conventions for authors under the :doc:`Writing Style ` section. + +Keyboard +-------- + +Hotkey letters are shown in this manual like they appear on a keyboard; for example: + +:kbd:`G` refers to the lowercase ``g``. + +:kbd:`Shift`, :kbd:`Ctrl`, :kbd:`Alt` are specified as modifier keys. + +:kbd:`Ctrl-W`, :kbd:`Shift-Alt-A` indicates that these keys should be pressed simultaneously. + +:kbd:`Numpad0` to :kbd:`Numpad9`, :kbd:`NumpadPlus` refer to the keys on the separate numeric keypad. + +Other keys are referred to by their names, such as :kbd:`Esc`, :kbd:`Tab`, :kbd:`F1` to +:kbd:`F12`. Of special note are the arrow keys, :kbd:`Left`, :kbd:`Right` and so on. + +Mouse +----- + +This manual refers to mouse buttons as: + +:kbd:`LMB` - Left Mouse Button; + +:kbd:`RMB` - Right Mouse Button; + +:kbd:`MMB` - Middle Mouse Button; + +:kbd:`Wheel` - Scrolling the Mouse Wheel. diff --git a/source/manual/contribute/commit.rst b/source/manual/contribute/commit.rst new file mode 100644 index 00000000..5327ffbb --- /dev/null +++ b/source/manual/contribute/commit.rst @@ -0,0 +1,38 @@ +.. _contribute-commit: + +***************** +Commit Guidelines +***************** + +Access to directly submit changes is limited to people with commit access to the repository. Once you are provided with commit access you can start committing directly instead of creating a patch file. + +You can make commits from your Git client or using the Git command line tool. The following command will create a commit and send it to the central repository:: + + git commit -m "This is what I did" + git push + +If you leave out ``-m "message"``, you will be prompted to type the message in a text editor. + +.. tip:: + + You should make sure you are always on the latest revision before committing. + You may not be able to commit directly if there are conflicting changes in the latest revision. To avoid this, update your local repository before committing. + +.. seealso:: + + `Blender's Git usage guide `__ + +.. _contribute-commit-good-message: + +Writing a Good Commit Message +============================= + +When making changes to the manual that directly relate to a specific commit (change) it is helpful to make the title of the commit the same as the commit. It is requested that you include the commit hash of the commit made to source code. + +For example, the commit `rBM8473 `__ includes a descriptive indicative of the changes made along with the hash ``rBa71d2b260170``. Hash can be extracted from the URL provided in the documentation task for a specific upcoming release. + +---- + +Other more general changes do not have to follow the above policy, however, it is still important to make the description clear about what changes you made and why. It can be helpful to prefix the commit title with a prefix word such as ``Cleanup:`` or ``Fix:`` when you are making general cleanups or fixes respectively. + +Writing good commit messages helps administrators keep track of changes made and ensures all new features are properly documented. diff --git a/source/manual/contribute/contribute.rst b/source/manual/contribute/contribute.rst new file mode 100644 index 00000000..331e5fc1 --- /dev/null +++ b/source/manual/contribute/contribute.rst @@ -0,0 +1,174 @@ +.. _contribute-contribute: + +========== +Contribute +========== + +The UPBGE Manual is a community driven effort to which anyone can contribute. If you found a typo or you want to improve the general quality of the documentation, there are several options for helping out. You can: + +#. Fix problems, improve the documentation and write new sections. Make a Pull Request (PR) with the proposed changes in `UPBGE Docs `__ project. Detailed instructions are in following pages. + +#. `Report errors `__ in the documentation. + +#. Join UPBGE `Discord channel `__ for help and chat. + +UPBGE source-code repository can be found on `github `__. + +If you want to contribute several things directly, ask for commit rights. + +-------------------- +Install Dependencies +-------------------- +To build the documentation we need: + + * `Python 3 `__ to run Sphinx; + * `Sphinx `__ to build html pages; + * `ReadTheDocs Theme for Sphinx `__ as default theme; + * `git `__ to clone the documentation and commit changes. + +Linux ++++++ + +For the appropriate system, run the command in a terminal: + +Debian/Ubuntu: + +``$ sudo apt-get install python3 python3-pip git`` + +``$ pip3 install sphinx sphinx-rtd-theme`` + +Redhat/Fedora: + +``$ sudo yum install python3 python3-pip git`` + +``$ pip3 install sphinx sphinx-rtd-theme`` + +Arch Linux: + +``$ sudo pacman -S python3 python3-pip git`` + +``$ pip3 install sphinx sphinx-rtd-theme`` + +.. + Once a change is committed, a build is automatically generated and the new changes pushed to the upbge-docs repository directly. + +macOs ++++++ + +.. note: + + This guide relies heavily on command-line tools. It assumes you are the least familiar with the macOS Terminal application. + + +If using `Homebrew `__, run the following commands in the terminal: + +``python3 -m ensurepip`` + +``brew install git`` + +.. TODO:: someone check if macOS instructions are complete + +Windows ++++++++ + +Download the `Python installation `__ package for Windows, and install Python with the installation wizard. + +.. note:: + Please **make sure** that you enable the **Add Python to PATH** option. + The option must be enabled so you can build the manual with the *make* script. + All other settings can remain as set by default. + +.. figure:: /images/contribute/add_python_to_path.png + +----------------------- +Download the Repository +----------------------- + +Navigate into desired folder, where *UPBGE-Docs* will be installed: + +``cd ~/path-to-folder`` + +Clone the *UPBGE Manual* repository: + +``git clone https://github.com/UPBGE/UPBGE-Docs.git`` + +The repository will be downloaded, which may take a few minutes, depending on your internet connection. + +--------------------------- +Setup the Build Environment +--------------------------- + +.. note:: + Below command will install *sphinx* and *sphinx_rtd_theme*. If you already installed them, following the above instructions, there is no need to install them again. This is for Windows users. + +Navigate into *UPBGE-Docs* folder, which was just created by ``git clone``: + +``cd UPBGE-Docs`` + +Inside that folder is a file called *requirements.txt*, which contains a list of all the dependencies we need. To install these dependencies, we use the ``pip`` command: + +``pip install -r requirements.txt`` + +.. tip:: + Every now and then you may want to make sure your dependencies are up to date using: + +``pip install -r requirements.txt --upgrade`` + +----------------- +Build the Manual +----------------- + +Once all dependencies are installed, navigate into *UPBGE-Docs* folder and run the *make* command: + +``make html`` + +This command will build the documentation files into the *build* directory. + +Navigate into ``build/html`` folder, and run *index.html* file, either from terminal, or *file explorer*, by double-clicking the file. Documentation will be opened with OS default web browser. + +.. tip:: + On MS Windows you can double-click *make.bat* file, to easily run the command, without having to open the Command Prompt and typing commands. + +--------------- +Troubleshooting +--------------- + +#. If for some reason the build fails, check if the *C-compiler* or *build-essential* (or *build-essentials*) are installed on your operating system. Search the web or post a question in online forums for more information. + +#. If after build the structure of the Manual, i.e. *navigation/toc* side panel does not work as expected, deleting whole *build* directory, and runing ``make html`` command again might help solve the issue. + +#. If *rst* formatting is not displayed as expected, try adding:: + + .. highlight:: rst + directive to the top of the ``.rst`` file. + +------------------ +Editing the Manual +------------------ + +.. tip:: + Before editing the Manual, it is advised to copy the *UPBGE-Docs* folder, and rename this copy, i.e. *UPBGE-Docs-edit*. Make the changes in this copy, and when satisfied with changes you want to commit, copy-paste the relevant files into original *UPBGE-Docs* folder. + + As a good developer practice, it is also advisable to have your personal document file, where notes are kept: copy-paste info from web, what works and what not, fixes that were applied and solved issues etc. + +With your favorite text/code editor, make some changes, fix typos, add images, and commit the changes back to *github* repository. Guidelines about ``.rst`` files, *Writing Style* and *Markup Style* are in the following pages. + +------------------------ +UPBGE Documentation Team +------------------------ + + * Antônio Froz (uayten) + * Denis Nicolas (denicolas) + * Guilherme Teres Nunes (UnidayStudio) + * Joel Gomes da Silva (joelgomes1994) + * Jorge Bernal (lordloki) + * Leopold A-C (IzaZed) + * marechal-p (wkk) + * NaincyKumariKnoldus + * RPaladin + * ShaunKulesa + * Tristan Porteries (panzergame) + * Ulysse Martin (youle31) + * Xavier Cho (mysticfall) + * You! + diff --git a/source/manual/contribute/guidelines.rst b/source/manual/contribute/guidelines.rst new file mode 100644 index 00000000..22de0161 --- /dev/null +++ b/source/manual/contribute/guidelines.rst @@ -0,0 +1,23 @@ +.. _contribute-guidelines: + +---------- +Guidelines +---------- + +You can modify the manual by editing local ``.rst`` text files. These files are kept in sync with those online via a repository, based on this the server will update the online manual. + +The manual is written in reStructuredText (RST) markup language, and can be edited using a plain text editor. For a local preview, *build* the Manual source files from RST into HTML web pages. + +Bigger Changes +-------------- + +If you are going to add or overhaul a section, be sure to check carefully that it does not already exist. The docs may be disorganized so that sections may be duplicated or in a strange location. In such cases please create `an issue `__ explaining the issue, and optionally include a revision (actual changes). + +Before you make any edits that are not simple and plainly justified (for example, moving folders around), you should verify with a manual maintainer that your contribution is along the community’s vision for the manual. This ensures the best use of your time and good will as it is otherwise possible that, for some reason, your changes will conflict and be rejected or need time-consuming review. For example, another person may be already working on the section you wish to change, the section may be scheduled for deletion or to be updated according to a planned changes. + +Communicating early and frequently is the key to have a productive environment, to not waste people’s effort and to attain a better Manual as a result. + +Getting Help +------------ + +If you are in doubt about functionality that you wish to document, you should pose your questions to the UPBGE developers responsible for that area or ask at the unofficial user support channels. diff --git a/source/manual/contribute/index.rst b/source/manual/contribute/index.rst new file mode 100644 index 00000000..7760df43 --- /dev/null +++ b/source/manual/contribute/index.rst @@ -0,0 +1,19 @@ +.. _contribute-index: + +++++++++++ +Contribute +++++++++++ + +.. toctree:: + :maxdepth: 2 + + about + contribute + guidelines + writing_style + markup_style + commit + maintenance + templates + license + whats_new diff --git a/source/manual/about/license.rst b/source/manual/contribute/license.rst similarity index 83% rename from source/manual/about/license.rst rename to source/manual/contribute/license.rst index 1b87cded..3d7fd732 100644 --- a/source/manual/about/license.rst +++ b/source/manual/contribute/license.rst @@ -1,4 +1,4 @@ -.. _about-license: +.. _contribute-license: +++++++ License @@ -29,7 +29,7 @@ also based on others manuals and articles whose authors are exposed below: .. parsed-literal:: The |GAMEENGINEBOOK_VER_MANUAL|_ - by the `Mike Pan, Dalai Felinto and Other Authors `__ + by the `Mike Pan, Dalai Felinto and other authors `__ is licensed under a |GAMEENGINEBOOK_LICENSE|_. .. |GAMEENGINEBOOK_VER_MANUAL| replace:: "Game Development with Blender" book @@ -48,10 +48,8 @@ also based on others manuals and articles whose authors are exposed below: .. |UPBGE_LICENSE| replace:: CC-BY-SA v4.0 .. _UPBGE_LICENSE: https://creativecommons.org/licenses/by-sa/4.0/ -It means that when contributing to the manual you do not hold exclusive copyright to your -text. You are, of course, acknowledged and appreciated for your contribution. However, others -can change and improve your text in order to keep the manual consistent and up to date. +This means that when someone contributes to the manual, they don't hold exclusive copyright to their text. They are of course, acknowledged and appreciated for their contribution. However, others' can change and improve any or all text in order to keep the manual consistent and up to date. If you want to use the UPBGE manual in other sites or other formats, please attribute the different authors and include hyperlinks (online) or URLs (in print) to the different -manuals as pointed above out. +manuals as pointed out above. diff --git a/source/manual/contribute/maintenance.rst b/source/manual/contribute/maintenance.rst new file mode 100644 index 00000000..c9bda3ec --- /dev/null +++ b/source/manual/contribute/maintenance.rst @@ -0,0 +1,23 @@ +.. highlight:: sh + +*********** +Maintenance +*********** + +Adding/Removing/Moving Files +============================ + +When RST-files are added or removed the corresponding locale files are added or removed automatically by the update script. However, if files need to be moved please use this Python script:: + + python tools/utils_maintenance/rst_remap.py start + +RST-files can then be freely moved and the remap script will move the locale file after:: + + python tools/utils_maintenance/rst_remap.py finish + +It is best to avoid moving/renaming files as this breaks URLs and without this script translators will lose all their work in these files. Please ask an administrator if you think something should be renamed/moved. + +.. note:: + + This script also works for image file names. + diff --git a/source/manual/contribute/markup_style.rst b/source/manual/contribute/markup_style.rst new file mode 100644 index 00000000..d72564da --- /dev/null +++ b/source/manual/contribute/markup_style.rst @@ -0,0 +1,275 @@ +.. highlight:: rst + +****************** +Markup Style Guide +****************** + +.. Editor's Note: + :: + There are many detailed conventions, e.g: + :: + - When definition lists/bullet-points are used. + - Word-ordering in filenames. + - How text is wrapped. + - The number of spaces between lines. + - When it is/is not okay to add in Unicode characters. + - Should comments on a page be above or below titles :) + :: + Having a lot of detailed text on this page is off-putting to new contributors, + so please avoid making this page into a wall-of-text, + many conventions can be noticed along the way by reading existing text. + +This page covers the conventions for writing and use of the reStructuredText (RST) markup syntax. + +Conventions +=========== + +- Three (3) space indentation. +- Lines should be less than 120 characters long. +- Use *italics* for *button/menu names*. + +Other loose conventions: + +- Avoid Unicode characters. +- Avoid heavily wrapped text + (i.e. sentences can have their own lines). + + +Headings +======== + +.. code-block:: rst + + ################# + Document Part + ################# + + ================ + Document Chapter + ================ + + Document Section + ++++++++++++++++ + + Document Subsection + ------------------- + + Document Subsubsection + ^^^^^^^^^^^^^^^^^^^^^^ + + Document Paragraph + """""""""""""""""" + +.. important:: + *Parts* should only be used for contents or index pages. Each ``.rst`` file should only have one chapter heading (``*``) per file - top heading. + + +Text Styling +============ + +See the `overview on ReStructuredText `__ for more information on how to style the various elements of the documentation and on how to add lists, tables, pictures and code blocks. The `Sphinx reference `__ provides more insight additional constructs. + +.. tip:: + Do not manually format/break lines in ``.rst`` files; use your editor's *wrap text* functionality. 80 characters is standard line length for computer files. + +The following are useful markups for text styling:: + + *italic* + **bold** + ``literal`` + +Interface Elements +================== + +- ``:kbd:`LMB``` - keyboard and mouse shortcuts. +- ``*Mirror*`` - interface labels. +- ``:menuselection:`3D Viewport --> Add --> Mesh --> Monkey``` - menus. + +Code Samples +============ + +There is support for syntax highlighting if the programming language is provided, +and line numbers can be optionally shown with the ``:linenos:`` option:: + + .. code-block:: python + :linenos: + + import bpy + def some_function(): + ... + +Images +====== + +Figures are used to place images:: + + .. figure:: /images/interface_window-system_splash_current.png + + Image caption + +For consistency, and since it would be good to ensure that screenshots are all of similar size when floated next to text, writers should take screenshots in the following manner: + +#. Prepare the area you would like to capture making sure to *use the default theme and setting*. + (In some cases you may not want to use the default settings e.g. if some options are hidden behind a checkbox.) +#. Zoom to the maximum zoom level (hold :kbd:`NumpadPlus` or :kbd:`Ctrl-MMB` or similar). +#. Zoom out eight zoom levels (:kbd:`NumpadMinus` -- eight times). +#. In some cases you will want to leave a small margin around the thing you are trying to capture. + This should be around 30px but does not have to be exact. + +This can be applied to several parts of the interface but might not work for all cases. + +If really needed, use additinal *directives* for image formatting:: + + .. figure:: /images/Logic_Nodes/once_node.png + :align: right + :width: 215 + :alt: Once Node (placeholder if .png image file is missing) + +Files +----- + +No Caps, No Gaps + Lower case filenames underscore between words. +Sort Usefully + Order naming with specific identifiers at the end. +Format + Use ``.png`` for images that have solid colors such as screenshots of the Blender interface, + and ``.jpg`` for images with a high amount of color variance, such as sample renders and photographs. + + Do not use animated ``.gif`` files, these are hard to maintain, can be distracting + and are usually large in file size. Instead use a video if needed (see `Videos`_ below). +Location + Place the images in the ``manual/images`` folder, and use subfolders, if needed. +Naming + For naming files use dashes to separate chapters and sections, and use underscore to connect sections that are two or more words, i.e. for image files: + + ``chapter-subsection-sub_subsection-id.png``: + + - ``interface-splash-current.png`` + - ``interface-undo_redo-last.png`` + - ``interface-undo_redo-repeat_history-menu.png`` + + Do not use special characters or spaces! + +Usage Guides +------------ + +- Avoid specifying the resolution of the image, + so that the theme can handle the images consistently + and provide the best layout across different screen sizes. +- When documenting a panel or section of the UI, + it is better to use a single image that shows all of the relevant areas + (rather than multiple images for each icon or button) + placed at the top of the section you are writing, + and then explain the features in the order that they appear in the image. + + .. note:: + + It is important that the manual can be maintained long term. + UI and tool options change, so try to avoid having a lot of images + (when they are not especially necessary). + Otherwise, this becomes too much of a maintenance burden. + +Videos +====== + +.. note:: + This is from Blender manual. It might not be suitable for *UPBGE-Docs* developers. + +Videos can be embedded from Blender's self-hosted `PeerTube `__ instance, which can be found at `video.blender.org `__. +To embed a video use the following directive:: + + .. peertube:: ID + +The ``ID`` is found in the video's URL, e.g.: + +ID for ``https://video.blender.org/videos/watch/47448bc1-0cc0-4bd1-b6c8-9115d8f7e08c`` + +is ``47448bc1-0cc0-4bd1-b6c8-9115d8f7e08c``. + +To get a new video uploaded, contact a `Documentation Project Administrator `__. + +Usage Guides +------------ + +- Avoid adding videos that rely on voice or words, as this is difficult to translate. +- Do not embed video tutorials as a means of explaining a feature, the writing itself should explain it adequately. + (Though you may include a link to the video at the bottom of the page under the heading ``Tutorials``). + +Useful Constructs +================= + +- ``|BLENDER_VERSION|`` - Resolves to the current Blender version. +- ``:abbr:`SSAO (Screen Space Ambient Occlusion)``` - + Abbreviations display the full text as a tooltip for the reader. + + :abbr:`Hover mouse over here (This is example of abbreviation)` + +- ``:term:`Manifold``` - Links to an entry in the :doc:`Glossary `. + +Cross References and Linkage +============================ + +You can link to another part of the Manual with folder path:: + + :doc:`The Title ` + +To link to a specific section in another file (or the same one), explicit labels are available:: + + .. _sample-label: ["link to this" directive, single _underscore] + + (section or image which needs to be referenced) + + Some text :ref:`Optional Title ` ["link from this" directive] + +Linking to a title in the same file:: + + Titles are Targets + ================== + + Body text. + + Implicit references, like `Titles are Targets`_ [single underscore_] + +Linking to the outside world:: + + `Blender Website `__ [double underscore__] + +Context Sensitive Manual Access +------------------------------- + +It is possible to link to a specific part of the manual from inside the Blender by opening +the context menu (right click) of a property or operator and selecting *Online Manual*. +In order for this to work, this needs to be accounted for in the documentation. +To link a property or operator to a specific part of the manual you need to add +an external reference link tag whose ID matches Blender's RNA tag. +The easiest way to find out what is the tag for a property, is to open the context menu of +the property/operator and select *Online Python Reference* to extract the tag from the URL. +Some examples of how this looks in the RST document are given below:: + + .. _bpy.types.FluidDomainSettings.use_fractions: + + Fractional Obstacles + Enables finer resolution in fluid / obstacle regions (second order obstacles)... + + .. _bpy.types.FluidDomainSettings.fractions_distance: + + Obstacle Distance + Determines how far apart fluid and obstacles are... + +For an operator:: + + .. _bpy.ops.curve.subdivide: + + Subdivide + ========= + +Further Reading +=============== + +To learn more about reStructuredText, see: + +`Sphinx RST Primer `__ + Good basic introduction. +`reStructuredText Markup `__ + Verbose reStructuredText cheat-sheet. diff --git a/source/manual/contribute/templates.rst b/source/manual/contribute/templates.rst new file mode 100644 index 00000000..93c7015d --- /dev/null +++ b/source/manual/contribute/templates.rst @@ -0,0 +1,133 @@ +.. _contribute-templates: + +.. highlight:: rst + +********* +Templates +********* + +The following guide provides patterns for interface elements and directories. + +Operator Menus +============== + +Each operator should receive its own heading or page based on the length of the content. +At the start should be a reference admonition documenting the context of the operator:: + + .. admonition:: Reference + :class: refbox + + :Mode: Edit Mode + :Menu: :menuselection:`Curve --> Snap` + :Shortcut: :kbd:`Shift-S` + +Panels +====== + +Panels should be documented by their own heading, nested panels should use decreasing heading levels. +Each panel could have its own page based on the length of documentation and/or the amount of panels. +Expanded menus that toggle what properties are presented to the user should be treated like subpanels:: + + Panel Title + =========== + + Nested Panel Title + ------------------ + +Properties +========== + +Properties should be documented using definition lists. +Properties that are hidden based on other properties should used nested definitions:: + + Property + Property description. + + Hidden Property + Hidden property description. + +Select menus should be documented using the following syntax:: + + Menu Label + General description of the menu. + + :Menu Item: Menu Item Definition. + :Menu Item: Menu Item Definition. + :Menu Item: Menu Item Definition. + +Nodes +===== + +Nodes have three headings: properties, inputs, and outputs. Only include any of them if it is present on node. At the end of the page can be an optional example(s) section:: + + ========== + World Node + ========== + + .. figure:: /images/render_shader-nodes_output_world_node.png + :align: right + + The World node. + + Introduction and general use case(s). + + Properties + ++++++++++ + + Properties. + + Inputs + ++++++ + + This node has an input. + + Outputs + +++++++ + + Outputs. + + Example + +++++++ + + Optional. + +Directory Layout +================ + +Sections should be generally structured as follows: + +- ``directory_name/`` + + - ``index.rst`` (contains links to internal files) + - ``introduction.rst`` + - ``section_1.rst`` + - ``section_2.rst`` + +For example: + +- ``rendering/`` + + - ``index.rst`` + - ``cycles/`` + + - ``index.rst`` + - ``introduction.rst`` + - ``materials/`` + + - ``index.rst`` + - ``introduction.rst`` + - ``volumes.rst`` + +The idea is to enclose all the content of a section inside of a folder. Ideally every section should have an ``index.rst``, containing the TOC for that section, and an ``introduction.rst`` to the contents of the section. + +Table of Contents +----------------- + +By default, a table of contents should show one level of depth:: + + .. toctree:: + :maxdepth: 1 + + introduction.rst + perspective.rst + depth_of_field.rst diff --git a/source/manual/about/whats_new.rst b/source/manual/contribute/whats_new.rst similarity index 81% rename from source/manual/about/whats_new.rst rename to source/manual/contribute/whats_new.rst index ba293da9..daab4627 100644 --- a/source/manual/about/whats_new.rst +++ b/source/manual/contribute/whats_new.rst @@ -1,6 +1,7 @@ -.. Editors note, only list large changes/additions limit the list to 20 items +.. + Editors note: only list large changes/additions, limit the list to 20 items -.. _about-whatsnew: +.. _contribute-whats_new: ++++++++++ What's New diff --git a/source/manual/contribute/writing_style.rst b/source/manual/contribute/writing_style.rst new file mode 100644 index 00000000..f47fc8c5 --- /dev/null +++ b/source/manual/contribute/writing_style.rst @@ -0,0 +1,154 @@ +.. _contribute-writing_style: + +=================== +Writing Style Guide +=================== + +In order to maintain a consistent writing style within the manual, please keep this page in mind and only deviate from it when you have a good reason to do so. + +Primary Goals +------------- + +User Focused + While some areas of computer graphics are highly technical, this manual shall be kept understandable by non-technical users. + +Complete + The manual aims to provide detailed functional description of all features, tools and options in UPBGE. This does not mean we have to document every small detail. The manual should provide information on what a feature is, how to use it, and its purpose. + +Concise + Computer graphics is a vast field, there are many rules, exceptions to the rules, and interesting details. Expanding into details can add unnecessary content, so keep the text concise and relevant to the topic at hand. + +Maintainable + Try to write content that will not have to be redone the moment some small change is made. This helps a small documentation community to maintain the manual. + +Content Guidelines +------------------ + +Rules of thumb: + +* **Spell checking** is *strongly* recommended. + +* Use **American English** (i.e. modeling and not modelling, color and not colour) also for formatting numbers (i.e. 2,718.28 and not 2 718,28). + +* Take care about grammar, appropriate wording and use simple English. + +* Keep sentences short and clear, resulting in text that is easy to read, objective and to the point. + +* Including *why or how an option might be useful* is a good idea. + +* If you are unsure about how a feature works, ask a developer or someone else. + +To be avoided: + +* Avoid writing in *first person* perspective, about yourself or your own opinions. + +* Avoid weasel words and being unnecessarily vague, i.e.: + | "Reloading the file will probably fix the problem" + | "Most people do not use this option because ..." + +* Avoid including specific details such as: + | “UPBGE has 23 different kinds of modifiers.” + | “Enabling previews adds 65536 bytes to the size of each blend-file (unless it is compressed).” + | These details are not useful for users to memorize and they become quickly outdated. + +* Avoid documenting bugs. + Issues that are known to the developers and are not going to be resolved before the next release can be documented as *Known Limitations*. + +* Avoid product placements, i.e. unnecessarily promoting software or hardware brands. Keep content vendor-neutral where possible. + +* Avoid technical explanations about the mathematical/algorithmic implementation of a feature - keep it simple. + +* Avoid repetition of large portions of text. + Simply explain it once, and from then on refer to that explanation. For general terminology, consider defining a ``:term:`` in the glossary. + +* Avoid enumerations of similar options, such as listing every preset or every frame rate in a ``select menu``. + Such lists are only showing what is **already obvious** in the interface and end up being a lot of text to read and maintain. + +* Avoid documenting changes in UPBGE between releases. + That is what the release notes are for. We only need to document the current state of documentation. + +* Unless a unit or a value is obscure and unpredictable, there is no need to mention it. + +* Do not simply copy the tooltips from UPBGE. + People will come to the manual to learn more than what is provided by the UI. + +* Use a *TODO* comment (which is not shown in the HTML page, but useful for other editors): + +.. parsed-literal:: + .. TODO:: how does this tool work \? ask Joe. + +Glossary +-------- + +This section is specifically about the *Glossary* section, where we define common terms in *Blender/UPBGE* and computer graphics. + +*Terms* are added with ``:term:`` syntax, explained in :doc:`Markup Style Guide `. + +Rules of thumb: + +* Define the term before providing any further information. + +* Avoid using constructs such as “it is” or “xyz is” before the definition. + +* Avoid repeating the term immediately or using it in the definition. + +* Avoid adding terms not found in UPBGE/Blender’s interface or manual. + +* Avoid overly long entries. If an explanation of a complex term is needed, supplement with external links. + +* Avoid duplicating documentation; if explaining the term is the primary focus of another section of the manual (e.g. if the term is the name of a tool), either just link to that section, or avoid creating a glossary entry entirely. + +* URL references are to be added at the end, formatted as follows, e.g: + +.. parsed-literal:: + See also \`OpenGL `__ on Wikipedia. + +Examples +-------- + +This entry: + +.. parsed-literal:: + Displacement Mapping + Uses a grayscale heightmap, like Bump Mapping, + but the image is used to physically move the vertices of the mesh at render time. + This is of course only useful if the mesh has large amounts of vertices. + +would be written like this instead, putting a definition first: + +.. parsed-literal:: + Displacement Mapping + A method for distorting vertices based on an image. + Similar to Bump Mapping, but instead operates on the mesh's actual geometry. + This relies on the mesh having enough geometry. + +This entry: + +.. parsed-literal:: + Doppler Effect + The Doppler effect is the change in pitch that occurs + when a sound has a velocity relative to the listener. + +would be written like this, avoiding the immediate repetition of the term: + +.. parsed-literal:: + Doppler Effect + Perceived change in pitch that occurs + when the source of a sound is moving relative to the listener. + +This entry: + +.. parsed-literal:: + Curve + It is a class of objects. + In Blender there are Bézier curves and NURBS curves. + +would be written like this, avoiding the “it is”: + +.. parsed-literal:: + Curve + A type of object defined in terms of a line interpolated between Control Vertices. + Available types of curves include Bézier and NURBS. + + + diff --git a/source/manual/datablocks/lamp.rst b/source/manual/datablocks/lamp.rst new file mode 100644 index 00000000..7ee40eb9 --- /dev/null +++ b/source/manual/datablocks/lamp.rst @@ -0,0 +1,7 @@ +.. _datablock-lamp: + +==== +Lamp +==== + +.. todo:: TODO diff --git a/source/manual/datablocks/object.rst b/source/manual/datablocks/object.rst index 4f2a9615..25cfcd1a 100644 --- a/source/manual/datablocks/object.rst +++ b/source/manual/datablocks/object.rst @@ -62,4 +62,3 @@ attributes depends on specific object types, like Lamps or Cameras. empty camera lamp - diff --git a/source/manual/editors/logic/index.rst b/source/manual/editors/logic/index.rst index 0bc934c6..64b8fec2 100644 --- a/source/manual/editors/logic/index.rst +++ b/source/manual/editors/logic/index.rst @@ -4,15 +4,9 @@ Logic Bricks Editor ******************* -The Logic Bricks Editor provides the main method of setting up and -editing the game logic for the various actors (i.e. objects) that make up the game. -The logic for the objects which are currently selected in the associated 3D View are displayed as logic bricks, -which are shown as a table with three columns, showing sensors, controllers, and actuators, respectively. -The links joining the logic bricks conduct the pulses between sensor-controller and controller-actuator. +The Logic Bricks Editor provides the main method of setting up and editing the game logic for the various actors (i.e. objects) that make up the game. The logic for the objects which are currently selected in the associated 3D View are displayed as logic bricks, which are shown as a table with three columns, showing sensors, controllers, and actuators, respectively. The links joining the logic bricks conduct the pulses between sensor-controller and controller-actuator. -To give you a better understanding of the Logic Bricks Editor, the image below shows a typical -editor content in which the major components have been labeled. -We will look at each one individually. +To give you a better understanding of the Logic Bricks Editor, the image below shows a typical editor content in which the major components have been labeled. We will look at each one individually. .. figure:: /images/Editors/editors-logic_editor-logic_editor.png @@ -50,7 +44,7 @@ Sensor Column This column contains a list of all sensors owned by the active object (and any other selected objects). New sensors for the active object are created using the "Add Sensor" button. For a more in-depth look at the content, layout and available operations in this area, -see :doc:`Sensors `. +see :doc:`Sensors `. ----------------- Controller Column @@ -60,7 +54,7 @@ This column contains a list of all controllers owned by the active object (and a New controllers for the active object are created using the "Add Controller" button, together with the creation of states for the active object. For a more in-depth look at the content, layout, and available operations in this area, -see :doc:`Controllers `. +see :doc:`Controllers `. --------------- Actuator Column @@ -69,7 +63,7 @@ Actuator Column This column contains a list of all actuators owned by the active object (and any other selected objects). New actuators for the active object are created using the "Add Actuator" button. For a more in-depth look at the content, layout, and available operations in this area, -see :doc:`Actuators `. +see :doc:`Actuators `. =============== Property Region @@ -80,7 +74,7 @@ They are used to save and access data associated with an object. Several types of properties are available. Properties are declared by clicking the *Add Game Property* button in this region. For a more in-depth look at the content, -layout and available operations in this region, see :doc:`Properties `. +layout and available operations in this region, see :doc:`Properties `. ======================== @@ -90,4 +84,4 @@ Python Components Region This region is where the *Python Components* are placed. *Python Components* are an independently logic system from Logic Bricks system. They are modules that can be attached to game objects. For a more in-depth look at the content, -layout and available operations in this region, see :doc:`Python Components `. +layout and available operations in this region, see :doc:`Python Components `. diff --git a/source/manual/editors/properties/physics_navigation_mesh.rst b/source/manual/editors/properties/physics_navigation_mesh.rst index c39b35fd..5abe7ccb 100644 --- a/source/manual/editors/properties/physics_navigation_mesh.rst +++ b/source/manual/editors/properties/physics_navigation_mesh.rst @@ -1,3 +1,4 @@ +.. _physics_navigation_mesh: *********************** Navigation Mesh Physics diff --git a/source/manual/editors/properties/physics_sensor.rst b/source/manual/editors/properties/physics_sensor.rst index 66ba065b..a44c790a 100644 --- a/source/manual/editors/properties/physics_sensor.rst +++ b/source/manual/editors/properties/physics_sensor.rst @@ -67,10 +67,10 @@ Settings ======== Invisible - See :doc:`Here <./physics_static>`. + See :doc:`here <./physics_static>`. Collision Bounds ================ -See :ref:`Here `. +See :ref:`here `. diff --git a/source/manual/editors/text/index.rst b/source/manual/editors/text/index.rst index 69288df9..5a90a0ec 100644 --- a/source/manual/editors/text/index.rst +++ b/source/manual/editors/text/index.rst @@ -48,8 +48,8 @@ Text Run Script (play icon) Executes the text as a Python script :kbd:`Alt-P`. This execution has placed out of Game Engine only, - and it is focused for development mainly. If you want to execute a Python script into the Game Engine checks - the :doc:`Python Scripting ` chapter. + and it is focused for development mainly. If you want to execute a Python script inside the Game Engine check + the :doc:`Python Scripting ` chapter. Show Toggle display options. @@ -103,7 +103,7 @@ Save :kbd:`Alt-S` Saves an already open file. Save As :kbd:`Shift-Ctrl-Alt-S`. Saves text as a new text file, a File Browser is opened to select the directory - to save the file along with giving the file a name / file extension. + to save the file along with giving the file a name/file extension. Register Registers the current text data-block as a module on loading (the text name must end with ``.py``). Live Edit @@ -203,11 +203,9 @@ Typing on the keyboard produces text in the text buffer. As usual, pressing, dragging and releasing :kbd:`LMB` selects text. Pressing :kbd:`RMB` opens the context menu. -.. tip:: Usages for the Text editor +.. tip:: - The Text editor is handy also when you want to share your blend-files with others. - The Text editor can be used to write in a ``README`` text explaining the contents of your blend-file. - Be sure to keep it visible when saving! + Text editor is handy also when you want to share your blend-files with others. I.e write a ``README`` text explaining the contents of your blend-file. Be sure to keep it visible when saving! Sidebar @@ -274,5 +272,5 @@ and with a lots of Blender/UPBGE-specific modules. .. warning:: - This script execution takes place outside Game Engine, and it is focused for development purpose only. - If you want to execute a Python script into the Game Engine checks the :doc:`Python Scripting ` chapter. + This script execution takes place outside Game Engine, and it is intended for development purpose only. + If you want to execute a Python script inside the Game Engine check the :doc:`Python Scripting ` chapter. diff --git a/source/manual/glossary/index.rst b/source/manual/glossary/index.rst new file mode 100644 index 00000000..0ef566e2 --- /dev/null +++ b/source/manual/glossary/index.rst @@ -0,0 +1,660 @@ +.. _glossary: + +======== +Glossary +======== + +.. + For writing style, see this :doc:`guide `. If you add new entries, keep the alphabetical sorting. + +This page lists definitions for terms used in Blender and UPBGE Manual, in alphabetical order. + +.. glossary:: + :sorted: + + Active + When many items are selected, the last selected item will be the active one. Used in situations where the interface only shows options for one item at a time. + + Action Safe + Area of the screen visible on most devices. Place content inside it to ensure it does not get cut off. + + Aliasing + Rendering artifacts in the form of jagged lines. + + Alpha Channel + Additional channel in an image for transparency. + + Straight Alpha + Method where RGBA channels are stored as (R, G, B, A) channels, with the RGB channels unaffected by the alpha channel. This is the alpha type used by paint programs such as Photoshop or Gimp, and used in common file formats like PNG, BMP or Targa. So, image textures or output for the web are usually straight alpha. + + Premultiplied Alpha + Method where RGBA channels are stored as (R × A, G × A, B × A, A), with the alpha multiplied into the RGB channel. + + This is the natural output of render engines, with the RGB channels representing the amount of light that comes toward the viewer, and alpha representing how much of the light from the background is blocked. The OpenEXR file format uses this alpha type. So, intermediate files for rendering and compositing are often stored as premultiplied alpha. + + Conversion (Straight/Premultiplied) Alpha + Conversion between the two alpha types is not a simple operation and can involve data loss, as both alpha types can represent data that the other cannot, though it is often subtle. + + Straight alpha can be considered to be an RGB color image with a separate alpha mask. In areas where this mask is fully transparent, there can still be colors in the RGB channels. On conversion to premultiplied alpha, this mask is *applied* and the colors in such areas become black and are lost. + + Premultiplied alpha, on the other hand, can represent renders that are both emitting light and letting through light from the background. For example, a transparent fire render might be emitting light, but also letting through all light from objects behind it. On converting to straight alpha, this effect is lost. + + Channel Packed + A separate image map is stored for each color and alpha channel. Channel packing is commonly used by game engines to save memory and to optimize memory access. + + Ambient Light + The light that comes from the surrounding environment as a whole. + + Ambient Occlusion + A ratio of how much :term:`Ambient Light` a surface point would be likely to receive. If a surface point is under a foot or table, it will end up much darker than the top of someone's head or the tabletop. + + Animation + Simulation of motion. + + Anti-Aliasing + Is the technique of minimizing :term:`Aliasing`, by e.g. rendering multiple samples per pixel. + + Armature + An :term:`Object` consisting of :term:`Bones `. Used to :term:`Rig` characters, props, etc. + + Asset + Curated data-blocks that are meant for reuse, usually contained in an :term:`Asset Library`. + + Note that there are other meanings of the word "asset" -- sometimes this is used more generically, and refers to any "useful thing", like images, models, materials, and more. + + Asset Catalog + Container for assets, similar to what a directory is for files. + + Asset Library + Directory on drive, registered in the list of asset libraries in the preferences. + + Asset Metadata + Asset-related information, such as its :term:`catalog `, description, author, preview, and tags. + + Attribute + A generic term to describe data stored per-element in a geometry data-block. + + Current File Asset Library + Asset library that is not a directory on drive, but only reflects the assets in the current blend-file. This library is available regardless of the location of the blend-file. + + Axis + A reference line which defines coordinates along one cardinal direction in n-dimensional space. + + Axis Angle + Rotation method where X, Y, and Z correspond to the axis definition, while W corresponds to the angle around that axis, in radians. + + Baking + The process of computing and storing the result of a potentially time-consuming calculation so as to avoid needing to calculate it again. + + Bevel + The operation to chamfer or bevel edges of an object. + + Bone + The building block of an :term:`Armature`. Made up of a :term:`Head`, :term:`Tail` and :term:`Roll Angle` which define a set of local axes and a point of rotation at the Head. Also see :term:`Pose Bone`. + + Bone Collection + Collection of :term:`bones ` of an :term:`Armature`, identified by its name. Bone collections can be used to organise bones and toggle their visibility. + + Boolean + A type of logic dealing with binary true/false states. + + Bounding Box + The box that encloses the shape of an object. The box is aligned with the local space of the object. + + Bump Mapping + Technique for simulating slight variations in surface height using a grayscale "heightmap" texture. + + Bézier + A computer graphics technique for generating and representing curves. + + Bit Depth + The exponent value (with base two) for how many colors can be represented within a single color channel. A higher bit depth will allow more possible colors, reducing banding, and increasing precision. Yet a higher bit depth will increase memory usage exponentially. + + BVH + Bounding Volume Hierarchy + A hierarchical structure of geometric objects. See also `Bounding Volume Hierarchy `__ on Wikipedia. + + Caustics + The optical phenomenon of light concentration focused by specular reflections or refracting objects. In example observable on light passing through a glass of water onto a table or the pattern at the bottom of a swimming pool. + + In rendering this refers to diffuse reflected light paths after a glossy or refraction bounce. See also `Caustics `__ on Wikipedia. + + Child + An :term:`Object` that is affected by its :term:`Parent`. + + Chromaticities + The coordinates of the :term:`Primaries` on the CIE 1931 xy chromaticity diagram. + + Chroma + Chrominance + In general, a resulting image color decomposition, where its (*L* or *Y*) luminance channel is separated. There are two different contexts whereas this term is used: + + Video Systems + Refers to the general color decomposition resulting in *Y* (Luminance) and *C* (Chrominance) channels, whereas the chrominance is represented by: U = ( Blue minus Luminance ) and V = ( Red minus Luminance ). + + Matte Compositing + Refers to a point in the color gamut surrounded by a mixture of a determined spectrum of its RGB neighboring colors. This point is called *Chroma key* and this key (a chosen color) is used to create an *Alpha Mask*. The total amount of gamut space for this chrominance point is defined by users in a circular or square-shaped format. + + Clamp + Clamping + Limits a variable to a range. The values over or under the range are set to the constant values of the range's minimum or maximum. + + Collection + A device for organizing objects. + + Blend Modes + Color Blend Modes + Methods for blending two colors together. See also `Blend Modes `__ on Krita docs. + + Color Gamut + A gamut traditionally refers to the volume of color a particular color model/space can cover. In many instances, it is illustrated via a 2D model using CIE Yxy coordinates. + + Color Model + A mechanism for representing colors as numbers. + + RGB + An additive system where three primaries; red, green, and blue are combined to make other colors. + + HSV + Three values often considered as more intuitive (human perception) than the RGB system. In this model, colors are represented as :term:`Hue`, :term:`Saturation`, and :term:`Value`. + + HSL + Similar to *HSV* except the colors are represented as :term:`Hue`, :term:`Saturation`, and :term:`Luminance`. + + YUV + Luminance-Chrominance standard used in broadcasting analog PAL (European) video. + + YCbCr + Luminance-ChannelBlue-ChannelRed component video for digital broadcast use, whose standards have been updated for HDTV and commonly referred to as the HDMI format for component video. + + Color Space + A coordinate system in which a vector represent a color value. This way the color space defines three things: + + - The exact color of each of the :term:`Primaries`; + - The :term:`White Point`; + - A transfer function. + + The color spaces supported by Blender depend on the active OCIO config. + + sRGB + A color space that uses the Rec .709 :term:`Primaries` and a D65 white point, and 2.2 gamma correction value as the transfer function. + + Concave Face + Face in which one vertex is inside a triangle formed by other vertices of the face. See also `Convex and concave polygons `__ on Wikipedia. + + Constraint + A way of controlling one :term:`Object` with data from another. + + Convex Face + Face where, if lines were drawn from each vertex to every other vertex, all lines would remain in the face. Opposite of a :term:`Concave Face`. + + Coplanar + Refers to any set of elements that are all aligned to the same 2D plane in 3D space. + + Crease + Property of an :term:`Edge`. Used to define the sharpness of edges in :term:`Subdivision Surface` meshes. + + Curve + A type of object defined in terms of a line interpolated between Control Vertices. Available types of curves include :term:`Bézier`, :term:`NURBS` and Poly. + + Curve Segment + The part of a curve connecting two adjacent control points. + + Cyclic + Often referring to an object being circular. This term is often associated with :term:`Curve`. + + Data User + An existing Blender object, which is using its own data, or linked data (data owned and controlled by another Blender object). + + DOF + Depth of Field + The distance in front of and behind the subject which appears to be in focus. For any given lens setting, there is only one distance at which a subject is precisely in focus, but focus falls off gradually on either side of that distance, so there is a region in which the blurring is tolerable. This region is greater behind the point of focus than it is in front, as the angle of the light rays change more rapidly; they approach being parallel with increasing distance. + + Dielectric Material + A material for real world objects that are electrical insulators such as plastics, wood, glass, ect. Essentially this summarizes any material that is solid and non metallic. + + Diffuse Light + Even, directed light coming off a surface. For most things, diffuse light is the main lighting we see. Diffuse light comes from a specific direction or location and creates shading. Surfaces facing towards the light source will be brighter, while surfaces facing away from the light source will be darker. + + Directional Light + The light that has a specific direction, but no location. It seems to come from an infinitely far away source, like the sun. Surfaces facing the light are illuminated more than surfaces facing away, but their location does not matter. A directional light illuminates all objects in the scene, no matter where they are. + + Displacement Mapping + A method for distorting vertices based on an image or texture. Similar to :term:`Bump Mapping`, but instead operates on the mesh's actual geometry. This relies on the mesh having enough geometry to represent details in the image. + + Display Referenced + Refers to an image whose :term:`Luminance` channel is limited to a certain range of values (usually 0-1). The reason it is called display referenced is because a display cannot display an infinite range of values. So, the term :term:`Scene Referenced` must go through a transfer function to be converted from one to the other. + + Double Buffer + Technique for rendering and displaying content on the screen. Blender uses two buffers (images) to render the interface, the content of one buffer is displayed while rendering occurs on the other buffer. When rendering is complete, the buffers are switched. + + Edge + Straight segment (line) that connects two :term:`Vertices `, and can be part of a :term:`Face`. + + Edge Loop + Chain of :term:`Edges ` belonging to consecutive :term:`Quads `. An edge loop ends at a pole or a boundary. Otherwise, it is cyclic. + + Edge Ring + Path of all :term:`Edge` along a :term:`Face Loop` that share two faces belonging to that loop. + + Elastic + Objects that are able to spontaneously return to their original shape after all outside forces are removed from the object. + + Elasticity + The amount a material is elastic versus inelastic. + + Empty + An :term:`Object` without any :term:`Vertices`, :term:`Edges ` or :term:`Face`. + + Euler + Euler Rotation + Rotation method where rotations are applied to each of the X, Y, Z axes in a specific order. + + Euler orders in Blender are most intuitive when read backwards: *XYZ Euler* is similar to rotating around *Local Z* using the *Rotate* tool in the 3D Viewport, followed by *Local Y* and then *Local X*. + + Face + Mesh element that defines a piece of surface. It consists of three or more :term:`Edges `. + + Face Loop + Chain of consecutive :term:`Quads `. A face loop stops at a :term:`Triangle` or :term:`N-gon` (which do not belong to the loop), or at a boundary. Otherwise, it is cyclic. + + Face Normal + The normalized vector perpendicular to the plane that a :term:`Face` lies in. Each face has its own normal. + + Fake User + A special :term:`Data User`, a program construct that is used to mark an object (e.g. material) to be saved in a blend-file, even when no :term:`Real User` is using the object. Objects that are not used by any Data User are not included in saved blend-files. + + F-Curve + A curve that holds the animation values of a specific property. + + Field of View + The area in which objects are visible to the camera. Also see :term:`Focal Length `. + + Fireflies + Rendering artifacts encountered with path tracing resulting from improbable samples that contribute very high values to pixels. + + Focal Length + The distance required by a lens to focus collimated light. Defines the magnification power of a lens. Also see :term:`Field of View `. + + FK + Forward Kinematics + The process of determining the movement of interconnected segments or bones of a body or model in the order from the parent bones to the child bones. Using forward kinematics on a hierarchically structured object, you can move the upper arm then the lower arm and hand go along with the movement. Without forward kinematics the lower arm and hand would disconnect from upper arm and would move independently in space. See also :term:`Inverse Kinematics`. + + Frame Types + In video compression, a frame can be compressed by several different algorithms. These algorithms are known as *picture types* or *frame types* and there are three major types: **I**, **P**, and **B** frames. + + I‑frames + The least compressible but don't require other video frames to decode. + + P‑frames + Use data from previous frames to decompress and are more compressible than I‑frames. + + B‑frames + Use both previous and forward frames for data reference to get the highest amount of compression. + + Gamma + An operation used to adjust the brightness of an image. See also `Gamma correction `__ on Wikipedia. + + Geodesic + Relating to the shortest possible path between two points on a curved surface. + + Geometric Center + The mean average of the positions of all vertices making up the object. + + Gimbal + A pivoted support that allows the rotation of an object about a single axis. See also `Gimbal `__ on Wikipedia. + + Gimbal Lock + A superset of :term:`Radiosity` and ray tracing. The goal is to compute all possible light interactions in a given scene, and thus, obtain a truly photorealistic image. All combinations of diffuse and specular reflections and transmissions must be accounted for. Effects such as color bleeding and caustics must be included in a global illumination simulation. + + Global Space + See :term:`World Space`. + + Glossy Map + See :term:`Roughness Map`. + + Head + A subcomponent of a :term:`Bone`. The point of rotation for the bone has X, Y, and Z coordinates measured in the :term:`Local Space` of the :term:`Armature` object. Used in conjunction with the :term:`Tail` to define the local Y axis of the bone in :term:`Pose Mode`. The larger of the two ends when displayed as an :term:`Octahedron`. + + HDRI + High Dynamic Range Image + A set of techniques that allow a far greater dynamic range of exposures than normal digital imaging techniques. The intention is to accurately represent the wide range of intensity levels found in real scenes, ranging from direct sunlight to the deepest shadows. See also `HDRI `__ on Wikipedia. + + Hue + A shade of light out of the color spectrum. + + IOR + Index of Refraction + A property of transparent materials. When a light ray travels through the same volume it follows a straight path. However, if it passes from one transparent volume to another, it bends. The angle by which the ray is bent can be determined by the IOR of the materials of both volumes. + + Interpolation + The process of calculating new data between points of known value, like :term:`Keyframes `. + + IK + Inverse Kinematics + The process of determining the movement of interconnected segments or bones of a body or model in the order from the child bones to the parent bones. Using inverse kinematics on a hierarchically structured object, you can move the hand then the upper and lower arm will automatically follow that movement. Without inverse kinematics the hand would come off the model and would move independently in space. See also :term:`Forward Kinematics`. + + Keyframe + A frame in an animated sequence drawn or otherwise constructed directly by the animator. In classical animation, when all frames were drawn by animators, the senior artist would draw these frames, leaving the "in between" frames to an apprentice. Now, the animator creates only the first and last frames of a simple sequence (keyframes); the computer fills in the gap. + + Keyframing + Inserting :term:`Keyframes ` to build an animated sequence. + + Lattice + A type of object consisting of a non-renderable three-dimensional grid of vertices. + + Light Bounces + Refers to the reflection or transmission of a light ray upon interaction with a material. + + Local Space + A 3D coordinate system that originates (for Objects) at the :term:`Object Origin`. Or (for Bones) at the :term:`Head` of the :term:`Bone`. Compare to :term:`World Space`. + + Luminance + The intensity of light either in an image/model channel, or emitted from a surface per square unit in a given direction. + + Manifold + Manifold meshes, also called 'water-tight' meshes, define a closed non-self-intersecting volume (see also :term:`Non-manifold`). + + A manifold mesh is a mesh in which the structure of the connected faces in a closed volume will always point the normals (and their surfaces) to the outside or to the inside of the mesh without any overlaps. If you recalculate those normals, they will always point at a predictable direction (to the outside or to the inside of the volume). When working with non-closed volumes, a manifold mesh is a mesh in which the normals will always define two different and non-consecutive surfaces. A manifold mesh will always define an even number of non-overlapped surfaces. + + MatCap + Stands for "material capture", using an image to represent a complete material including lighting and reflections. + + Matte + Mask + A grayscale image used to include or exclude parts of an image. A matte is applied as an :term:`Alpha Channel`, or it is used as a mix factor when applying :term:`Color Blend Modes`. + + Mesh + Type of object consisting of :term:`Vertices `, :term:`Edges ` and :term:`Faces `. + + Micropolygons + A polygon roughly the size of a pixel or smaller. + + MIP + Mip-map + Mip-mapping + 'MIP' is an acronym of the Latin phrase 'multum in parvo', meaning 'much in little'. Mip-maps are progressively lower resolution representations of an image, generally reduced by half squared interpolations using :term:`Anti-Aliasing`. + + Mip-mapping is the process used to calculate lower resolutions of the same image, reducing memory usage to help speed visualization, but increasing memory usage for calculations and allocation. Mip-mapping is also a process used to create small anti-aliased samples of an image used for texturing. + + Mip-mapping calculations are made by CPUs, but modern graphic processors can be selected for this task and are way faster. + + MIS + Multiple Importance Sampling + A process of estimating the direction of light rays to improve sampling quality. See `Importance sampling `__ on Wikipedia. + + Modifiers + A non-destructive operation that is applied on top of some sort of data. + + Motion Blur + The phenomenon that occurs when we perceive a rapidly moving object. The object appears to be blurred because of our persistence of vision. Simulating motion blur makes computer animation appear more realistic. + + Multisampling + Rendering multiple samples per pixel, for :term:`Anti-Aliasing`. + + N-gon + A :term:`Face` that contains more than four :term:`Vertices `. + + NDOF + 3D Mouse + A general term used to describe a 3D mouse, or any input devices which supports more degrees of freedom than a conventional 2D input device. + + Nonlinear Animation + Animation technique that allows the animator to edit motions as a whole, not just the individual keys. Nonlinear animation allows you to combine, mix, and blend different motions to create entirely new animations. + + Non-manifold + Non-Manifold meshes essentially define geometry which cannot exist in the real world. This kind of geometry is not suitable for several types of operations, especially those where knowing the volume (inside/outside) of the object is important (refraction, fluids, Boolean operations, or 3D printing, to name a few). + + A non-manifold mesh is a mesh in which the structure of a non-overlapped surface (based on its connected faces) will not determine the inside or the outside of a volume based on its normals, defining a single surface for both sides, but ended with flipped normals. When working with non-closed volumes, a non-manifold mesh will always determine at least one discontinuity in the normal directions, either by an inversion of a connected loop, or by an odd number of surfaces. A non-manifold mesh will always define an odd number of surfaces. There are several types of non-manifold geometry: + + - Some borders and holes (edges with only a single connected face), as faces have no thickness. + - Edges and vertices not belonging to any face (wire). + - Edges connected to three or more faces (interior faces). + - Vertices belonging to faces that are not adjoining (e.g. two cones sharing the vertex at the apex). + + Normal + The normalized vector perpendicular to a surface. Normals can be assigned to vertices, faces and modulated across a surface using :term:`Normal Mapping`. See also `Normals `__ on Wikipedia. + + Normal Mapping + Is similar to :term:`Bump Mapping`, but instead of the image being a grayscale heightmap, the colors define in which direction the normal should be shifted, the three color channels being mapped to the three directions X, Y and Z. This allows more detail and control over the effect. + + NURBS + Non-uniform Rational Basis Spline + A computer graphics technique for generating and representing curves and surfaces. + + Object + Container for a type (mesh, curve, surface, metaball, text, armature, lattice, empty, camera, light) and basic 3D transform data (:term:`Object Origin`). + + Object Center + Object Origin + A reference point used to position, rotate, and scale an :term:`Object` and to define its :term:`Local Space` coordinates. + + Octahedron + An eight-sided figure commonly used to depict the :term:`Bones ` of an :term:`Armature`. + + OpenGL + The graphics system used by Blender (and many other graphics applications) for rendering 3D graphics, often taking advantage of hardware acceleration. See also `OpenGL `__ on Wikipedia. + + Operator + An executable action that is completed the moment they're initiated. + + Overscan + The term used to describe the situation. when not all of a televised image is present on a viewing screen. + + Panel + A user interface element that contains buttons. Panels are collapsible to hide there contents and can often be rearranged. + + Parent + An :term:`Object` that affects its :term:`Child` objects. + + Parenting + Creating a :term:`Parent`-:term:`Child` relationship between two :term:`objects `. + + Particle System + Technique that simulates certain kinds of fuzzy phenomena, which are otherwise very hard to reproduce with conventional rendering techniques. Common examples include fire, explosions, smoke, sparks, falling leaves, clouds, fog, snow, dust, meteor tails, stars, and galaxies, or abstract visual effects like glowing trails, magic spells. Also used for things like fur, grass or hair. + + Phong + Local illumination model that can produce a certain degree of realism in three-dimensional objects by combining three elements: diffuse, specular and ambient for each considered point on a surface. It has several assumptions -- all lights are points, only surface geometry is considered, only local modeling of diffuse and specular, specular color is the same as light color, ambient is a global constant. + + Pivot Point + The pivot point is the point in space around which all rotation, scaling and mirror transformations are centered. + + Pixel + The smallest unit of information in a 2D raster image, representing a single color made up of red, green, and blue channels. If the image has an :term:`Alpha Channel`, the pixel will contain a corresponding fourth channel. + + Point Cloud + A list of points in 3D space. + + Pole + :term:`Vertex` where three, five, or more edges meet. A vertex connected to one, two, or four edges is not a pole. + + Pose Bone + Pose-specific properties of a :term:`Bone`, such as its location / rotation / scale relative to the :term:`Armature`'s rest pose. Its properties are stored on the :term:`Object`, and thus can be different for each user of the Armature. The Pose Bone also stores constraints. + + Pose Mode + Used for :term:`Posing`, :term:`Keyframing`, :term:`Weight Painting`, :term:`Constraining ` and :term:`Parenting` the :term:`Bones ` of an :term:`Armature`. + + Posing + Moving, Rotating and Scaling the :term:`Pose Bones ` of an :term:`Armature` to achieve an aesthetically pleasing pose for a character. + + Premultiplied Alpha + See :term:`Alpha Channel`. + + Primaries + In color theory, primaries (often known as primary colors) are the abstract lights, using an absolute model, that make up a :term:`Color Space`. + + Primitive + A basic object that can be used as a basis for modeling more complicated objects. + + Procedural Texture + Computer generated (generic) textures that can be configured via different parameters. + + Projection + In computer graphics, there are two common camera projections used. + + Perspective + A *perspective* view is geometrically constructed by taking a scene in 3D and placing an observer at point *O*. The 2D perspective scene is built by placing a plane (e.g. a sheet of paper) where the 2D scene is to be rendered in front of point *O*, perpendicular to the viewing direction. For each point *P* in the 3D scene a *PO* line is drawn, passing by *O* and *P*. The intersection point *S* between this *PO* line and the plane is the perspective projection of that point. By projecting all points *P* of the scene you get a perspective view. + + Orthographic + In an *orthographic* projection, you have a viewing direction but not a viewing point *O*. The line is then drawn through point *P* so that it is parallel to the viewing direction. The intersection *S* between the line and the plane is the orthographic projection of the point *P*. By projecting all points *P* of the scene you get the orthographic view. + + Proxy + For video editing, a proxy is a smaller version of the original file, typically using an optimized video codec and lower resolution version (faster to load) that stands in for the main image or video. + + When proxies are built, editing functions like scrubbing and scrolling and compositing is much faster but gives lower resolution and slightly imprecise result. + + Quad + Quadrilateral + Quadrangle + :term:`Face` that contains exactly four :term:`Vertices `. + + Quaternion + Quaternion Rotation + Rotation method where rotations are defined by four values (X, Y, Z, and W). X, Y, and Z also define an :term:`Axis`, and W an angle, but it is quite different from :term:`Axis Angle`. + + Quaternion values can be interpreted geometrically as defining a point on a unit sphere in 4D space. Moving along any *great circle* of the sphere represents rotating around a fixed axis, with one full circle matching two full rotations. + + Radiosity + A global lighting method that calculates patterns of light and shadow for rendering graphics images from three-dimensional models. One of the many different tools which can simulate diffuse lighting in Blender. See also `Radiosity (computer graphics) `__ on Wikipedia. + + Random Seed + Seed + Blender uses pseudo random number generators, which produce numbers that appear to be random, but given the same initial condition, they will always produce the exact same sequence of numbers. This is a critical feature to get reproducible and/or stable effects (otherwise e.g. your hair simulation would change every time you re-run it, without any way to control the outcome). + + The **seed** is a number that represents the initial condition of a random generator, if you change its seed, it will produce a new sequence of pseudo-random numbers. See also `Random seed `__ on Wikipedia. + + Ray Tracing + Rendering technique that works by tracing the path taken by a ray of light through the scene, and calculating reflection, refraction, or absorption of the ray whenever it intersects an object in the world. More accurate than :term:`Scanline`, but much slower. + + Real User + A Blender object, which is a :term:`Data User`. Opposite of :term:`Fake User`, which is only a program construct. + + Refraction + The change in direction of a wave due to a change in velocity. It happens when waves travel from a medium with a given :term:`Index of Refraction` to a medium with another. At the boundary between the media, the wave changes direction; its wavelength increases or decreases but frequency remains constant. + + Render + The process of computationally generating a 2D image from 3D geometry. + + Resource + External files such as images, sounds, fonts and volumes files that can be packed into a blend-file. + + RGB + A color model based on the traditional primary colors, Red/Green/Blue. RGB colors are also directly broadcasted to most computer monitors. + + Rig + A system of relationships that determine how something moves. The act of building of such a system. + + Roll + Roll Angle + The orientation of the local X and Z axes of a :term:`Bone`. Has no effect on the local Y axis as local Y is determined by the location of the :term:`Head` and :term:`Tail`. + + Rolling Shutter + In real CMOS cameras the sensor is read out with scanlines and hence different scanlines are sampled at a different moment in time. This, for example, make vertical straight lines being curved when doing a horizontal camera pan. See also `Rolling Shutter `__ on Wikipedia. + + Roughness Map + A grayscale texture that defines how rough or smooth the surface of a material is. This may also be known as a :term:`Glossy Map`. + + Saturation + Also known as colorfulness, saturation is the quantity of hue in the color (from desaturated -- a shade of gray -- to saturated -- brighter colors). + + Scanline + Rendering technique. Much faster than :term:`Ray Tracing`, but allows fewer effects, such as reflections, refractions, motion blur and focal blur. + + Scene Referenced + An image whose :term:`Luminance` channel is not limited. See also :term:`Display Referenced`. + + Blender Session + Session + The timespan of a Blender instance. The session begins with starting an instance of Blender and ends with closing it. In some cases, loading a new file may be considered beginning a new session. If so, the documentation should mention that. + + Shading + Process of altering the color of an object/surface in the 3D scene, based on its angle to lights and its distance from lights to create a photorealistic effect. + + Smoothing + Defines how :term:`Face` is shaded. Faces can be either solid (faces are rendered flat) or smooth (faces are smoothed by interpolating the normal on every point of the face). + + Specular Light + A light which is reflected precisely, like a mirror. Also used to refer to highlights on reflective objects. + + Straight Alpha + See :term:`Alpha Channel`. + + SSS + Subsurface Scattering + Mechanism of light transport in which light penetrates the surface of a translucent object, is scattered by interacting with the material, and exits the surface at a different point. All non-metallic materials are translucent to some degree. In particular, materials such as marble, skin, and milk are extremely difficult to simulate realistically without taking subsurface scattering into account. + + Subdividing + Technique for adding more geometry to a mesh. It creates new vertices on subdivided edges, new edges between subdivisions and new faces based on new edges. If new edges cross a new vertex is created at their crossing point. + + Subdiv + Subdivision Surface + A method of creating smooth higher poly surfaces which can take a low polygon mesh as input. See also `Catmull-Clark subdivision surface `__ on Wikipedia. + + Swing + Swing and Twist + Refers to decomposition of an arbitrary rotation into a sequence of two single axis rotations: a *swing* rotation that aims a chosen axis in its final direction using the shortest possible rotation path, followed by a *twist* rotation around that axis. + + In the :term:`Quaternion` representation the *swing* rotation always has 0 as the X/Y/Z component corresponding to the selected axis, while *twist* always has 0 as the other two components. + + Tail + A subcomponent of a :term:`Bone`. Has X, Y and Z coordinates measured in the :term:`Local Space` of the armature object. Used in conjunction with the :term:`Head` to define the local Y axis of a bone in :term:`Pose Mode`. The smaller of the two ends when displayed as an :term:`Octahedron`. + + Tangent + A line that intersects a surface at exactly one point, a tangent is perpendicular to a :term:`Normal `. + + Tessellation + The tiling of a plane using one or more geometric shapes usually resulting in :term:`Micropolygons`. + + Texture + Specifies visual patterns on surfaces and simulates physical surface structure. + + Texture Space + The bounding box to use when using *Generated* mapping to add a :term:`Texture` to an image. + + Timecode + A coded signal on videotape or film giving information about the frame number and time the frame was recorded. Timecodes are used to sync media between different recording devices, including both audio and video. + + Title Safe + Area of the screen visible on all devices. Place text and graphics inside this area to make sure they do not get cut off. + + Topology + The arrangement of *Vertices*, *Edges*, and *Faces* which define the shape of a mesh. See :term:`Vertex`, :term:`Edge`, and :term:`Face`. + + Transform + The combination of location, rotation, and scale. Can be expressed in :term:`World Space` or :term:`Local Space`. + + Triangle + :term:`Face` with exactly three :term:`Vertices`. + + UV Map + Defines a relation between the surface of a mesh and a 2D texture. In detail, each face of the mesh is mapped to a corresponding face on the texture. It is possible and often common practice to map several faces of the mesh to the same or overlapping areas of the texture. + + Value + The brightness of the color (dark to light). + + Vertex + Vertices + A point in 3D space containing a location. Vertices are the terminating points of :term:`Edges `. + + Vertex Group + Collection of :term:`Vertices `. Vertex groups are useful for limiting operations to specific areas of a mesh. + + Voxel + A cubic 3D equivalent to the square 2D pixel. The name is a combination of the terms "Volumetric" and ":term:`Pixel `". Used to store smoke and fire data from physics simulations. + + Walk Cycle + In animation, a walk cycle is a character that has just the walking function animated. Later on in the animation process, the character is placed in an environment and the rest of the functions are animated. + + Weight Painting + Assigning :term:`Vertices` to a :term:`Vertex Group` with a weight of 0.0 - 1.0. + + White Point + A reference value for white light when all primaries of a color model are combined evenly. + + A white point is defined by a set of `CIE illuminates `__ which correspond to a color temperature. For example, D65 corresponds to 6500 K light and D70 corresponding to 7000 K. + + World Space + A 3D coordinate system that originates at a point at the origin of the world. Compare to :term:`Local Space`. + + Z-buffer + Raster-based storage of the distance measurement between the camera and the surface points. Surface points which are in front of the camera have a positive Z value and points behind have negative values. The Z-depth map can be visualized as a grayscale image. diff --git a/source/manual/introduction/deeper_look.rst b/source/manual/introduction/deeper_look.rst index 1b8c63a2..29df6a55 100644 --- a/source/manual/introduction/deeper_look.rst +++ b/source/manual/introduction/deeper_look.rst @@ -35,17 +35,21 @@ Here are some examples of games made with BGE/UPBGE: ``Game Name / Creator Name:`` Tomato Jones 2 by Haidme produced with BGE/UPBGE. -.. youtube:: SQz3O8VFdOo +.. + .. youtube:: SQz3O8VFdOo -``Game Name / Creator Name:`` Highlands Test by Atomic Skill produced with UPBGE 0.2.5. +.. + ``Game Name / Creator Name:`` Highlands Test by Atomic Skill produced with UPBGE 0.2.5. .. youtube:: FJfmLktYi7o ``Game Name / Creator Name:`` The Future's End by Mark Telles produced with UPBGE 0.2.5. -.. youtube:: 3krdf9xRgw4 +.. + .. youtube:: 3krdf9xRgw4 -``Game Name / Creator Name:`` Spaceship Test by Atomic Skill produced with UPBGE 0.3. +.. + ``Game Name / Creator Name:`` Spaceship Test by Atomic Skill produced with UPBGE 0.3. .. youtube:: Ji9NO_gtvQU diff --git a/source/manual/logic_nodes/animation/animation_status.rst b/source/manual/logic_nodes/animation/animation_status.rst new file mode 100644 index 00000000..66fc5e09 --- /dev/null +++ b/source/manual/logic_nodes/animation/animation_status.rst @@ -0,0 +1,31 @@ +.. _ln-animation_status: + +.. figure:: /images/logic_nodes/animation/ln-animation_status.png + :align: right + :width: 215 + :alt: Animation Status Node + +====================== +Animation Status +====================== + +Inputs +++++++ + +Object + Which object to use. Type in or picker-select. + +Layer + todo + +Outputs ++++++++ + +Is Playing + *True* if animation is playing. + +Action Name + Resulting name of the animation. + +Action Frame + todo diff --git a/source/manual/logic_nodes/animation/armature_rig/bone_status.rst b/source/manual/logic_nodes/animation/armature_rig/bone_status.rst new file mode 100644 index 00000000..291f08db --- /dev/null +++ b/source/manual/logic_nodes/animation/armature_rig/bone_status.rst @@ -0,0 +1,31 @@ +.. _ln-bone_status: + +.. figure:: /images/logic_nodes/animation/armature_rig/ln-bone_status.png + :align: right + :width: 215 + :alt: Bone Status Node + +============================== +Bone Status +============================== + +Inputs +++++++ + +Armature Object + Which object to inspect. + +Bone Name + String representation of a desired bone. + +Outputs ++++++++ + +Position + todo + +Rotation + todo + +Scale + todo diff --git a/source/manual/logic_nodes/animation/armature_rig/index.rst b/source/manual/logic_nodes/animation/armature_rig/index.rst new file mode 100644 index 00000000..8439edc4 --- /dev/null +++ b/source/manual/logic_nodes/animation/armature_rig/index.rst @@ -0,0 +1,11 @@ +.. _ln-animation-armature_rig-index: + +============== +Armature / Rig +============== + +.. toctree:: + :maxdepth: 1 + + bone_status + set_bone_position diff --git a/source/manual/logic_nodes/animation/armature_rig/set_bone_position.rst b/source/manual/logic_nodes/animation/armature_rig/set_bone_position.rst new file mode 100644 index 00000000..b28c8972 --- /dev/null +++ b/source/manual/logic_nodes/animation/armature_rig/set_bone_position.rst @@ -0,0 +1,31 @@ +.. _ln-set_bone_position: + +.. figure:: /images/logic_nodes/animation/armature_rig/ln-set_bone_position.png + :align: right + :width: 215 + :alt: Set Bone Position Node + +============================== +Set Bone Position +============================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Armature + Which armature to use. + +Bone Name + String representation of bone to use. + +Set Pos + Vector representation of position to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfuly. diff --git a/source/manual/logic_nodes/animation/bone_constraints/index.rst b/source/manual/logic_nodes/animation/bone_constraints/index.rst new file mode 100644 index 00000000..c917b137 --- /dev/null +++ b/source/manual/logic_nodes/animation/bone_constraints/index.rst @@ -0,0 +1,12 @@ +.. _logic_nodes-animation-bone_constraints: + +================ +Bone Constraints +================ + +.. toctree:: + :maxdepth: 1 + + set_attribute + set_influence + set_target diff --git a/source/manual/logic_nodes/animation/bone_constraints/set_attribute.rst b/source/manual/logic_nodes/animation/bone_constraints/set_attribute.rst new file mode 100644 index 00000000..9424910f --- /dev/null +++ b/source/manual/logic_nodes/animation/bone_constraints/set_attribute.rst @@ -0,0 +1,37 @@ +.. _logic_nodes-set_attribute: + +.. figure:: /images/logic_nodes/animation/bone_constraints/ln-set_attribute.png + :align: right + :width: 215 + :alt: Set Attribute Node + +============================== +Set Attribute +============================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Armature + Which armature to use. + +No Armature + todo + +No Bone + todo + +Attribute + Name of the attribute to be set. + +Value + Type and value to set. + +Outputs ++++++++ + +Done + *True* if node performs successfully. diff --git a/source/manual/logic_nodes/animation/bone_constraints/set_influence.rst b/source/manual/logic_nodes/animation/bone_constraints/set_influence.rst new file mode 100644 index 00000000..17397eda --- /dev/null +++ b/source/manual/logic_nodes/animation/bone_constraints/set_influence.rst @@ -0,0 +1,34 @@ +.. _logic_nodes-set_influence: + +.. figure:: /images/logic_nodes/animation/bone_constraints/ln-set_influence.png + :align: right + :width: 215 + :alt: Set Influence Node + +====================== +Set Influence +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Armature + Which armature object to use. + +No Armature + todo + +No Bone + todo + +Influence + Influence of the bone, ranged 0-1. + +Outputs ++++++++ + +Done + *True* if node performs successfully, else *False*. diff --git a/source/manual/logic_nodes/animation/bone_constraints/set_target.rst b/source/manual/logic_nodes/animation/bone_constraints/set_target.rst new file mode 100644 index 00000000..3c471dc1 --- /dev/null +++ b/source/manual/logic_nodes/animation/bone_constraints/set_target.rst @@ -0,0 +1,34 @@ +.. _logic_nodes-set_target: + +.. figure:: /images/logic_nodes/animation/bone_constraints/ln-set_target.png + :align: right + :width: 215 + :alt: Set Target Node + +============================== +Set Target +============================== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Armature + Which armature to use. + +No Armature + todo + +No Bone + todo + +Target + Which object to use as target. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/animation/index.rst b/source/manual/logic_nodes/animation/index.rst new file mode 100644 index 00000000..b6f479ed --- /dev/null +++ b/source/manual/logic_nodes/animation/index.rst @@ -0,0 +1,15 @@ +.. _ln-animation-index: + +========= +Animation +========= + +.. toctree:: + :maxdepth: 1 + + play_animation + stop_animation + set_animation_frame + animation_status + armature_rig/index + bone_constraints/index diff --git a/source/manual/logic_nodes/animation/play_animation.rst b/source/manual/logic_nodes/animation/play_animation.rst new file mode 100644 index 00000000..bc9d254d --- /dev/null +++ b/source/manual/logic_nodes/animation/play_animation.rst @@ -0,0 +1,61 @@ +.. _ln-play_animation: + +.. figure:: /images/logic_nodes/animation/ln-play_animation.png + :align: right + :width: 215 + :alt: Play Animation Node + +====================== +Play Animation +====================== + +Inputs +++++++ + +Condition + If connected, required condition must be present for node to act. + +Object / Armature + Which object will receive animation. + +Action + Which action will be played. + +Start + Start of animation. todo + +End + End of animation. todo + +Layer + Animation layer. todo + +Play + Play mode to be used for animation. + +Layer Weight + todo + +Speed + Playing speed of animation. + +Blending + Blending strength. todo + +Blend Mode + todo + +Outputs ++++++++ + +Started + *True* if animation started. + +Running + *True* if animation is running. + +On Finish + What to do when animation ends. + +Current Frame + Integer of the current frame of animation. diff --git a/source/manual/logic_nodes/animation/set_animation_frame.rst b/source/manual/logic_nodes/animation/set_animation_frame.rst new file mode 100644 index 00000000..7ffa677b --- /dev/null +++ b/source/manual/logic_nodes/animation/set_animation_frame.rst @@ -0,0 +1,40 @@ +.. _ln-set_animation_frame: + +.. figure:: /images/logic_nodes/animation/ln-set_animation_frame.png + :align: right + :width: 215 + :alt: Set Animation Frame Node + +====================== +Set Animation Frame +====================== + +Inputs +++++++ + +Condition + Condition which is required for node to activate. + +Object + Object for which to set animation frame. + +Action + Which animation action to use. + +Layer + todo + +Frame + Which frame to set. + +Freeze + If checked (True), the animation will be freezed. todo + +Layer Weight + todo + +Outputs ++++++++ + +Done + *True* if animation finished successfully. diff --git a/source/manual/logic_nodes/animation/stop_animation.rst b/source/manual/logic_nodes/animation/stop_animation.rst new file mode 100644 index 00000000..9750e2a4 --- /dev/null +++ b/source/manual/logic_nodes/animation/stop_animation.rst @@ -0,0 +1,28 @@ +.. _ln-stop_animation: + +.. figure:: /images/logic_nodes/animation/ln-stop_animation.png + :align: right + :width: 215 + :alt: Stop Animation Node + +====================== +Stop Animation +====================== + +Inputs +++++++ + +Condition + If connected, certain condition is required for node to activate. + +Object + Which object will be used stop animating. + +Animation Layer + Which layer is used. + +Outputs ++++++++ + +Done + *True* if animation is stopped successfully. diff --git a/source/manual/logic_nodes/data/dict/dictionary_from_items.rst b/source/manual/logic_nodes/data/dict/dictionary_from_items.rst new file mode 100644 index 00000000..86fa7e8d --- /dev/null +++ b/source/manual/logic_nodes/data/dict/dictionary_from_items.rst @@ -0,0 +1,25 @@ +.. _ln-dictionary_from_items: + +.. figure:: /images/logic_nodes/data/dict/ln-dictionary_from_items.png + :align: right + :width: 215 + :alt: Dictionary From Items Node + +===================== +Dictionary From Items +===================== + +Inputs ++++++++ + +Key + Name for dictionary key. + +String + Type and value to be paired with matching key. + +Outputs ++++++++ + +Dictionary + Dictionary will be created and its data passed out. todo diff --git a/source/manual/logic_nodes/data/dict/get_dictionary_key.rst b/source/manual/logic_nodes/data/dict/get_dictionary_key.rst new file mode 100644 index 00000000..f77b5e79 --- /dev/null +++ b/source/manual/logic_nodes/data/dict/get_dictionary_key.rst @@ -0,0 +1,28 @@ +.. _ln-get_dictionary_key: + +.. figure:: /images/logic_nodes/data/dict/ln-get_dictionary_key.png + :align: right + :width: 215 + :alt: Get Dictionary Key Node + +===================== +Get Dictionary Key +===================== + +Inputs ++++++++ + +Dictionary + Which dictionary to use. + +Key + Which key to search for. + +Default Value + If default value is to be used. todo + +Outputs ++++++++ + +Property Value + Resulting value matching the input conditions. diff --git a/source/manual/logic_nodes/data/dict/index.rst b/source/manual/logic_nodes/data/dict/index.rst new file mode 100644 index 00000000..1f0877ea --- /dev/null +++ b/source/manual/logic_nodes/data/dict/index.rst @@ -0,0 +1,14 @@ +.. _ln-data-dict-index: + +====== +Dict +====== + +.. toctree:: + :maxdepth: 1 + + new_dictionary + dictionary_from_items + get_dictionary_key + set_dictionary_key + remove_dictionary_key diff --git a/source/manual/logic_nodes/data/dict/new_dictionary.rst b/source/manual/logic_nodes/data/dict/new_dictionary.rst new file mode 100644 index 00000000..35b1e049 --- /dev/null +++ b/source/manual/logic_nodes/data/dict/new_dictionary.rst @@ -0,0 +1,18 @@ +.. _ln-new_dictionary: + +.. figure:: /images/logic_nodes/data/dict/ln-new_dictionary.png + :align: right + :width: 215 + :alt: New Dictionary Node + +================= +New Dictionary +================= + +todo + +Outputs ++++++++ + +Dictionary + Creates new empty dictionary. diff --git a/source/manual/logic_nodes/data/dict/remove_dictionary_key.rst b/source/manual/logic_nodes/data/dict/remove_dictionary_key.rst new file mode 100644 index 00000000..d2ba92e7 --- /dev/null +++ b/source/manual/logic_nodes/data/dict/remove_dictionary_key.rst @@ -0,0 +1,37 @@ +.. _ln-remove_dictionary_key: + +.. figure:: /images/logic_nodes/data/dict/ln-remove_dictionary_key.png + :align: right + :width: 215 + :alt: Remove Dictionary Key Node + +===================== +Remove Dictionary Key +===================== + +Inputs ++++++++ + +Condition + If connected, condition must be fullfiled for node to activate. + +Dictionary + Which dictionary to use. + +Key + Which key will be removed from above dictionary. + +Outputs ++++++++ + +Done + *True* if node performs successfully, else *False*. + +Dictionary + Resulting dictionary after removal. + +Value + Value that was removed. todo + +.. note:: + Socket in diamond shape indicates dictionary. diff --git a/source/manual/logic_nodes/data/dict/set_dictionary_key.rst b/source/manual/logic_nodes/data/dict/set_dictionary_key.rst new file mode 100644 index 00000000..14b0b31c --- /dev/null +++ b/source/manual/logic_nodes/data/dict/set_dictionary_key.rst @@ -0,0 +1,34 @@ +.. _ln-set_dictionary_key: + +.. figure:: /images/logic_nodes/data/dict/ln-set_dictionary_key.png + :align: right + :width: 215 + :alt: Set Dictionary Key Node + +===================== +Set Dictionary Key +===================== + +Inputs ++++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Dictionary + Which dictionary will be used. + +Key + Which key will be set. todo + +Type + Which type and value to set. + +Outputs ++++++++ + +Done + *True* if node performs successfully, else *False*. + +Dictionary + Resulting dictionary. todo diff --git a/source/manual/logic_nodes/data/index.rst b/source/manual/logic_nodes/data/index.rst new file mode 100644 index 00000000..190427b4 --- /dev/null +++ b/source/manual/logic_nodes/data/index.rst @@ -0,0 +1,14 @@ +.. _ln-data-index: + +====== +Data +====== + +.. toctree:: + :maxdepth: 1 + + list/index + dict/index + variables/index + load_scene + load_file_content diff --git a/source/manual/logic_nodes/data/list/append.rst b/source/manual/logic_nodes/data/list/append.rst new file mode 100644 index 00000000..89e2ed84 --- /dev/null +++ b/source/manual/logic_nodes/data/list/append.rst @@ -0,0 +1,34 @@ +.. _ln-append: + +.. figure:: /images/logic_nodes/data/list/ln-append.png + :align: right + :width: 215 + :alt: Append Node + +================= +Append +================= + +Inputs ++++++++ + +Condition + Condition to be fulfilled for node to activate. + +List + Which list to append to. + +Type + Type and the value to append. + +Outputs ++++++++ + +Done + *True* if node performs successfully, else *False*. + +List + Resulting list. + +.. note:: + Square socket indicates a list. diff --git a/source/manual/logic_nodes/data/list/duplicate.rst b/source/manual/logic_nodes/data/list/duplicate.rst new file mode 100644 index 00000000..a53b5f07 --- /dev/null +++ b/source/manual/logic_nodes/data/list/duplicate.rst @@ -0,0 +1,24 @@ +.. _ln-duplicate: + +.. figure:: /images/logic_nodes/data/list/ln-duplicate.png + :align: right + :width: 215 + :alt: Duplicate Node + +===================== +Duplicate +===================== + +todo + +Inputs ++++++++ + +List + Which list to duplicate. + +Outputs ++++++++ + +List + Resulting duplicated list. diff --git a/source/manual/logic_nodes/data/list/extend.rst b/source/manual/logic_nodes/data/list/extend.rst new file mode 100644 index 00000000..8c28f9d2 --- /dev/null +++ b/source/manual/logic_nodes/data/list/extend.rst @@ -0,0 +1,27 @@ +.. _ln-extend: + +.. figure:: /images/logic_nodes/data/list/ln-extend.png + :align: right + :width: 215 + :alt: Extend Node + +================= +Extend +================= + +Will extend one list with another. todo + +Inputs ++++++++ + +List 1 + List to be extended. todo + +List 2 + List to use for extending. todo + +Outputs ++++++++ + +List + Resulting combined list from *List 1* and *List 2*. diff --git a/source/manual/logic_nodes/data/list/get_list_index.rst b/source/manual/logic_nodes/data/list/get_list_index.rst new file mode 100644 index 00000000..e0476616 --- /dev/null +++ b/source/manual/logic_nodes/data/list/get_list_index.rst @@ -0,0 +1,27 @@ +.. _ln-get_list_index: + +.. figure:: /images/logic_nodes/data/list/ln-get_list_index.png + :align: right + :width: 215 + :alt: Get List Index Node + +================= +Get List Index +================= + +Retrieve value at specifiend index of the list. + +Inputs ++++++++ + +List + List to be used. + +Index + Which index to get. + +Outputs ++++++++ + +Value + Resulting value at index from list. diff --git a/source/manual/logic_nodes/data/list/get_random_list_item.rst b/source/manual/logic_nodes/data/list/get_random_list_item.rst new file mode 100644 index 00000000..29379ca9 --- /dev/null +++ b/source/manual/logic_nodes/data/list/get_random_list_item.rst @@ -0,0 +1,22 @@ +.. _ln-get_random_list_item: + +.. figure:: /images/logic_nodes/data/list/ln-get_random_list_item.png + :align: right + :width: 215 + :alt: Get Random List Item Node + +===================== +Get Random List Item +===================== + +Inputs ++++++++ + +List + Which list to use for getting a random item. + +Outputs ++++++++ + +Value + A value of the random item from the list. diff --git a/source/manual/logic_nodes/data/list/index.rst b/source/manual/logic_nodes/data/list/index.rst new file mode 100644 index 00000000..0283ef16 --- /dev/null +++ b/source/manual/logic_nodes/data/list/index.rst @@ -0,0 +1,19 @@ +.. _ln-data-list-index: + +====== +List +====== + +.. toctree:: + :maxdepth: 1 + + new_list + list_from_items + append + extend + remove_index + remove_value + get_list_index + set_list_index + get_random_list_item + duplicate diff --git a/source/manual/logic_nodes/data/list/list_from_items.rst b/source/manual/logic_nodes/data/list/list_from_items.rst new file mode 100644 index 00000000..04b9d9c1 --- /dev/null +++ b/source/manual/logic_nodes/data/list/list_from_items.rst @@ -0,0 +1,31 @@ +.. _ln-list_from_items: + +.. figure:: /images/logic_nodes/data/list/ln-list_from_items.png + :align: right + :width: 215 + :alt: List From Items Node + +================= +List From Items +================= + +Parameters +++++++++++ + +Add Socket + Will add another socket for additional items. + +Inputs ++++++++ + +Item + First item to add to list. + +Item + Second item to add. + +Outputs ++++++++ + +List + Resulting populated list with added items. diff --git a/source/manual/logic_nodes/data/list/new_list.rst b/source/manual/logic_nodes/data/list/new_list.rst new file mode 100644 index 00000000..a425c7da --- /dev/null +++ b/source/manual/logic_nodes/data/list/new_list.rst @@ -0,0 +1,22 @@ +.. _ln-new_list: + +.. figure:: /images/logic_nodes/data/list/ln-new_list.png + :align: right + :width: 215 + :alt: New List Node + +================= +New List +================= + +Inputs ++++++++ + +Length + List length - how many items will it have. + +Outputs ++++++++ + +List + Resulting empty list of specified length. diff --git a/source/manual/logic_nodes/data/list/remove_index.rst b/source/manual/logic_nodes/data/list/remove_index.rst new file mode 100644 index 00000000..e8ac1e9b --- /dev/null +++ b/source/manual/logic_nodes/data/list/remove_index.rst @@ -0,0 +1,31 @@ +.. _ln-remove_index: + +.. figure:: /images/logic_nodes/data/list/ln-remove_index.png + :align: right + :width: 215 + :alt: Remove Index Node + +================= +Remove Index +================= + +Inputs ++++++++ + +Condition + Condition to be fulfilled for node to be activated. + +List + List to be used. + +Index + Which index to remove from above list. + +Outputs ++++++++ + +Done + *True* if removal of index is successful, else *False*. + +List + Resulting list after removal. diff --git a/source/manual/logic_nodes/data/list/remove_value.rst b/source/manual/logic_nodes/data/list/remove_value.rst new file mode 100644 index 00000000..be9ba3db --- /dev/null +++ b/source/manual/logic_nodes/data/list/remove_value.rst @@ -0,0 +1,31 @@ +.. _ln-remove_value: + +.. figure:: /images/logic_nodes/data/list/ln-remove_value.png + :align: right + :width: 215 + :alt: Remove Value Node + +================= +Remove Value +================= + +Inputs ++++++++ + +Condition + Condition to be fulfilled for node to activate. + +List + Which list to use. + +Type + Which type and value to remove from list. + +Outputs ++++++++ + +Done + *True* if value is removed, else *False*. + +List + Resulting list after value removal. diff --git a/source/manual/logic_nodes/data/list/set_list_index.rst b/source/manual/logic_nodes/data/list/set_list_index.rst new file mode 100644 index 00000000..4b8b91f9 --- /dev/null +++ b/source/manual/logic_nodes/data/list/set_list_index.rst @@ -0,0 +1,34 @@ +.. _ln-set_list_index: + +.. figure:: /images/logic_nodes/data/list/ln-set_list_index.png + :align: right + :width: 215 + :alt: Set List Index Node + +================= +Set List Index +================= + +Inputs ++++++++ + +Conditon + If connected, a condition must be fulfilled for note to activate. + +List + Which list to use. + +Index + Which index to set. + +Type + Which type and value to set for above list. + +Outputs ++++++++ + +Done + *True* if node sets an index successfully, else *False*. + +List + Resulting list after setting the index. diff --git a/source/manual/logic_nodes/data/load_file_content.rst b/source/manual/logic_nodes/data/load_file_content.rst new file mode 100644 index 00000000..9b96e778 --- /dev/null +++ b/source/manual/logic_nodes/data/load_file_content.rst @@ -0,0 +1,34 @@ +.. _ln-load_file_content: + +.. figure:: /images/logic_nodes/data/ln-load_file_content.png + :align: right + :width: 215 + :alt: Load File Content Node + +================= +Load File Content +================= + +Inputs ++++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Outputs ++++++++ + +Loaded + *True* if node executed properly, else *False*. todo + +Updated + todo + +Status + todo + +Datatype + Type of data that was loaded, represented as string. todo + +Item + todo diff --git a/source/manual/logic_nodes/data/load_scene.rst b/source/manual/logic_nodes/data/load_scene.rst new file mode 100644 index 00000000..b0eeb2e8 --- /dev/null +++ b/source/manual/logic_nodes/data/load_scene.rst @@ -0,0 +1,37 @@ +.. _ln-load_scene: + +.. figure:: /images/logic_nodes/data/ln-load_scene.png + :align: right + :width: 215 + :alt: Load Scene Node + +========== +Load Scene +========== + +Inputs ++++++++ + +Condition + Which condition will be used for node to activate. + +Scene + Which scene to load. + +Outputs ++++++++ + +Loaded + *True* if node executed properly. todo + +Updated + todo + +Status + todo + +Datatype + Type of data that was loaded, represented as string. todo + +Item + todo diff --git a/source/manual/logic_nodes/data/variables/clear_variables.rst b/source/manual/logic_nodes/data/variables/clear_variables.rst new file mode 100644 index 00000000..d0bf0d01 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/clear_variables.rst @@ -0,0 +1,31 @@ +.. _ln-clear_variables: + +.. figure:: /images/logic_nodes/data/variables/ln-clear_variables.png + :align: right + :width: 215 + :alt: Clear Variables Node + +================== +Clear Variables +================== + +Parameters +++++++++++ + +File Path/Data + Path to file/data. todo + +Inputs ++++++++ + +Conditon + Which condition must be fulfilled for node to activate. + +Filename + Which file to use for clearing. todo + +Outputs ++++++++ + +Done + *True* if variables have been cleared successfully, else *False*. diff --git a/source/manual/logic_nodes/data/variables/index.rst b/source/manual/logic_nodes/data/variables/index.rst new file mode 100644 index 00000000..fabe8da6 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/index.rst @@ -0,0 +1,16 @@ +.. _ln-data-variables-index: + +========= +Variables +========= + +.. toctree:: + :maxdepth: 1 + + load_variable + save_variable + remove_variable + load_variable_dict + save_variable_dict + clear_variables + list_saved_variables diff --git a/source/manual/logic_nodes/data/variables/list_saved_variables.rst b/source/manual/logic_nodes/data/variables/list_saved_variables.rst new file mode 100644 index 00000000..101acd55 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/list_saved_variables.rst @@ -0,0 +1,37 @@ +.. _ln-list_saved_variables: + +.. figure:: /images/logic_nodes/data/variables/ln-list_saved_variables.png + :align: right + :width: 215 + :alt: List Saved Variables Node + +==================== +List Saved Variables +==================== + +Parameters +++++++++++ + +File Path/Data + Path to file to be used. + +Inputs ++++++++ + +Condition + Which condition will be used for node to activate. If checked, always *True*. todo + +Filename + File name to read from. + +Print + If checked, list will be printed. todo + +Outputs ++++++++ + +Done + *True* if listing is performed, else *False*. + +List + Resulting list of saved variables. diff --git a/source/manual/logic_nodes/data/variables/load_variable.rst b/source/manual/logic_nodes/data/variables/load_variable.rst new file mode 100644 index 00000000..84dca511 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/load_variable.rst @@ -0,0 +1,34 @@ +.. _ln-load_variable: + +.. figure:: /images/logic_nodes/data/variables/ln-load_variable.png + :align: right + :width: 215 + :alt: Load Variable Node + +================= +Load Variable +================= + +Parameters +++++++++++ + +File Path/Data + Path to file/data to load. + +Inputs ++++++++ + +Filename + File name to load from. + +Name + Which variable to load. + +Default Value + If connected, that value will be used as default. todo + +Outputs ++++++++ + +Value + Resulting value that was loaded. diff --git a/source/manual/logic_nodes/data/variables/load_variable_dict.rst b/source/manual/logic_nodes/data/variables/load_variable_dict.rst new file mode 100644 index 00000000..ea9c4fa8 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/load_variable_dict.rst @@ -0,0 +1,28 @@ +.. _ln-load_variable_dict: + +.. figure:: /images/logic_nodes/data/variables/ln-load_variable_dict.png + :align: right + :width: 215 + :alt: Load Variable Dict Node + +================== +Load Variable Dict +================== + +Parameters +++++++++++ + +File Path/Data + Path to file/data to be used. + +Inputs ++++++++ + +Filename + File name of loaded . todo + +Outputs ++++++++ + +Variables + Resulting loaded variables dictionary. diff --git a/source/manual/logic_nodes/data/variables/remove_variable.rst b/source/manual/logic_nodes/data/variables/remove_variable.rst new file mode 100644 index 00000000..d1f827d8 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/remove_variable.rst @@ -0,0 +1,34 @@ +.. _ln-remove_variable: + +.. figure:: /images/logic_nodes/data/variables/ln-remove_variable.png + :align: right + :width: 215 + :alt: Remove Variable Node + +================= +Remove Variable +================= + +Parameters +++++++++++ + +File Path/Data + Path to file to be used. + +Inputs ++++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Filename + File name to be used. + +Name + Variable name to be removed. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/data/variables/save_variable.rst b/source/manual/logic_nodes/data/variables/save_variable.rst new file mode 100644 index 00000000..8595f552 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/save_variable.rst @@ -0,0 +1,37 @@ +.. _ln-save_variable: + +.. figure:: /images/logic_nodes/data/variables/ln-save_variable.png + :align: right + :width: 215 + :alt: Save Variable Node + +================= +Save Variable +================= + +Parameters +++++++++++ + +File Path/Data + Path to file to be used. + +Inputs ++++++++ + +Condition + Which condition will be used for node to activate. + +Filename + File name to save to. + +Variable + Which variable to save. + +Type + Which type and value to save. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/data/variables/save_variable_dict.rst b/source/manual/logic_nodes/data/variables/save_variable_dict.rst new file mode 100644 index 00000000..b14f7455 --- /dev/null +++ b/source/manual/logic_nodes/data/variables/save_variable_dict.rst @@ -0,0 +1,34 @@ +.. _ln-save_variable_dict: + +.. figure:: /images/logic_nodes/data/variables/ln-save_variable_dict.png + :align: right + :width: 215 + :alt: Save Variable Dict Node + +================== +Save Variable Dict +================== + +Parameters +++++++++++ + +File Path/Data + Path to file to be saved. todo + +Inputs ++++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Filename + File name to read from. todo + +Variables + Dictionary of variables to save. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/events/custom/index.rst b/source/manual/logic_nodes/events/custom/index.rst new file mode 100644 index 00000000..92a0d9b6 --- /dev/null +++ b/source/manual/logic_nodes/events/custom/index.rst @@ -0,0 +1,11 @@ +.. _ln-events-custom-index: + +====== +Custom +====== + +.. toctree:: + :maxdepth: 1 + + receive_event + send_event diff --git a/source/manual/logic_nodes/events/custom/receive_event.rst b/source/manual/logic_nodes/events/custom/receive_event.rst new file mode 100644 index 00000000..95a0196c --- /dev/null +++ b/source/manual/logic_nodes/events/custom/receive_event.rst @@ -0,0 +1,34 @@ +.. _ln-receive_event: + +.. figure:: /images/logic_nodes/events/ln-receive_event.png + :align: right + :width: 215 + :alt: Receive Event Node + +============================= +Receive Event +============================= + +Reacts to events sent via the :doc:`./send_event` node or the *Uplogic* module. An event can store some data, which can be extracted using this node. + +Inputs +++++++ + +Subject + The ID of the event. + +Outputs ++++++++ + +Received + *True* if an event has been found, else *False*. + +Content + Content of this event, can be anything. + +Messenger + Messenger of this event, expected to be a ``KX_GameObject``. + +.. important:: + + If multiple events have the same ID (subject), older events are overwritten. diff --git a/source/manual/logic_nodes/events/custom/send_event.rst b/source/manual/logic_nodes/events/custom/send_event.rst new file mode 100644 index 00000000..fd03042d --- /dev/null +++ b/source/manual/logic_nodes/events/custom/send_event.rst @@ -0,0 +1,43 @@ +.. _ln-send_event: + +.. figure:: /images/logic_nodes/events/ln-send_event.png + :align: right + :width: 215 + :alt: Send Event Node + +=============== +Send Event +=============== + +Creates an event that can be reacted to, using the :doc:`./receive_event` node or the *Uplogic* module. An event can store *Content*, and a *Messenger* can be assigned. + +Properties +++++++++++ + +Advanced + Enables access to the *Content* and *Messenger* sockets. + +Inputs +++++++ + +Condition + If *True*, the event is created. + +Subject + The ID of the Event. + +Content + Content of this event. Can be anything. Visible only if *Advanced* is selected. + +Messenger + Messenger attached to this event, expected to be ``KX_GameObject``. Visible only if *Advanced* is selected. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. + +.. important:: + + Events are only created for the next frame. After that, they are erased. If multiple events have the same ID (subject), older events are overwritten. diff --git a/source/manual/logic_nodes/events/index.rst b/source/manual/logic_nodes/events/index.rst new file mode 100644 index 00000000..8af057ec --- /dev/null +++ b/source/manual/logic_nodes/events/index.rst @@ -0,0 +1,16 @@ +.. _ln-events-index: + +====== +Events +====== + +.. toctree:: + :maxdepth: 1 + + on_init + on_update + on_next_frame + on_value_changed_to + on_value_changed + once + custom/index diff --git a/source/manual/logic_nodes/events/on_init.rst b/source/manual/logic_nodes/events/on_init.rst new file mode 100644 index 00000000..6acd3671 --- /dev/null +++ b/source/manual/logic_nodes/events/on_init.rst @@ -0,0 +1,18 @@ +.. _ln-on_init: + +.. figure:: /images/logic_nodes/events/ln-on_init.png + :align: right + :width: 215 + :alt: On Init Node + +========== +On Init +========== + +Used to set up a scene. It activates only on the first frame - game initialization. + +Outputs ++++++++ + +Out + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/events/on_next_frame.rst b/source/manual/logic_nodes/events/on_next_frame.rst new file mode 100644 index 00000000..31d3b524 --- /dev/null +++ b/source/manual/logic_nodes/events/on_next_frame.rst @@ -0,0 +1,24 @@ +.. _ln-on_next_frame: + +.. figure:: /images/logic_nodes/events/ln-on_next_frame.png + :align: right + :width: 215 + :alt: On Next Frame Node + +============= +On Next Frame +============= + +Delays a condition by one tick/frame. + +Inputs +++++++ + +Condition + If *True*, the condition is reserved until the next tick/frame. + +Outputs ++++++++ + +Out + *True* one tick/frame after the *Condition* socket is activated. diff --git a/source/manual/logic_nodes/events/on_update.rst b/source/manual/logic_nodes/events/on_update.rst new file mode 100644 index 00000000..9f724e4e --- /dev/null +++ b/source/manual/logic_nodes/events/on_update.rst @@ -0,0 +1,22 @@ +.. _ln-on_update: + +.. figure:: /images/logic_nodes/events/ln-on_update.png + :align: right + :width: 215 + :alt: On Update Node + +=========== +On Update +=========== + +Activates each frame. It is used to continuously do something. It is node equivalent to the :doc:`/manual/logic/sensors/types/always`. + +Outputs ++++++++ + +Out + *True* on each frame. + +.. note:: + + *On Update* can be expensive depending on the logic attached to it, and should only be used if necessary. diff --git a/source/manual/logic_nodes/events/on_value_changed.rst b/source/manual/logic_nodes/events/on_value_changed.rst new file mode 100644 index 00000000..fdb62584 --- /dev/null +++ b/source/manual/logic_nodes/events/on_value_changed.rst @@ -0,0 +1,30 @@ +.. _ln-on_value_changed: + +.. figure:: /images/logic_nodes/events/ln-on_value_changed.png + :align: right + :width: 215 + :alt: On Value Changed Node + +================ +On Value Changed +================ + +Stores a value internally, and as soon as a value other than the stored one is pulled through the input, it activates. Then the new value is stored. + +Inputs +++++++ + +Value + Connected value is pulled each frame. + +Outputs ++++++++ + +If Changed + *True* if the new value is different from the stored one, else *False*. + +Old + The stored value. + +New + The value pulled from the input socket. diff --git a/source/manual/logic_nodes/events/on_value_changed_to.rst b/source/manual/logic_nodes/events/on_value_changed_to.rst new file mode 100644 index 00000000..b9b7429b --- /dev/null +++ b/source/manual/logic_nodes/events/on_value_changed_to.rst @@ -0,0 +1,27 @@ +.. _ln-on_value_changed_to: + +.. figure:: /images/logic_nodes/events/ln-on_value_changed_to.png + :align: right + :width: 215 + :alt: On Value Changed To Node + +=================== +On Value Changed To +=================== + +Stores a value internally, and as soon as the value pulled through the input matches the target value, it activates. Then the new value is stored. + +Inputs +++++++ + +Value + The connected value is pulled each frame. + +Target + Compare the new value to this value. + +Outputs ++++++++ + +Result + *True* if the new value matches the target, else *False*. diff --git a/source/manual/logic_nodes/events/once.rst b/source/manual/logic_nodes/events/once.rst new file mode 100644 index 00000000..5a0afcd0 --- /dev/null +++ b/source/manual/logic_nodes/events/once.rst @@ -0,0 +1,39 @@ +.. _ln-once: + +.. figure:: /images/logic_nodes/events/ln-once.png + :align: right + :width: 215 + :alt: Once Node + +========== +Once +========== + +Restricts a continuous *True* condition to only the first frame. + +Inputs ++++++++ + +Condition + Input condition. + +Repeat + Allow another activation after the input condition is reset to *False*. + +Outputs ++++++++ + +Out + *True* for the first frame of a *True* input condition, else *False*. + +Example ++++++++ + +.. figure:: /images/logic_nodes/events/ln-once-example.png + :align: center + :width: 500 + :alt: Once Node Example + + Once Node Example + +:doc:`./on_update` linked to *Once* node would be equal to :doc:`./on_init`. diff --git a/source/manual/logic_nodes/file/get_font.rst b/source/manual/logic_nodes/file/get_font.rst new file mode 100644 index 00000000..d890fd27 --- /dev/null +++ b/source/manual/logic_nodes/file/get_font.rst @@ -0,0 +1,22 @@ +.. _ln-get_font: + +.. figure:: /images/logic_nodes/file/ln-get_font.png + :align: right + :width: 215 + :alt: Get Font Node + +================= +Get Font +================= + +Inputs ++++++++ + +Font + Font to get. Load with *Folder* icon and select/set from selection menu. + +Outputs ++++++++ + +Font + Resulting font. todo diff --git a/source/manual/logic_nodes/file/get_image.rst b/source/manual/logic_nodes/file/get_image.rst new file mode 100644 index 00000000..d24041ac --- /dev/null +++ b/source/manual/logic_nodes/file/get_image.rst @@ -0,0 +1,22 @@ +.. _ln-get_image: + +.. figure:: /images/logic_nodes/file/ln-get_image.png + :align: right + :width: 215 + :alt: Get Image Node + +================= +Get Image +================= + +Inputs ++++++++ + +Image + Image to get. Load with *Folder* icon and select/set from selection menu. + +Outputs ++++++++ + +Image + Resulting image data. diff --git a/source/manual/logic_nodes/file/get_sound.rst b/source/manual/logic_nodes/file/get_sound.rst new file mode 100644 index 00000000..a9e2d6ce --- /dev/null +++ b/source/manual/logic_nodes/file/get_sound.rst @@ -0,0 +1,22 @@ +.. _ln-get_sound: + +.. figure:: /images/logic_nodes/file/ln-get_sound.png + :align: right + :width: 215 + :alt: Get Sound Node + +================= +Get Sound +================= + +Inputs ++++++++ + +Sound File + *Sound File* to get. If node is connected todo, else load with *Folder* icon and select/set from selection dropdown. + +Outputs ++++++++ + +Sound File + Resulting sound file. diff --git a/source/manual/logic_nodes/file/index.rst b/source/manual/logic_nodes/file/index.rst new file mode 100644 index 00000000..950a80ac --- /dev/null +++ b/source/manual/logic_nodes/file/index.rst @@ -0,0 +1,12 @@ +.. _ln-file-index: + +====== +File +====== + +.. toctree:: + :maxdepth: 1 + + get_font + get_image + get_sound diff --git a/source/manual/logic_nodes/game/index.rst b/source/manual/logic_nodes/game/index.rst new file mode 100644 index 00000000..5165f207 --- /dev/null +++ b/source/manual/logic_nodes/game/index.rst @@ -0,0 +1,14 @@ +.. _ln-game-index: + +==== +Game +==== + +.. toctree:: + :maxdepth: 1 + + load_blender_file + load_game + quit_game + restart_game + save_game diff --git a/source/manual/logic_nodes/game/load_blender_file.rst b/source/manual/logic_nodes/game/load_blender_file.rst new file mode 100644 index 00000000..524c0b5b --- /dev/null +++ b/source/manual/logic_nodes/game/load_blender_file.rst @@ -0,0 +1,30 @@ +.. _ln-load_blender_file: + +.. figure:: /images/logic_nodes/game/ln-load_blender_file.png + :align: right + :width: 215 + :alt: Load Blender File Node + +================= +Load Blender File +================= + +This is the in-game equivalent of *File Open*. It loads directly into the runtime version of another .blend file. + +Inputs ++++++++ + +Condition + Input condition needed for node to activate. + +File Name + Full path to the target .blend file; supports relative paths. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. + + .. important:: + Output exists, but is disabled in code, therefore is not visible. diff --git a/source/manual/logic_nodes/game/load_game.rst b/source/manual/logic_nodes/game/load_game.rst new file mode 100644 index 00000000..bcc2e31c --- /dev/null +++ b/source/manual/logic_nodes/game/load_game.rst @@ -0,0 +1,36 @@ +.. _ln-load_game: + +.. figure:: /images/logic_nodes/game/ln-load_game.png + :align: right + :width: 215 + :alt: Load Game Node + +========== +Load Game +========== + +Reads information about the state of the current scene from a previously saved ``.json`` file. + +Parameters +++++++++++ + +File Path/Saves + Path to where the save files are stored. + +Inputs +++++++ + +Condition + Input condition. + +Slot + Index of this save file. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. + +.. important:: + No information is read about which scene is loaded, so this node can only be used per scene. diff --git a/source/manual/logic_nodes/game/quit_game.rst b/source/manual/logic_nodes/game/quit_game.rst new file mode 100644 index 00000000..8a756164 --- /dev/null +++ b/source/manual/logic_nodes/game/quit_game.rst @@ -0,0 +1,18 @@ +.. _ln-quit_game: + +.. figure:: /images/logic_nodes/game/ln-quit_game.png + :align: right + :width: 215 + :alt: Quit Game Node + +=========== +Quit Game +=========== + +Exits the current runtime. In standalone mode it closes the runtime window entirely. + +Inputs +++++++ + +Condition + Input condition which must be fulfilled for node to activate. diff --git a/source/manual/logic_nodes/game/restart_game.rst b/source/manual/logic_nodes/game/restart_game.rst new file mode 100644 index 00000000..6be8f5c7 --- /dev/null +++ b/source/manual/logic_nodes/game/restart_game.rst @@ -0,0 +1,24 @@ +.. _ln-restart_game: + +.. figure:: /images/logic_nodes/game/ln-restart_game.png + :align: right + :width: 215 + :alt: Restart Game Node + +============= +Restart Game +============= + +Reverts the state of the current runtime to it's original version. + +Inputs +++++++ + +Condition + Input condition required for node to activate. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/game/save_game.rst b/source/manual/logic_nodes/game/save_game.rst new file mode 100644 index 00000000..fcad8c3c --- /dev/null +++ b/source/manual/logic_nodes/game/save_game.rst @@ -0,0 +1,36 @@ +.. _ln-save_game: + +.. figure:: /images/logic_nodes/game/ln-save_game.png + :align: right + :width: 215 + :alt: Save Game Node + +========== +Save Game +========== + +Stores information about the state of the scene in a ``.json`` file. + +Parameters +++++++++++ + +File Path/Saves + Path to where the save files are stored. + +Inputs +++++++ + +Condition + Input condition required for node to activate. + +Slot + Index of this save file. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. + +.. important:: + No information is saved about which scene is loaded, so this node can only be used per scene. diff --git a/source/manual/logic_nodes/index.rst b/source/manual/logic_nodes/index.rst index 0beec084..1d963dba 100644 --- a/source/manual/logic_nodes/index.rst +++ b/source/manual/logic_nodes/index.rst @@ -1,11 +1,429 @@ -.. _logic_nodes-index: +.. _ln-index: -+++++++++++ +=========== Logic Nodes -+++++++++++ +=========== .. toctree:: :maxdepth: 2 + :hidden: + + introduction + events/index + game/index + input/index + values/index + animation/index + lights/index + nodes/index + objects/index + scene/index + sound/index + logic/index + math/index + physics/index + python/index + raycasts/index + time/index + data/index + file/index + network/index + render/index + ui/index + utility/index - introduction.rst - nodes/index.rst +This page lists all available *Logic Nodes* in this chapter. There are 6 categories in *Logic Editor* :menuselection:`Add` menu, separated into sub- and sub-sub-menus (click the line to toggle-expand): + +.. collapse:: Events | | Game | | Input | | Values + + * :ref:`ln-events-index` + * On Init + * On Update + * On Next Frame + * On Value Changed To + * On Value Changed + * Once + * **Custom** + * Receive Event + * Send Event + * :ref:`ln-game-index` + * Load Blender File + * Load Game + * Quit Game + * Restart Game + * Save Game + * :ref:`ln-input-index` + * **Mouse** + * Mouse Button + * Mouse Moved + * Mouse Over + * Mouse Status + * Cursor Visibility + * Set Cursor Position + * Mouse Look + * **Keyboard** + * Keyboard Key + * Keyboard Active + * Key Code + * Key Logger + * **Gamepad** + * Gamepad Button + * Gamepad Sticks + * Gamepad Active + * Gamepad Vibrate + * Gamepad Look + * **VR** + * VR Headset + * VR Controller + * :ref:`ln-values-index` + * Boolean + * Float + * Integer + * String + * **Vector** + * Color RGB + * Color RGBA + * Separate XY + * Separate XYZ + * Combine XY + * Combine XYZ + * Combine XYZW + * Euler + * Resize Vector + * **Properties** + * Get Tree Property + * Set Tree Property + * Get Object Property + * Set Object Property + * Object Has Property + * Toggle Object Property + * Modify Object Property + * Evaluate Object Property + * Copy Property From Object + * Get Global Property + * Set Global Property + * Random Value + * Invert + * Formatted String + * File Path + * Store Value + * Value Switch + * Value Switch List + * Value Switch List Compare ( x ) + +| + +.. collapse:: Animation | | Lights | | Nodes | | Objects | | Scene | | Sound + + * :ref:`ln-animation-index` + * Play Animation + * Stop Animation + * Set Animation Frame + * Animation Status + * **Armature / Rig** + * Bone Status + * Set Bone Position + * **Bone Constraints** + * Set Attribute + * Set Influence + * Set Target + * :ref:`ln-lights-index` + * Get Light Color + * Set Light Color + * Get Light Power + * Set Light Power + * Set Light Shadow + * Make Light Unique + * :ref:`ln-nodes-index` + * **Materials** + * Get Node + * Play Sequence + * Get Socket Value + * Set Socket + * Get Node Value + * Set Node Value + * **Geometry** + * Get Socket Value + * Set Socket + * Get Node Value + * Set Node Value + * **Groups** + * Get Socket Value + * Set Socket + * Get Node Value + * Set Node Value + * :ref:`ln-objects-index` + * **Get Attribute** + * Get World Position + * Get World Orientation + * Get World Linear Velocity + * Get World Angular Velocity + * Get World Transform + * Get Local Position + * Get Local Orientation + * Get Local Linear Velocity + * Get Local Angular Velocity + * Get Local Transform + * Get Name + * Get Scale + * Get Color + * **Set Attribute** + * Set World Position + * Set World Orientation + * Set World Linear Velocity + * Set World Angular Velocity + * Set World Transform + * Set Local Position + * Set Local Orientation + * Set Local Linear Velocity + * Set Local Angular Velocity + * Set Local Transform + * Set Scale + * Set Color + * **Transformation** + * Apply Movement + * Apply Rotation + * Apply Force + * Apply Torque + * Apply Impulse + * Align Axis To Vector + * Follow Path + * Move To + * Move To With Navmesh + * Rotate To + * Slow Follow + * **Object Data** + * Get Axis Vector + * Get Object ID + * Get Vertices + * Replace Mesh + * Set Constraint Attribute + * **Curves** + * Get Curve Points + * Set Curve Points + * Add Object + * Remove Object + * Set Visibility + * Get Object + * Get Child By Index + * Get Child By Name + * Get Parent + * Set Parent + * Remove Parent + * Set Material + * Send Message + * Spawn Pool + * :ref:`ln-scene-index` + * **Camera** + * Active Camera + * Set Camera + * Set FOV + * Set Orthographic Scale + * World To Screen + * Screen To World + * **Post FX** + * Add Filter + * Remove Filter + * Set Filter State + * Toggle Filter + * **Collections** + * Get Collection + * Get Object Names + * Get Objects + * Set Collection Visibility + * Set Overlay Collection + * Remove Overlay Collection + * Get Scene + * Set Scene + * Get Gravity + * Set Gravity + * Get Timescale + * Set Timescale + * :ref:`ln-sound-index` + * Start Sound + * Start Speaker + * Pause Sound + * Resume Sound + * Stop Sound + * Stop All Sounds + +| + +.. collapse:: Logic | | Math | | Physics | | Python | | Raycasts | | Time + + * AI ( TODO ) + * :ref:`ln-logic-index` + * **Trees** + * Start Logic Tree + * Run Logic Tree + * Stop Logic Tree + * Add Logic Tree To Object + * Logic Tree Status + * **Bricks** + * Get Sensor Value + * Set Sensor Value + * Get Actuator Value + * Set Actuator Value + * Controller Status + * Sensor Positive + * Gate + * Branch + * Gate List + * Is None + * Not None + * :ref:`ln-math-index` + * Math + * Vector Math + * **Vectors** + * Check Angle + * Vector Rotate + * Absolute Vector + * XYZ To Matrix + * Matrix To XYZ + * Interpolate + * Absolute + * Clamp + * Compare + * Formula + * Map Range + * Treshold + * Ranged Treshold + * Limit Range + * Within Range + * :ref:`ln-physics-index` + * **Vehicle** + * Create New Vehicle + * Accelerate + * Brake + * Set Vehicle Attribute + * Steer + * **Character** + * Walk + * Jump + * Get Physics Info + * Set Jump Force + * Set Max Jumps + * Set Velocity + * Collision + * Set Collision Group + * Set Collision Mask + * Add Constraint + * Remove Constraint + * Set Physics + * Set Gravity + * Set Dynamics + * Set Rigid Body + * :ref:`ln-python-index` + * Run Python Code + * Get Instance Attribute + * Set Object Attribute + * Typecast Value + * :ref:`ln-raycasts-index` + * Raycast + * Mouse Ray + * Camera Ray + * Projectile Ray + * :ref:`ln-time-index` + * Time Data + * Delta Factor + * Delay + * Timer + * Pulsify + * Barrier + +| + +.. collapse:: Data | | File | | Network + + * :ref:`ln-data-index` + * **List** + * New List + * List From Items + * Append + * Extend + * Remove Index + * Remove Value + * Get List Index + * Set List Index + * Get Random List Item + * Duplicate + * **Dict** + * New Dictionary + * Dictionary From Items + * Get Dictionary Key + * Set Dictionary Key + * Remove Dictionary Key + * **Variables** + * Load Variable + * Save Variable + * Remove Variable + * Load Variable Dict + * Save Variable Dict + * Clear Variables + * List Saved Variables + * Load Scene + * Load File Content + * :ref:`ln-file-index` + * Get Font + * Get Image + * Get Sound + * :ref:`ln-network-index` + * LAN Server + * LAN Client + * Rebuild Data + * Send Data + * Serialize Data + +| + +.. collapse:: Render | | UI + + * :ref:`ln-render-index` + * **EEVEE** + * Set Ambient Occlusion + * Set Bloom + * Set Exposure + * Set Gamma + * Set SSR + * Set Volumetric Light + * Get Fullscreen + * Set Fullscreen + * Get Resolution + * Set Resolution + * Get VSync + * Set VSync + * Show Framerate + * Show Profile + * :ref:`ln-ui-index` + * **Widgets** + * Create Canvas + * Create Layout + * Create Button + * Create Label + * Create Image + * Crate Slider + * Add Widget + * Get Widget Atrribute + * Set Widget Attribute + * Set Custom Cursor + +| + +.. collapse:: Utility + + * :ref:`ln-utility-index` + * Print + * Draw + +----- + +.. note:: + + The sub-menu *Layout* is not a particular part of Logic Nodes - those are tools for organizing and connecting, and are common feature for all *node editors*. + +.. figure:: /images/logic_nodes/ln-noodles.png + :align: center + :scale: 60% + :alt: Logic Noodles + + Logic Noodles diff --git a/source/manual/logic_nodes/input/gamepad/gamepad_active.rst b/source/manual/logic_nodes/input/gamepad/gamepad_active.rst new file mode 100644 index 00000000..f6efd08e --- /dev/null +++ b/source/manual/logic_nodes/input/gamepad/gamepad_active.rst @@ -0,0 +1,24 @@ +.. _ln-gamepad_active: + +.. figure:: /images/logic_nodes/input/gamepad/ln-gamepad_active.png + :align: right + :width: 215 + :alt: Gamepad Active Node + +=============== +Gamepad Active +=============== + +Detects if the controller at given index has any activity. + +Inputs ++++++++ + +Index + The controller index to monitor. + +Outputs ++++++++ + +Active + *True* if the controller has activity, else *False*. diff --git a/source/manual/logic_nodes/input/gamepad/gamepad_button.rst b/source/manual/logic_nodes/input/gamepad/gamepad_button.rst new file mode 100644 index 00000000..879707b8 --- /dev/null +++ b/source/manual/logic_nodes/input/gamepad/gamepad_button.rst @@ -0,0 +1,36 @@ +.. _ln-gamepad_button: + +.. figure:: /images/logic_nodes/input/gamepad/ln-gamepad_button.png + :align: right + :width: 215 + :alt: Gamepad Button Node + +============== +Gamepad Button +============== + +Detects if a specified button has been pressed on the controller at given index. + +Parameters +++++++++++ + +Button + Which button/trigger is monitored. + +Input Type + Input detection mode. + +Inputs +++++++ + +Index + The controller index to monitor. + +Outputs ++++++++ + +Pressed + *True* if the button is active in the selected mode, else *False*. + +Strength + Value of the trigger from 0 to 1. Only visible if button is `LT / L2` or `RT / R2`. diff --git a/source/manual/logic_nodes/input/gamepad/gamepad_look.rst b/source/manual/logic_nodes/input/gamepad/gamepad_look.rst new file mode 100644 index 00000000..ea36aaad --- /dev/null +++ b/source/manual/logic_nodes/input/gamepad/gamepad_look.rst @@ -0,0 +1,65 @@ +.. _ln-gamepad_look: + +.. figure:: /images/logic_nodes/input/gamepad/ln-gamepad_look.png + :align: right + :width: 215 + :alt: Gamepad Look Node + +============== +Gamepad Look +============== + +A quick way to make objects follow controller stick movement. It's possible to assign a *Body* and a *Head* object. + +If no *Head* object is assigned, the *Body* will be used for both axis, but that is generally discouraged as it can lead to unwanted side effects. + +Parameters +++++++++++ + +Axis + Which stick of the controller to use for the transformation. + +Inputs +++++++ + +Condition + Input condition for node activaton. + +Main Object + The body object. + +Head Object (Optional) + Head object. If set, both objects will be rotated along their corresponding local axis. + +Invert XY + Option to invert movement for each axis (Vector2). + +Index + The index of the controller to poll. + +Sensitivity + Multiplier for translating mouse movement to object rotation. + +Exponent + Exponent for fine-tuning the stick behavior. + +Cap Left/Right + Limit the body objects rotation on its local Z axis. + +X Limits + The limits for the body object local Z rotation (Vec2). Visible if Cap Left/Right is selected. + +Cap Up/Down + Limit the head object rotation on its local X/Y axis. + +Y Limits + Limits for the head object's local X/Y rotaion (Vec2). Visible if Cap Up/Down is selected. + +Threshold + Ignore stick values under this threshold. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/input/gamepad/gamepad_sticks.rst b/source/manual/logic_nodes/input/gamepad/gamepad_sticks.rst new file mode 100644 index 00000000..b632d7d4 --- /dev/null +++ b/source/manual/logic_nodes/input/gamepad/gamepad_sticks.rst @@ -0,0 +1,39 @@ +.. _ln-gamepad_sticks: + +.. figure:: /images/logic_nodes/input/gamepad/ln-gamepad_sticks.png + :align: right + :width: 215 + :alt: Gamepad Sticks Node + +============== +Gamepad Sticks +============== + +Detects stick values of the controller at given index. + +Parameters +++++++++++ + +Axis + Which stick values to read. + +Inputs +++++++ + +Invert XY + Checked axis will be inverted. + +Index + The controller index to monitor. + +Sensitivity + Multiplier for the axis values. + +Threshold + Dead-zone for the stick. + +Outputs ++++++++ + +Vector + Stick values as vector `(X, Y, 0)`. diff --git a/source/manual/logic_nodes/input/gamepad/gamepad_vibrate.rst b/source/manual/logic_nodes/input/gamepad/gamepad_vibrate.rst new file mode 100644 index 00000000..09076b89 --- /dev/null +++ b/source/manual/logic_nodes/input/gamepad/gamepad_vibrate.rst @@ -0,0 +1,36 @@ +.. _ln-gamepad_vibrate: + +.. figure:: /images/logic_nodes/input/gamepad/ln-gamepad_vibrate.png + :align: right + :width: 215 + :alt: Gamepad Vibrate Node + +================ +Gamepad Vibrate +================ + +Detects if the controller at given index has any activity. + +Inputs +++++++ + +Condition + Condition that need be fulfilled to activate the node. + +Index + The controller index to vibrate. + +Left + Force with which to rotate the weight in the left handle. + +Right + Force with which to rotate the weight in the right handle. + +Time + Vibrate for this many seconds. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/input/gamepad/index.rst b/source/manual/logic_nodes/input/gamepad/index.rst new file mode 100644 index 00000000..498b1763 --- /dev/null +++ b/source/manual/logic_nodes/input/gamepad/index.rst @@ -0,0 +1,14 @@ +.. _ln-input-gamepad-index: + +======= +Gamepad +======= + +.. toctree:: + :maxdepth: 1 + + gamepad_button + gamepad_sticks + gamepad_active + gamepad_vibrate + gamepad_look diff --git a/source/manual/logic_nodes/input/index.rst b/source/manual/logic_nodes/input/index.rst new file mode 100644 index 00000000..416e53c0 --- /dev/null +++ b/source/manual/logic_nodes/input/index.rst @@ -0,0 +1,13 @@ +.. _ln-input-index: + +===== +Input +===== + +.. toctree:: + :maxdepth: 2 + + mouse/index + keyboard/index + gamepad/index + vr/index diff --git a/source/manual/logic_nodes/input/keyboard/index.rst b/source/manual/logic_nodes/input/keyboard/index.rst new file mode 100644 index 00000000..62af741e --- /dev/null +++ b/source/manual/logic_nodes/input/keyboard/index.rst @@ -0,0 +1,13 @@ +.. _ln-input-keyboard-index: + +========= +Keyboard +========= + +.. toctree:: + :maxdepth: 1 + + keyboard_key + keyboard_active + key_code + instream diff --git a/source/manual/logic_nodes/input/keyboard/instream.rst b/source/manual/logic_nodes/input/keyboard/instream.rst new file mode 100644 index 00000000..e17a3cfc --- /dev/null +++ b/source/manual/logic_nodes/input/keyboard/instream.rst @@ -0,0 +1,30 @@ +.. _ln-instream: + +.. figure:: /images/logic_nodes/input/keyboard/ln-instream.png + :align: right + :width: 215 + :alt: Key Logger Node + +========== +Key Logger +========== + +Records keyboard activity. + +Inputs +++++++ + +Only Characters + Boolean value for condition. todo + +Outputs ++++++++ + +Pressed + *True* if the node performed successfully, else *False*. + +Character + Integer code of the recorded key. + +Keycode + Letter representation of the recorded key. diff --git a/source/manual/logic_nodes/input/keyboard/key_code.rst b/source/manual/logic_nodes/input/keyboard/key_code.rst new file mode 100644 index 00000000..8d5844c7 --- /dev/null +++ b/source/manual/logic_nodes/input/keyboard/key_code.rst @@ -0,0 +1,24 @@ +.. _ln-key_code: + +.. figure:: /images/logic_nodes/input/keyboard/ln-key_code.png + :align: right + :width: 215 + :alt: Key Code Node + +======== +Key Code +======== + +Retrieves a specified key's numeric code. This node is meant for debugging purposes. + +Inputs +++++++ + +Key + The key to translate. + +Outputs ++++++++ + +Code + Integer code of the selected key. diff --git a/source/manual/logic_nodes/input/keyboard/keyboard_active.rst b/source/manual/logic_nodes/input/keyboard/keyboard_active.rst new file mode 100644 index 00000000..3464c5f0 --- /dev/null +++ b/source/manual/logic_nodes/input/keyboard/keyboard_active.rst @@ -0,0 +1,18 @@ +.. _ln-keyboard_active: + +.. figure:: /images/logic_nodes/input/keyboard/ln-keyboard_active.png + :align: right + :width: 215 + :alt: Keyboard Active Node + +=============== +Keyboard Active +=============== + +Detects any activity on the keyboard. + +Outputs ++++++++ + +Active + *True* if keyboard state changed, else *False*. diff --git a/source/manual/logic_nodes/input/keyboard/keyboard_key.rst b/source/manual/logic_nodes/input/keyboard/keyboard_key.rst new file mode 100644 index 00000000..213f55d4 --- /dev/null +++ b/source/manual/logic_nodes/input/keyboard/keyboard_key.rst @@ -0,0 +1,30 @@ +.. _ln-keyboard_key: + +.. figure:: /images/logic_nodes/input/keyboard/ln-keyboard_key.png + :align: right + :width: 215 + :alt: Keyboard Key Node + +============= +Keyboard Key +============= + +Detects if a specified key has been pressed. + +Parameters +++++++++++ + +Input Type + Input detection mode. + +Inputs +++++++ + +Key + The key to monitor; click & press a desired key. + +Outputs ++++++++ + +If Pressed + *True* if the key is active in the selected mode, else *False*. diff --git a/source/manual/logic_nodes/input/mouse/cursor_visibility.rst b/source/manual/logic_nodes/input/mouse/cursor_visibility.rst new file mode 100644 index 00000000..13d863e8 --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/cursor_visibility.rst @@ -0,0 +1,31 @@ +.. _ln-cursor_visibility: + +.. figure:: /images/logic_nodes/input/mouse/ln-cursor_visibility.png + :align: right + :width: 215 + :alt: Cursor Visibility Node + +================= +Cursor Visibility +================= + +*Cursor Visibility* node is used to set the visibility status of the system mouse cursor. + +Inputs +++++++ + +Condition + Input condition. + +Visible + Target state for the system cursor. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. + +Example ++++++++ + diff --git a/source/manual/logic_nodes/input/mouse/index.rst b/source/manual/logic_nodes/input/mouse/index.rst new file mode 100644 index 00000000..b5f2b536 --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/index.rst @@ -0,0 +1,16 @@ +.. _ln-input-mouse-index: + +===== +Mouse +===== + +.. toctree:: + :maxdepth: 1 + + mouse_button + mouse_moved + mouse_over + mouse_status + cursor_visibility + set_cursor_position + mouse_look diff --git a/source/manual/logic_nodes/input/mouse/mouse_button.rst b/source/manual/logic_nodes/input/mouse/mouse_button.rst new file mode 100644 index 00000000..ee4c0371 --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/mouse_button.rst @@ -0,0 +1,30 @@ +.. _ln-mouse_button: + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_button.png + :align: right + :width: 215 + :alt: Mouse Button Node + +============= +Mouse Button +============= + +Detects mouse button activity. + +Parameters +++++++++++ + +Input Type + Input detection mode for mouse button. + +Inputs +++++++ + +Button + Which button to monitor. + +Outputs ++++++++ + +If Pressed + *True* if the corresponding button is pressed, else *False*. diff --git a/source/manual/logic_nodes/input/mouse/mouse_look.rst b/source/manual/logic_nodes/input/mouse/mouse_look.rst new file mode 100644 index 00000000..2832b564 --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/mouse_look.rst @@ -0,0 +1,62 @@ +.. _ln-mouse_look: + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_look.png + :align: right + :width: 215 + :alt: Mouse Look Node + +============ +Mouse Look +============ + +A quick way to make objects follow the mouse movement. It's possible to assign a *Body* and a *Head* object. + +If no *Head* object is assigned, the body will be used for both axis, but that is generally discouraged as it can lead to unwanted side effects. + +Parameters +++++++++++ + +Front + Look direction of the *Head* Object. If set to Y, the rotational axis will be X and vice versa. + +Inputs +++++++ + +Center Mouse + todo + +Condition + If connected, condition must be fulfilled for node to activate. + +Body + The body object. + +Head (Optional) + The head object. If set, both objects will be rotated along their corresponding local axis. + +Invert XY + Option to invert movement for each axis (Vector2). + +Sensitivity + Multiplier for translating mouse movement to object rotation. + +Cap Left/Right + Limit the body objects rotation on its local Z axis. + +X Limits + The limits for the body objects local Z rotation (Vector2). Only shown if Cap Left / Right is selected. + +Cap Up/Down + Limit the head object's rotation on its local X/Y axis. + +Y Limits + The limits for the head object's local X/Y rotaion (Vectpr2). Only shown if Cap Up / Down is selected. + +Smoothing + Use linear interpolation to slowly adapt the object transformation to mouse movement. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/input/mouse/mouse_moved.rst b/source/manual/logic_nodes/input/mouse/mouse_moved.rst new file mode 100644 index 00000000..bf5a749f --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/mouse_moved.rst @@ -0,0 +1,24 @@ +.. _ln-mouse_moved: + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_moved.png + :align: right + :width: 215 + :alt: Mouse Moved Node + +=========== +Mouse Moved +=========== + +Detects mouse movement. + +Parameters +++++++++++ + +Mode + Boolean value to select between *Once* (unchecked) and *Each Frame* (checked) modes. + +Outputs ++++++++ + +If Moved + *True* if mouse movement is detected, else *False*. diff --git a/source/manual/logic_nodes/input/mouse/mouse_over.rst b/source/manual/logic_nodes/input/mouse/mouse_over.rst new file mode 100644 index 00000000..29ea61ee --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/mouse_over.rst @@ -0,0 +1,71 @@ +.. _ln-mouse_over: + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_over.png + :align: right + :width: 215 + :alt: Mouse Over Node + +=========== +Mouse Over +=========== + +Matches the mouse position to an object on screen. + +Inputs +++++++ + +Object + Which object to monitor, if mouse cursor is over. + +Outputs ++++++++ + +On Enter + *True* on the first frame the mouse position matches the object bounds, else *False*. + +On Over + *True* while the mouse position matches the object bounds, else *False*. + +On Exit + *True* on the first frame the mouse position leaves the object bounds, else *False*. + +Point + *World Position* of the mouse cursor matched to the object (Vector3). + +Normal + Face normal of the targeted mesh face (Vector3). + +Example ++++++++ + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_over-example_apply.png + :align: center + :width: 500 + :alt: Mouse Over Node Apply +| +With Cube object selected, apply the Logic Tree (click :menuselection:`Apply To Selected` button). + +Run the UPBGE from terminal (Linux & mac), or open the console (Windows). See :doc:`System Console ` if needed. + +Make sure that in :menuselection:`Render > Game Debug > Mouse Cursor` is selected. + +| + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_over-example_terminal.png + :align: center + :width: 90% + :alt: Mouse Over Node Terminal + +| + +Run the example, and move mouse cursor over the Cube which has *Logic Tree* applied to it. In system terminal/console, see printed results. + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_over-example_once.png + :align: center + :width: 500 + :alt: Mouse Over Node Terminal + +| + +Add `Once` node, run and observe different terminal output. Only once per *Mouse Over* is now system message printed. Uncheck ``Repeat`` and exactly once is message printed - on first *Mouse Over* event only. + diff --git a/source/manual/logic_nodes/input/mouse/mouse_status.rst b/source/manual/logic_nodes/input/mouse/mouse_status.rst new file mode 100644 index 00000000..4c43a931 --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/mouse_status.rst @@ -0,0 +1,34 @@ +.. _ln-mouse_status: + +.. figure:: /images/logic_nodes/input/mouse/ln-mouse_status.png + :align: right + :width: 215 + :alt: Mouse Status Node + +============== +Mouse Status +============== + +Outputs ++++++++ + +Position + todo + +Movement + todo + +X Position + todo + +Y Position + todo + +X Movement + todo + +Y Movement + todo + +Wheel Difference + todo diff --git a/source/manual/logic_nodes/input/mouse/set_cursor_position.rst b/source/manual/logic_nodes/input/mouse/set_cursor_position.rst new file mode 100644 index 00000000..60962655 --- /dev/null +++ b/source/manual/logic_nodes/input/mouse/set_cursor_position.rst @@ -0,0 +1,30 @@ +.. _ln-set-cursor_position: + +.. figure:: /images/logic_nodes/input/mouse/ln-set_cursor_position.png + :align: right + :width: 215 + :alt: Set Cursor Position Node + +==================== +Set Cursor Position +==================== + +Places the mouse cursor on corresponding coordinates between (0, 0) and (1, 1) on the screen. + +Inputs +++++++ + +Condition + Input condition. + +Screen X + Horizontal cursor position between 0 and 1. + +Screen Y + Vertical cursor position between 0 and 1. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/input/vr/index.rst b/source/manual/logic_nodes/input/vr/index.rst new file mode 100644 index 00000000..d61bc95f --- /dev/null +++ b/source/manual/logic_nodes/input/vr/index.rst @@ -0,0 +1,11 @@ +.. _ln-input-vr-index: + +==== +VR +==== + +.. toctree:: + :maxdepth: 1 + + vr_headset + vr_controller diff --git a/source/manual/logic_nodes/nodes/basic/input/vr/vr_controller.rst b/source/manual/logic_nodes/input/vr/vr_controller.rst similarity index 56% rename from source/manual/logic_nodes/nodes/basic/input/vr/vr_controller.rst rename to source/manual/logic_nodes/input/vr/vr_controller.rst index 9bc5bd70..c8014d70 100644 --- a/source/manual/logic_nodes/nodes/basic/input/vr/vr_controller.rst +++ b/source/manual/logic_nodes/input/vr/vr_controller.rst @@ -1,23 +1,24 @@ -+++++++++++++++ -VR Controller -+++++++++++++++ +.. _ln-vr_controller: -.. figure:: /images/Logic_Nodes/vr_controller_node.png +.. figure:: /images/logic_nodes/input/vr/ln-vr_controller.png :align: right :width: 215 - :alt: VR Controller Node. + :alt: VR Controller Node + +============== +VR Controller +============== -The *VR Controller* retrieves the current position and orientation of the VR controller -if there is a running VR session. +Retrieves the current position and orientation of the VR controller if there is a running VR session. Parameters -========== +++++++++++ Controller Use the left or the right hand controller. Outputs -======= ++++++++ Position World position of the controller. @@ -35,4 +36,4 @@ Stick Thumbstick values. Trigger - Index finger trigger value. \ No newline at end of file + Index finger trigger value. diff --git a/source/manual/logic_nodes/input/vr/vr_headset.rst b/source/manual/logic_nodes/input/vr/vr_headset.rst new file mode 100644 index 00000000..51ff3f47 --- /dev/null +++ b/source/manual/logic_nodes/input/vr/vr_headset.rst @@ -0,0 +1,21 @@ +.. _ln-vr_headset: + +.. figure:: /images/logic_nodes/input/vr/ln-vr_headset.png + :align: right + :width: 215 + :alt: VR Headset Node + +=========== +VR Headset +=========== + +Retrieves the current position and orientation of the VR headset if there is a running VR session. + +Outputs ++++++++ + +Position + World position of the headset. + +Orientation + World orientation of the headset. diff --git a/source/manual/logic_nodes/introduction.rst b/source/manual/logic_nodes/introduction.rst index 1fae0497..b06f391d 100644 --- a/source/manual/logic_nodes/introduction.rst +++ b/source/manual/logic_nodes/introduction.rst @@ -1,76 +1,44 @@ -.. _logic_nodes-introduction: +.. _ln-introduction: ============ Introduction ============ + +As an alternative to *Python scripts* and *Logic Bricks*, *Logic Nodes* provide an intuitive and versatile way to create game logic. Designed to support rapid prototyping, they enable artists and game designers to quickly test and even fully implement desired features. -As an alternative to Python scripts and Logic Bricks, Logic Nodes provide an intuitive and versatile -way to create game logic. They are designed to support rapid prototyping, enabling artists and game designers -to quickly test and even fully implement features. +.. figure:: /images/logic_nodes/ln-4_key_template.png + :align: center + :scale: 60% -Logic Nodes use a visual approach to programming, allowing developers to skip learning a programming language and -the engine's API to get their game done. With a set of over 250 nodes, close to all functionalitiy is -covered, including calling custom scripts and referencing logic bricks to make full use of UPBGE's power. +| + + 4-Key Template for Object/Player Movement + +Logic Nodes use a **visual approach** to programming, allowing developers to skip learning a *programming language* and the engine's API, to get their game done. With a set of 300+ nodes, close to all functionality is covered - including calling *custom scripts* and referencing *Logic Bricks* to make full use of UPBGE's power. ------------- Logic Trees ------------- - -*Logic Trees* are different from *Logic Bricks*, as they are not directly bound to an object. -They can be created, edited and compiled without any object in the scene. To be executed though, -they need to be applied to at least one object (or called through another tree, but more on -that later). Now the difference between being bound and being applied to an object is that -multiple objects can have the same *Logic Tree* applied to them, while *Logic Bricks* are unique -for each object. - -Basically, *Logic Node Trees* work just as *Material Node Trees* do, you add nodes, connect them -to one another and something happens. One difference would be that with a material, you always -try to route all of your nodes back to the *Material Output* at some point. This is not the case -with Logic Nodes. You can have a lot of smaller patches within a single tree which will be -executed, regardless if they're connected or not. As there's no such thing as an "Output" Node, -each part of the tree is evaluated "as is". - ------------- -Logic Nodes ------------- ++++++++++++ -The system is built around *Nodes*, and each Node has *Sockets* that can be connected to the -Sockets of other nodes. Normally the code isn't very picky and will try to work with whatever comes -its way, meaning that you can try to combine different types of Sockets without having to fear a -complete crash. +*Logic Trees* are different from *Logic Bricks*, as they are not directly bound to an object. They can be created, edited and compiled **without any object in the scene**. To be executed though, they need to be **applied to at least one object** (or called through another tree, but more on that later). Now the difference between being *bound* and being *applied* to an object is that multiple objects can have the same *Logic Node Tree* applied to them, while *Logic Bricks* are unique for each object. -It is generally advised to try to keep Logic Trees as small as possible to keep the performance high. -You would for example use the "Formula" Node for more complex equations instead of putting multiple -"Math" nodes together. +Basically, *Logic Node Trees* work just as *Material Node Trees* do - you add nodes, connect them to one another and something happens. One difference would be that with a material, you always need to route the end of the nodes chain back to the *Material Output*. This is not the case with Logic Nodes. You can have a lot of smaller patches within a single tree which will be executed, **regardless if they're connected or not**. As there's no such thing as an *Output Node*, each part of the tree is evaluated "as is". ----------- -Global Variables ----------- +Logic Nodes ++++++++++++ -With the Logic Node Addon also comes the ability to create and read global variables. They work very -similarly to Properties, but again they are not bound to an object, but to the scene. These variables -are intended to be used to store data about the world like time, temperature, etc. or game settings, -though they can just as well be used for player or entity data that wouldn't really make sense on an -object. +The system is built around *nodes*, and each node has *Sockets* that can be connected to the Sockets of other nodes. Normally the code isn't very picky and will try to work with whatever comes its way, meaning that you can try to combine different types of Sockets without having to fear a complete crash. ------------- -Architecture ------------- +It is generally advised to try to keep Logic Trees **as small as possible** to keep the performance high. You would for example use the *Formula Node* for more complex equations instead of putting multiple *Math* nodes together. -Under the hood, Logic Nodes are actually generating Python scripts to be executed by the game engine. -These scripts can be loaded in two ways: +Global Variables +++++++++++++++++ -- Applied as :doc:`Logic Bricks ` or -- applied as a :doc:`Python Component ` +With the *Logic Nodes* addon also comes the ability to create and read *Global Variables*. They work very similarly to *Properties*, but again they are not bound to an object, but to the scene. These variables are intended to be used to store data about the world like *time*, *temperature* etc., or *game settings*, though they can just as well be used for player or entity data that wouldn't really make sense on an object. -Applying a tree using Logic Bricks generates the necessary bricks on the selected object to execute the tree. -This method gives you full access to Logic Brick functionality, which can be very useful when trying to work -with object-specific behavior. +Architecture +++++++++++++ -Using the Component method has the advantage of being tidier. The generated component will have options for -executing the tree only at startup and for executing the tree only when a certain property is set. Using -this method will prevent you from accessing Logic Bricks directly, but you can still access them via custom -Python calls. +Under the hood, Logic Nodes are actually generating *Python scripts* to be executed by the game engine. The generated component will have options for executing the tree *only at startup* and for executing the tree *only when a certain property is set*. Using this method will prevent you from accessing Logic Bricks directly, but you can still access them via *custom Python calls*. .. warning:: diff --git a/source/manual/logic_nodes/lights/get_light_color.rst b/source/manual/logic_nodes/lights/get_light_color.rst new file mode 100644 index 00000000..fa1b605f --- /dev/null +++ b/source/manual/logic_nodes/lights/get_light_color.rst @@ -0,0 +1,22 @@ +.. _ln-get_light_color: + +.. figure:: /images/logic_nodes/lights/ln-get_light_color.png + :align: right + :width: 215 + :alt: Get Light Color Node + +=============== +Get Light Color +=============== + +Inputs +++++++ + +Light Object + Which light to use. + +Outputs ++++++++ + +Color + Color of the light. diff --git a/source/manual/logic_nodes/lights/get_light_power.rst b/source/manual/logic_nodes/lights/get_light_power.rst new file mode 100644 index 00000000..3197f43f --- /dev/null +++ b/source/manual/logic_nodes/lights/get_light_power.rst @@ -0,0 +1,22 @@ +.. _ln-get_light_power: + +.. figure:: /images/logic_nodes/lights/ln-get_light_power.png + :align: right + :width: 215 + :alt: Get Light Power Node + +=============== +Get Light Power +=============== + +Inputs +++++++ + +Light Object + Which light to use. + +Outputs ++++++++ + +Power + Resulting strength of the light. diff --git a/source/manual/logic_nodes/lights/index.rst b/source/manual/logic_nodes/lights/index.rst new file mode 100644 index 00000000..dfdd7b34 --- /dev/null +++ b/source/manual/logic_nodes/lights/index.rst @@ -0,0 +1,15 @@ +.. _ln-lights-index: + +====================== +Lights +====================== + +.. toctree:: + :maxdepth: 1 + + get_light_color + set_light_color + get_light_power + set_light_power + set_light_shadow + make_light_unique diff --git a/source/manual/logic_nodes/lights/make_light_unique.rst b/source/manual/logic_nodes/lights/make_light_unique.rst new file mode 100644 index 00000000..a747f991 --- /dev/null +++ b/source/manual/logic_nodes/lights/make_light_unique.rst @@ -0,0 +1,28 @@ +.. _ln-make_light_unique: + +.. figure:: /images/logic_nodes/lights/ln-make_light_unique.png + :align: right + :width: 215 + :alt: Make Light Unique Node + +================= +Make Light Unique +================= + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Light Object + Which light to use. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Light + todo diff --git a/source/manual/logic_nodes/lights/set_light_color.rst b/source/manual/logic_nodes/lights/set_light_color.rst new file mode 100644 index 00000000..4fea16cc --- /dev/null +++ b/source/manual/logic_nodes/lights/set_light_color.rst @@ -0,0 +1,28 @@ +.. _ln-set_light_color: + +.. figure:: /images/logic_nodes/lights/ln-set_light_color.png + :align: right + :width: 215 + :alt: Set Light Color Node + +=============== +Set Light Color +=============== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Light Object + Which light to use. + +Color + Which color to assign to light. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/lights/set_light_power.rst b/source/manual/logic_nodes/lights/set_light_power.rst new file mode 100644 index 00000000..0899dae9 --- /dev/null +++ b/source/manual/logic_nodes/lights/set_light_power.rst @@ -0,0 +1,28 @@ +.. _ln-set_light_power: + +.. figure:: /images/logic_nodes/lights/ln-set_light_power.png + :align: right + :width: 215 + :alt: Set Light Power Node + +=============== +Set Light Power +=============== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Light Object + Which light to use. + +Power + The strength of the light. Can be negative. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/lights/set_light_shadow.rst b/source/manual/logic_nodes/lights/set_light_shadow.rst new file mode 100644 index 00000000..233fc303 --- /dev/null +++ b/source/manual/logic_nodes/lights/set_light_shadow.rst @@ -0,0 +1,28 @@ +.. _ln-set_light_shadow: + +.. figure:: /images/logic_nodes/lights/ln-set_light_shadow.png + :align: right + :width: 215 + :alt: Set Light Shadow Node + +=============== +Set Light Shadow +=============== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Light Object + Which light to use. + +Use Shadow + If checked, light will produce shadows. Accepts Boolean result from connected node. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/logic/branch.rst b/source/manual/logic_nodes/logic/branch.rst new file mode 100644 index 00000000..182fe0be --- /dev/null +++ b/source/manual/logic_nodes/logic/branch.rst @@ -0,0 +1,25 @@ +.. _ln-branch: + +.. figure:: /images/logic_nodes/logic/ln-branch.png + :align: right + :width: 150 + :alt: Branch Node + +====================== +Branch +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Outputs ++++++++ + +True + True output. + +False + False output. diff --git a/source/manual/logic_nodes/logic/bricks/controller_status.rst b/source/manual/logic_nodes/logic/bricks/controller_status.rst new file mode 100644 index 00000000..933551db --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/controller_status.rst @@ -0,0 +1,28 @@ +.. _ln-controller_status: + +.. figure:: /images/logic_nodes/logic/bricks/ln-controller_status.png + :align: right + :width: 215 + :alt: Controller Status Node + +====================== +Controller Status +====================== + +Inputs +++++++ + +Object + Which *Object* to inspect. + +Controller + Which *Controller* to inspect. + +Outputs ++++++++ + +Status + Resulting status of the controller. + +Sensors + Resulting sensors of the controller. diff --git a/source/manual/logic_nodes/logic/bricks/get_actuator_value.rst b/source/manual/logic_nodes/logic/bricks/get_actuator_value.rst new file mode 100644 index 00000000..ab6dec17 --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/get_actuator_value.rst @@ -0,0 +1,28 @@ +.. _ln-get_actuator_value: + +.. figure:: /images/logic_nodes/logic/bricks/ln-get_actuator_value.png + :align: right + :width: 215 + :alt: Get Actuator Value Node + +====================== +Get Actuator Value +====================== + +Inputs +++++++ + +Object + Which object to inspect. + +Actuator + Which actuator to inspect. + +Field + Which field to inspect. + +Outputs ++++++++ + +Value + Resulting actuator value. diff --git a/source/manual/logic_nodes/logic/bricks/get_sensor_value.rst b/source/manual/logic_nodes/logic/bricks/get_sensor_value.rst new file mode 100644 index 00000000..7822d41a --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/get_sensor_value.rst @@ -0,0 +1,28 @@ +.. _ln-get_sensor_value: + +.. figure:: /images/logic_nodes/logic/bricks/ln-get_sensor_value.png + :align: right + :width: 215 + :alt: Get Sensor Value Node + +====================== +Get Sensor Value +====================== + +Inputs +++++++ + +Object + Which object to inspect. + +Sensor + todo + +Field + todo + +Outputs ++++++++ + +Value + Resulting sensor value. diff --git a/source/manual/logic_nodes/logic/bricks/index.rst b/source/manual/logic_nodes/logic/bricks/index.rst new file mode 100644 index 00000000..6510e573 --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/index.rst @@ -0,0 +1,15 @@ +.. _ln-logic-bricks-index: + +====================== +Bricks +====================== + +.. toctree:: + :maxdepth: 1 + + get_sensor_value + set_sensor_value + get_actuator_value + set_actuator_value + controller_status + sensor_positive diff --git a/source/manual/logic_nodes/logic/bricks/sensor_positive.rst b/source/manual/logic_nodes/logic/bricks/sensor_positive.rst new file mode 100644 index 00000000..a624e4d0 --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/sensor_positive.rst @@ -0,0 +1,25 @@ +.. _ln-sensor_positive: + +.. figure:: /images/logic_nodes/logic/bricks/ln-sensor_positive.png + :align: right + :width: 215 + :alt: Sensor Positive Node + +====================== +Sensor Positive +====================== + +Inputs +++++++ + +Object + Which object to inspect. + +Sensor + Which sensor to inspect. + +Outputs ++++++++ + +Positive + todo diff --git a/source/manual/logic_nodes/logic/bricks/set_actuator_value.rst b/source/manual/logic_nodes/logic/bricks/set_actuator_value.rst new file mode 100644 index 00000000..bcfff96b --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/set_actuator_value.rst @@ -0,0 +1,34 @@ +.. _ln-set_actuator_value: + +.. figure:: /images/logic_nodes/logic/bricks/ln-set_actuator_value.png + :align: right + :width: 215 + :alt: Set Actuator Value Node + +====================== +Set Actuator Value +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which *Object* to set a value to. + +Actuator + Which *Actuator* to set. + +Attribute + Which *Attribute* to set. + +Type + Selected type and value to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/logic/bricks/set_sensor_value.rst b/source/manual/logic_nodes/logic/bricks/set_sensor_value.rst new file mode 100644 index 00000000..5382bb4e --- /dev/null +++ b/source/manual/logic_nodes/logic/bricks/set_sensor_value.rst @@ -0,0 +1,34 @@ +.. _ln-set_sensor_value: + +.. figure:: /images/logic_nodes/logic/bricks/ln-set_sensor_value.png + :align: right + :width: 215 + :alt: Set Sensor Value Node + +====================== +Set Sensor Value +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to set a value to. + +Sensor + Which sensor to set. + +Attribute + Which attribute to set. + +Type + Selected type and value to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/logic/gate.rst b/source/manual/logic_nodes/logic/gate.rst new file mode 100644 index 00000000..2a8625f3 --- /dev/null +++ b/source/manual/logic_nodes/logic/gate.rst @@ -0,0 +1,31 @@ +.. _ln-gate: + +.. figure:: /images/logic_nodes/logic/ln-gate.png + :align: right + :width: 215 + :alt: Gate Node + +====================== +Gate +====================== + +Parameters +++++++++++ + +Gate Type + Selected gate type. + +Inputs +++++++ + +Condition A + Input A value. + +Condition B + Input B value. + +Outputs ++++++++ + +Result + Resulting gate operation between A and B. diff --git a/source/manual/logic_nodes/logic/gate_list.rst b/source/manual/logic_nodes/logic/gate_list.rst new file mode 100644 index 00000000..540ddfed --- /dev/null +++ b/source/manual/logic_nodes/logic/gate_list.rst @@ -0,0 +1,34 @@ +.. _ln-gate_list: + +.. figure:: /images/logic_nodes/logic/ln-gate_list.png + :align: right + :width: 215 + :alt: Gate List Node + +====================== +Gate List +====================== + +Parameters +++++++++++ + +Add Socket + Add a socket to list. + +Gate Type + Selected gate type. + +Inputs +++++++ + +Condition + First condition. + +Condition + Second condition. + +Outputs ++++++++ + +Result + Resulting value from gate operation. diff --git a/source/manual/logic_nodes/logic/index.rst b/source/manual/logic_nodes/logic/index.rst new file mode 100644 index 00000000..ca18375c --- /dev/null +++ b/source/manual/logic_nodes/logic/index.rst @@ -0,0 +1,16 @@ +.. _ln-logic-index: + +====================== +Logic +====================== + +.. toctree:: + :maxdepth: 1 + + trees/index + bricks/index + gate + branch + gate_list + is_none + not_none diff --git a/source/manual/logic_nodes/logic/is_none.rst b/source/manual/logic_nodes/logic/is_none.rst new file mode 100644 index 00000000..ddec604e --- /dev/null +++ b/source/manual/logic_nodes/logic/is_none.rst @@ -0,0 +1,22 @@ +.. _ln-is_none: + +.. figure:: /images/logic_nodes/logic/ln-is_none.png + :align: right + :width: 130 + :alt: Is None Node + +====================== +Is None +====================== + +Inputs +++++++ + +Value + Value to inspect. + +Outputs ++++++++ + +If None + *True* if value is none. diff --git a/source/manual/logic_nodes/logic/not_none.rst b/source/manual/logic_nodes/logic/not_none.rst new file mode 100644 index 00000000..47679ee2 --- /dev/null +++ b/source/manual/logic_nodes/logic/not_none.rst @@ -0,0 +1,22 @@ +.. _ln-not_none: + +.. figure:: /images/logic_nodes/logic/ln-not_none.png + :align: right + :width: 160 + :alt: Not None Node + +====================== +Not None +====================== + +Inputs +++++++ + +Value + Value to inspect. + +Outputs ++++++++ + +If Not None + *True* if value is not none. diff --git a/source/manual/logic_nodes/logic/trees/add_logic_tree_to_object.rst b/source/manual/logic_nodes/logic/trees/add_logic_tree_to_object.rst new file mode 100644 index 00000000..00e656f4 --- /dev/null +++ b/source/manual/logic_nodes/logic/trees/add_logic_tree_to_object.rst @@ -0,0 +1,31 @@ +.. _ln-add_logic_tree_to_object: + +.. figure:: /images/logic_nodes/logic/trees/ln-add_logic_tree_to_object.png + :align: right + :width: 215 + :alt: Add Logic Tree To Object Node + +========================= +Add Logic Tree To Object +========================= + +Inputs +++++++ + +Condition + If connected, condition from attached node must be fulfilled for node to activate. + +Target Object + Which object to add *Logic Tree* to. + +Node Tree + Which *Node Tree* to add. + +Initialize + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/logic/trees/index.rst b/source/manual/logic_nodes/logic/trees/index.rst new file mode 100644 index 00000000..2352290f --- /dev/null +++ b/source/manual/logic_nodes/logic/trees/index.rst @@ -0,0 +1,14 @@ +.. _ln-logic-trees-index: + +====================== +Trees +====================== + +.. toctree:: + :maxdepth: 1 + + start_logic_tree + run_logic_tree + stop_logic_tree + add_logic_tree_to_object + logic_tree_status diff --git a/source/manual/logic_nodes/logic/trees/logic_tree_status.rst b/source/manual/logic_nodes/logic/trees/logic_tree_status.rst new file mode 100644 index 00000000..6f77da1a --- /dev/null +++ b/source/manual/logic_nodes/logic/trees/logic_tree_status.rst @@ -0,0 +1,28 @@ +.. _ln-logic_tree_status: + +.. figure:: /images/logic_nodes/logic/trees/ln-logic_tree_status.png + :align: right + :width: 215 + :alt: Logic Tree Status Node + +========================= +Logic Tree Status +========================= + +Inputs +++++++ + +Target + Which object to inspect. + +Node Tree + Which *Node Tree* todo. + +Outputs ++++++++ + +Running + todo + +Stopped + todo diff --git a/source/manual/logic_nodes/logic/trees/run_logic_tree.rst b/source/manual/logic_nodes/logic/trees/run_logic_tree.rst new file mode 100644 index 00000000..00b89d37 --- /dev/null +++ b/source/manual/logic_nodes/logic/trees/run_logic_tree.rst @@ -0,0 +1,28 @@ +.. _ln-run_logic_tree: + +.. figure:: /images/logic_nodes/logic/trees/ln-run_logic_tree.png + :align: right + :width: 215 + :alt: Run Logic Tree Node + +====================== +Run Logic Tree +====================== + +Inputs +++++++ + +Condition + If connected, condition from attached node must be fulfilled for node to activate. If checked, always *True*, else *False*. + +Target Object + Which object to apply *Logic Tree* to. + +Node Tree + Which *Node Tree* to run. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/logic/trees/start_logic_tree.rst b/source/manual/logic_nodes/logic/trees/start_logic_tree.rst new file mode 100644 index 00000000..c8a9d9f9 --- /dev/null +++ b/source/manual/logic_nodes/logic/trees/start_logic_tree.rst @@ -0,0 +1,28 @@ +.. _ln-start_logic_tree: + +.. figure:: /images/logic_nodes/logic/trees/ln-start_logic_tree.png + :align: right + :width: 215 + :alt: Start Logic Tree Node + +====================== +Start Logic Tree +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Node Tree + Which *Node Tree* to apply to the object. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/logic/trees/stop_logic_tree.rst b/source/manual/logic_nodes/logic/trees/stop_logic_tree.rst new file mode 100644 index 00000000..19516818 --- /dev/null +++ b/source/manual/logic_nodes/logic/trees/stop_logic_tree.rst @@ -0,0 +1,28 @@ +.. _ln-stop_logic_tree: + +.. figure:: /images/logic_nodes/logic/trees/ln-stop_logic_tree.png + :align: right + :width: 215 + :alt: Stop Logic Tree Node + +====================== +Stop Logic Tree +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Node Tree + Which *Node Tree* to apply to stop. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/math/absolute.rst b/source/manual/logic_nodes/math/absolute.rst new file mode 100644 index 00000000..62c6f44c --- /dev/null +++ b/source/manual/logic_nodes/math/absolute.rst @@ -0,0 +1,22 @@ +.. _ln-absolute: + +.. figure:: /images/logic_nodes/math/ln-absolute.png + :align: right + :width: 215 + :alt: Absolute Node + +====================== +Absolute +====================== + +Inputs +++++++ + +Value + A value to perform absolute operation on. + +Outputs ++++++++ + +Value + Resulting absolute value. diff --git a/source/manual/logic_nodes/math/clamp.rst b/source/manual/logic_nodes/math/clamp.rst new file mode 100644 index 00000000..42d8b309 --- /dev/null +++ b/source/manual/logic_nodes/math/clamp.rst @@ -0,0 +1,28 @@ +.. _ln-clamp: + +.. figure:: /images/logic_nodes/math/ln-clamp.png + :align: right + :width: 215 + :alt: Clamp Node + +====================== +Clamp +====================== + +Inputs +++++++ + +Value + Value to clamp. + +Min + Minimum value to clamp to. + +Max + Maximum value to clamp to. + +Outputs ++++++++ + +Value + Resulting clamped value. diff --git a/source/manual/logic_nodes/math/compare.rst b/source/manual/logic_nodes/math/compare.rst new file mode 100644 index 00000000..ead16282 --- /dev/null +++ b/source/manual/logic_nodes/math/compare.rst @@ -0,0 +1,31 @@ +.. _ln-compare: + +.. figure:: /images/logic_nodes/math/ln-compare.png + :align: right + :width: 215 + :alt: Compare Node + +====================== +Compare +====================== + +Parameters +++++++++++ + +Operator + Selected operator for comparing. + +Inputs +++++++ + +Type + First type and value to use for comparing. + +Type + Second type and value to use for comparing. + +Outputs ++++++++ + +Result + Resulting boolean value of comparison. todo diff --git a/source/manual/logic_nodes/math/formula.rst b/source/manual/logic_nodes/math/formula.rst new file mode 100644 index 00000000..6013a632 --- /dev/null +++ b/source/manual/logic_nodes/math/formula.rst @@ -0,0 +1,34 @@ +.. _ln-formula: + +.. figure:: /images/logic_nodes/math/ln-formula.png + :align: right + :width: 215 + :alt: Formula Node + +====================== +Formula +====================== + +Parameters +++++++++++ + +Predef. + Pre-defined mathematical formulas for calculations. + +Formula + String representation of math formula for calculation. + +Inputs +++++++ + +a + First operator value. + +b + Second operator value. + +Outputs ++++++++ + +Result + Resulting value of math operation. diff --git a/source/manual/logic_nodes/math/index.rst b/source/manual/logic_nodes/math/index.rst new file mode 100644 index 00000000..8cc518ab --- /dev/null +++ b/source/manual/logic_nodes/math/index.rst @@ -0,0 +1,22 @@ +.. _ln-math-index: + +====================== +Math +====================== + +.. toctree:: + :maxdepth: 1 + + math + vector_math + vectors/index + interpolate + absolute + clamp + compare + formula + map_range + treshold + ranged_treshold + limit_range + within_range diff --git a/source/manual/logic_nodes/math/interpolate.rst b/source/manual/logic_nodes/math/interpolate.rst new file mode 100644 index 00000000..526017f6 --- /dev/null +++ b/source/manual/logic_nodes/math/interpolate.rst @@ -0,0 +1,28 @@ +.. _ln-interpolate: + +.. figure:: /images/logic_nodes/math/ln-interpolate.png + :align: right + :width: 215 + :alt: Interpolate Node + +====================== +Interpolate +====================== + +Inputs +++++++ + +From + Interpolate from which value. + +To + Interpolate to this value. + +Factor + Interpolation factor. todo + +Outputs ++++++++ + +Value + Resulting interpolated value. diff --git a/source/manual/logic_nodes/math/limit_range.rst b/source/manual/logic_nodes/math/limit_range.rst new file mode 100644 index 00000000..987b3cf7 --- /dev/null +++ b/source/manual/logic_nodes/math/limit_range.rst @@ -0,0 +1,34 @@ +.. _ln-limit_range: + +.. figure:: /images/logic_nodes/math/ln-limit_range.png + :align: right + :width: 215 + :alt: Limit Range Node + +====================== +Limit Range +====================== + +Parameters +++++++++++ + +Operator + Selected operator for range limit. + +Inputs +++++++ + +Value + A value to compare. + +Min + Minimum value to compare against. + +Max + Maximum value to compare against. + +Outputs ++++++++ + +Value + Resulting value within limited range. diff --git a/source/manual/logic_nodes/math/map_range.rst b/source/manual/logic_nodes/math/map_range.rst new file mode 100644 index 00000000..6dbbd4ff --- /dev/null +++ b/source/manual/logic_nodes/math/map_range.rst @@ -0,0 +1,43 @@ +.. _ln-map_range: + +.. figure:: /images/logic_nodes/math/ln-map_range.png + :align: right + :width: 215 + :alt: Map Range Node + +====================== +Map Range +====================== + +Parameters +++++++++++ + +Mode + Selected mode of operation. + +Inputs +++++++ + +Clamp + Clamp values between 0 and 1. todo + +Value + *Map Range* value. + +From Min + todo + +From Max + todo + +To Min + todo + +To Max + todo + +Outputs ++++++++ + +Result + Resulting value from ranging operation. diff --git a/source/manual/logic_nodes/math/math.rst b/source/manual/logic_nodes/math/math.rst new file mode 100644 index 00000000..95cfafac --- /dev/null +++ b/source/manual/logic_nodes/math/math.rst @@ -0,0 +1,31 @@ +.. _ln-math: + +.. figure:: /images/logic_nodes/math/ln-math.png + :align: right + :width: 215 + :alt: Math Node + +====================== +Math +====================== + +Parameters +++++++++++ + +Operation + Selected mathematical operation. + +Inputs +++++++ + +A + Input A value. + +B + Input B value. + +Outputs ++++++++ + +Result + Resulting value from math operation. diff --git a/source/manual/logic_nodes/math/ranged_treshold.rst b/source/manual/logic_nodes/math/ranged_treshold.rst new file mode 100644 index 00000000..4b47e61a --- /dev/null +++ b/source/manual/logic_nodes/math/ranged_treshold.rst @@ -0,0 +1,34 @@ +.. _ln-ranged_treshold: + +.. figure:: /images/logic_nodes/math/ln-ranged_treshold.png + :align: right + :width: 215 + :alt: Ranged Treshold Node + +====================== +Ranged Treshold +====================== + +Parameters +++++++++++ + +Mode + Selected mode for operation. + +Inputs +++++++ + +Value + Value to compare. + +Min + Minimum value to compare against. + +Max + Maximum value to compare against. + +Outputs ++++++++ + +Value + Resulting value. diff --git a/source/manual/logic_nodes/math/treshold.rst b/source/manual/logic_nodes/math/treshold.rst new file mode 100644 index 00000000..ae9114ad --- /dev/null +++ b/source/manual/logic_nodes/math/treshold.rst @@ -0,0 +1,34 @@ +.. _ln-treshold: + +.. figure:: /images/logic_nodes/math/ln-treshold.png + :align: right + :width: 215 + :alt: Treshold Node + +====================== +Treshold +====================== + +Parameters +++++++++++ + +Operation + Selected treshold operation. + +Inputs +++++++ + +Else 0 + todo + +Value + Value to compare. + +Treshold + Value to compare against. + +Outputs ++++++++ + +Value + Resulting value of treshold operation. diff --git a/source/manual/logic_nodes/math/vector_math.rst b/source/manual/logic_nodes/math/vector_math.rst new file mode 100644 index 00000000..1fe79430 --- /dev/null +++ b/source/manual/logic_nodes/math/vector_math.rst @@ -0,0 +1,31 @@ +.. _ln-vector_math: + +.. figure:: /images/logic_nodes/math/ln-vector_math.png + :align: right + :width: 215 + :alt: Vector Math Node + +====================== +Vector Math +====================== + +Parameters +++++++++++ + +Operation + Mode of vector math to perform. + +Inputs +++++++ + +Vector 1 + Vector3 values. + +Vector 2 + Vextor3 values. + +Outputs ++++++++ + +Result + Result of vector math operation. diff --git a/source/manual/logic_nodes/math/vectors/absolute_vector.rst b/source/manual/logic_nodes/math/vectors/absolute_vector.rst new file mode 100644 index 00000000..b58439d4 --- /dev/null +++ b/source/manual/logic_nodes/math/vectors/absolute_vector.rst @@ -0,0 +1,22 @@ +.. _ln-absolute_vector: + +.. figure:: /images/logic_nodes/math/vectors/ln-absolute_vector.png + :align: right + :width: 215 + :alt: Absolute Vector Node + +====================== +Absolute Vector +====================== + +Inputs +++++++ + +Vector + Input vector values. + +Outputs ++++++++ + +Vector + Resulting absolute vector values. diff --git a/source/manual/logic_nodes/math/vectors/check_angle.rst b/source/manual/logic_nodes/math/vectors/check_angle.rst new file mode 100644 index 00000000..6bb2c55f --- /dev/null +++ b/source/manual/logic_nodes/math/vectors/check_angle.rst @@ -0,0 +1,37 @@ +.. _ln-check_angle: + +.. figure:: /images/logic_nodes/math/vectors/ln-check_angle.png + :align: right + :width: 215 + :alt: Check Angle Node + +====================== +Check Angle +====================== + +Parameters +++++++++++ + +Operation + Which operation to use at checking. + +Inputs +++++++ + +Vector 1 + First vector to use for operation. + +Vector 2 + Second vector to use for operation. + +Value + todo + +Outputs ++++++++ + +If True + todo + +Angle + todo diff --git a/source/manual/logic_nodes/math/vectors/index.rst b/source/manual/logic_nodes/math/vectors/index.rst new file mode 100644 index 00000000..709d97b1 --- /dev/null +++ b/source/manual/logic_nodes/math/vectors/index.rst @@ -0,0 +1,14 @@ +.. _ln-math-vectors-index: + +====================== +Vectors +====================== + +.. toctree:: + :maxdepth: 1 + + check_angle + vector_rotate + absolute_vector + xyz_to_matrix + matrix_to_xyz diff --git a/source/manual/logic_nodes/math/vectors/matrix_to_xyz.rst b/source/manual/logic_nodes/math/vectors/matrix_to_xyz.rst new file mode 100644 index 00000000..98ec3c13 --- /dev/null +++ b/source/manual/logic_nodes/math/vectors/matrix_to_xyz.rst @@ -0,0 +1,28 @@ +.. _ln-matrix_to_xyz: + +.. figure:: /images/logic_nodes/math/vectors/ln-matrix_to_xyz.png + :align: right + :width: 290 + :alt: Matrix To XYZ Node + +====================== +Matrix To XYZ +====================== + +Parameters +++++++++++ + +XYZ Type + Selected type for operation. + +Inputs +++++++ + +Dimensions + Selected matrix dimension for operation. + +Outputs ++++++++ + +Vector + Resulting XYZ vector. diff --git a/source/manual/logic_nodes/math/vectors/vector_rotate.rst b/source/manual/logic_nodes/math/vectors/vector_rotate.rst new file mode 100644 index 00000000..e2e758f1 --- /dev/null +++ b/source/manual/logic_nodes/math/vectors/vector_rotate.rst @@ -0,0 +1,34 @@ +.. _ln-vector_rotate: + +.. figure:: /images/logic_nodes/math/vectors/ln-vector_rotate.png + :align: right + :width: 215 + :alt: Vector Rotate Node + +====================== +Vector Rotate +====================== + +Parameters +++++++++++ + +Mode + Selected mode for rotation. + +Inputs +++++++ + +Origin + Vector values of origin point. + +Pivot + Vector values of pivot point. + +Angle + Rotation value. + +Outputs ++++++++ + +Point + todo diff --git a/source/manual/logic_nodes/math/vectors/xyz_to_matrix.rst b/source/manual/logic_nodes/math/vectors/xyz_to_matrix.rst new file mode 100644 index 00000000..392a4fb9 --- /dev/null +++ b/source/manual/logic_nodes/math/vectors/xyz_to_matrix.rst @@ -0,0 +1,22 @@ +.. _ln-xyz_to_matrix: + +.. figure:: /images/logic_nodes/math/vectors/ln-xyz_to_matrix.png + :align: right + :width: 215 + :alt: XYZ To Matrix Node + +====================== +XYZ To Matrix +====================== + +Inputs +++++++ + +XYZ + Vector3 values to convert. + +Outputs ++++++++ + +Matrix + Resulting matrix values. diff --git a/source/manual/logic_nodes/math/within_range.rst b/source/manual/logic_nodes/math/within_range.rst new file mode 100644 index 00000000..d6a479b7 --- /dev/null +++ b/source/manual/logic_nodes/math/within_range.rst @@ -0,0 +1,34 @@ +.. _ln-within_range: + +.. figure:: /images/logic_nodes/math/ln-within_range.png + :align: right + :width: 215 + :alt: Within Range Node + +====================== +Within Range +====================== + +Parameters +++++++++++ + +Mode + Selected mode of operation. + +Inputs +++++++ + +Value + Value to compare. + +Min + Minumum value to compare against. + +Max + Maximum value to compare against. + +Outputs ++++++++ + +If True + If value is within range. todo diff --git a/source/manual/logic_nodes/network/index.rst b/source/manual/logic_nodes/network/index.rst new file mode 100644 index 00000000..5f2fb79e --- /dev/null +++ b/source/manual/logic_nodes/network/index.rst @@ -0,0 +1,14 @@ +.. _ln-network-index: + +======== +Network +======== + +.. toctree:: + :maxdepth: 1 + + lan_server + lan_client + rebuild_data + send_data + serialize_data diff --git a/source/manual/logic_nodes/network/lan_client.rst b/source/manual/logic_nodes/network/lan_client.rst new file mode 100644 index 00000000..02748245 --- /dev/null +++ b/source/manual/logic_nodes/network/lan_client.rst @@ -0,0 +1,49 @@ +.. _ln-lan_client: + +.. figure:: /images/logic_nodes/network/ln-lan_client.png + :align: right + :width: 215 + :alt: LAN Client Node + +================= +LAN Client +================= + +Inputs ++++++++ + +On Startup + Connect to specified web address at game start. todo + +Connect + Condition to be fulfilled for node to activate. todo + +IP + IP address to connect to. + +Port + Port to use for connection. + +Disconnect + If *Stop* condition is received, connection is cut. + +Outputs ++++++++ + +On Connect + Connection established signal is emitted. todo + +Connected + *True* while connected to server. todo + +On Disconnect + Connection stopped signal is emitted. todo + +Client + todo + +Received + todo + +Message + todo diff --git a/source/manual/logic_nodes/network/lan_server.rst b/source/manual/logic_nodes/network/lan_server.rst new file mode 100644 index 00000000..1b07c49e --- /dev/null +++ b/source/manual/logic_nodes/network/lan_server.rst @@ -0,0 +1,49 @@ +.. _ln-lan_server: + +.. figure:: /images/logic_nodes/network/ln-lan_server.png + :align: right + :width: 215 + :alt: LAN Server Node + +================= +LAN Server +================= + +Inputs ++++++++ + +On Startup + Connect to specified web address at game start. + +Start + Condition to be fulfilled for node to activate. + +IP + IP address to connect to. + +Port + Port to use for connection. + +Stop + If *Stop* condition is received, connection is cut. + +Outputs ++++++++ + +On Start + Connection established signal is emitted. todo + +Running + *True* while connected to server. todo + +On Stop + Connection stopped signal is emitted. todo + +Server + todo + +Received + todo + +Message + todo diff --git a/source/manual/logic_nodes/network/rebuild_data.rst b/source/manual/logic_nodes/network/rebuild_data.rst new file mode 100644 index 00000000..a726ecee --- /dev/null +++ b/source/manual/logic_nodes/network/rebuild_data.rst @@ -0,0 +1,28 @@ +.. _ln-rebuild_data: + +.. figure:: /images/logic_nodes/network/ln-rebuild_data.png + :align: right + :width: 215 + :alt: Rebuild Data Node + +================= +Rebuild Data +================= + +Parameters +++++++++++ + +Read As + Selected todo. + +Inputs ++++++++ + +Data + todo + +Outputs ++++++++ + +Data + Resulting data . todo diff --git a/source/manual/logic_nodes/network/send_data.rst b/source/manual/logic_nodes/network/send_data.rst new file mode 100644 index 00000000..9010df45 --- /dev/null +++ b/source/manual/logic_nodes/network/send_data.rst @@ -0,0 +1,31 @@ +.. _ln-send_data: + +.. figure:: /images/logic_nodes/network/ln-send_data.png + :align: right + :width: 215 + :alt: Send Data Node + +================= +Send Data +================= + +Inputs ++++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Server/Client + todo + +Data + todo + +Subject + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/network/serialize_data.rst b/source/manual/logic_nodes/network/serialize_data.rst new file mode 100644 index 00000000..ce1f1b8a --- /dev/null +++ b/source/manual/logic_nodes/network/serialize_data.rst @@ -0,0 +1,28 @@ +.. _ln-serialize_data: + +.. figure:: /images/logic_nodes/network/ln-serialize_data.png + :align: right + :width: 215 + :alt: Serialize Data Node + +================= +Serialize Data +================= + +Parameters +++++++++++ + +Serialize As + todo + +Inputs ++++++++ + +Data + todo + +Outputs ++++++++ + +Data + todo diff --git a/source/manual/logic_nodes/nodes/basic/events/custom/catch.rst b/source/manual/logic_nodes/nodes/basic/events/custom/catch.rst deleted file mode 100644 index acde63d3..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/custom/catch.rst +++ /dev/null @@ -1,35 +0,0 @@ - -+++++++++++++++ -Receive -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/receive_node.png - :align: right - :width: 215 - :alt: Receive Node. - -The *Receive* node reacts to events thrown via the :doc:`./throw` node or the *uplogic* module. -An Event can store some data, which can be extracted using this node. - -.. note:: - - If multiple events have the same ID (subject), older events get overwritten. - - -Inputs -====== - -Subject - The ID of the Event. - -Outputs -======= - -Received - *True* if an event has been found, else *False* - -Content - Content of this event, can be anything. - -Messenger - Messenger of this event, expected to be a `KX_GameObject` diff --git a/source/manual/logic_nodes/nodes/basic/events/custom/index.rst b/source/manual/logic_nodes/nodes/basic/events/custom/index.rst deleted file mode 100644 index 2803848c..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/custom/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -++++++ -Custom -++++++ - -.. toctree:: - :maxdepth: 1 - - catch.rst - throw.rst \ No newline at end of file diff --git a/source/manual/logic_nodes/nodes/basic/events/custom/print_events.rst b/source/manual/logic_nodes/nodes/basic/events/custom/print_events.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/custom/print_events.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/basic/events/custom/throw.rst b/source/manual/logic_nodes/nodes/basic/events/custom/throw.rst deleted file mode 100644 index d75efdbd..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/custom/throw.rst +++ /dev/null @@ -1,47 +0,0 @@ -+++++++++++++++ -Send -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/send_node.png - :align: right - :width: 215 - :alt: Send Node. - -The *Send* node creates an event that can be reacted to using the :doc:`./catch` node or -the *uplogic* module. An Event can store *Content* and a *Messenger* can be assigned. - -.. note:: - - Events are only created for the next frame. After that, they get erased. - - If multiple events have the same ID (subject), older events get overwritten. - - -Inputs -====== - -Condition - If *True*, the event is created. - -Subject - The ID of the Event. - -Content - Content of this event. Can be anything. - -Messenger - Messenger attached to this event, expected to be *KX_GameObject* - - -Properties -========== - -Advanced - Allows access to the *Content* and *Messenger* sockets. - - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/events/index.rst b/source/manual/logic_nodes/nodes/basic/events/index.rst deleted file mode 100644 index 2de0ff85..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -++++++ -Events -++++++ - -.. toctree:: - :maxdepth: 1 - - on_init.rst - on_update.rst - on_next_tick.rst - on_value_changed_to.rst - on_value_changed.rst - once.rst - -.. toctree:: - :maxdepth: 2 - - custom/index.rst diff --git a/source/manual/logic_nodes/nodes/basic/events/on_init.rst b/source/manual/logic_nodes/nodes/basic/events/on_init.rst deleted file mode 100644 index 999f849c..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/on_init.rst +++ /dev/null @@ -1,18 +0,0 @@ - -+++++++++++++++ -On Init -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/on_init_node.png - :align: right - :width: 215 - :alt: On Init Node. - -The *On Init* node can be used to set up a scene. It activates only on the first frame. - - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/events/on_next_tick.rst b/source/manual/logic_nodes/nodes/basic/events/on_next_tick.rst deleted file mode 100644 index 55258cfb..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/on_next_tick.rst +++ /dev/null @@ -1,24 +0,0 @@ - -+++++++++++++++ -On Next Tick -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/on_next_tick_node.png - :align: right - :width: 215 - :alt: On Next Tick Node. - -The *On Next Tick* node delays a condition by one tick/frame. - -Inputs -======= - -Condition - If *True*, the condition is reserved until the next tick/frame. - -Outputs -======= - -Next Tick - *True* one tick/frame after the *Condition* socket is activated. - diff --git a/source/manual/logic_nodes/nodes/basic/events/on_update.rst b/source/manual/logic_nodes/nodes/basic/events/on_update.rst deleted file mode 100644 index 0a22bed6..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/on_update.rst +++ /dev/null @@ -1,23 +0,0 @@ - -+++++++++++++++ -On Update -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/on_update_node.png - :align: right - :width: 215 - :alt: On Update Node. - -The *On Update* node activates each frame. It can be used to continuously -do something. It's the Node equivalent to the :doc:`/manual/logic/sensors/types/always`. - -.. note:: - - *On Update* can be expensive depending on the logic attached to it - and should only be used if necessary. - -Outputs -======= - -On Update - Always *True* diff --git a/source/manual/logic_nodes/nodes/basic/events/on_value_changed.rst b/source/manual/logic_nodes/nodes/basic/events/on_value_changed.rst deleted file mode 100644 index 09ff0e1b..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/on_value_changed.rst +++ /dev/null @@ -1,29 +0,0 @@ -+++++++++++++++ -On Value Changed -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/on_value_changed_node.png - :align: right - :width: 215 - :alt: On Value Changed Node. - -The *On Value Changed* node stores a value internally, and as soon as a value other than -the stored one is pulled through the input, it activates. Then the new value is stored. - -Inputs -======= - -Value - The connected value is pulled each frame. - -Outputs -======= - -If Changed - *True* if the new value is different from the stored one, else *False*. - -Old Value - The stored value. - -If Changed - The value pulled from the input socket. diff --git a/source/manual/logic_nodes/nodes/basic/events/on_value_changed_to.rst b/source/manual/logic_nodes/nodes/basic/events/on_value_changed_to.rst deleted file mode 100644 index f4d92433..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/on_value_changed_to.rst +++ /dev/null @@ -1,27 +0,0 @@ - -+++++++++++++++ -On Value Changed To -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/on_value_changed_to_node.png - :align: right - :width: 215 - :alt: On Value Changed To Node. - -The *On Value Changed To* node stores a value internally, and as soon as the value pulled through -the input matches the target value, it activates. Then the new value is stored. - -Inputs -======= - -Value - The connected value is pulled each frame. - -Target - Compare the new value to this value. - -Outputs -======= - -When Changed To - *True* if the new value matches the target, else *False*. diff --git a/source/manual/logic_nodes/nodes/basic/events/once.rst b/source/manual/logic_nodes/nodes/basic/events/once.rst deleted file mode 100644 index 6337b898..00000000 --- a/source/manual/logic_nodes/nodes/basic/events/once.rst +++ /dev/null @@ -1,37 +0,0 @@ -+++++++++++++++ -Once -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/once_node.png - :align: right - :width: 215 - :alt: Once Node. - -The *Once* node restricts a continuous *True* condition to only the first frame. - -*Example*: An :doc:`./on_update` linked to a *Once* node would be equal to the :doc:`./on_init`. - -Parameters -======= - -Timer - Reset this node after a time of tree inactivity. This is only needed when stopping - and starting logic trees. - -Inputs -======= - -Condition - Input Condition. - -Repeat - Allow another activation after the input condition is reset to false. - -Reset After - Reset this node after X seconds. Only relevant if the *Timer* parameter is active. - -Outputs -======= - -Once - *True* for the first frame of a *True* input condition, else *False*. diff --git a/source/manual/logic_nodes/nodes/basic/game/index.rst b/source/manual/logic_nodes/nodes/basic/game/index.rst deleted file mode 100644 index c64ebd66..00000000 --- a/source/manual/logic_nodes/nodes/basic/game/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -++++ -Game -++++ - -.. toctree:: - :maxdepth: 1 - - load_game.rst - quit_game.rst - restart_game.rst - save_game.rst - start_game.rst diff --git a/source/manual/logic_nodes/nodes/basic/game/load_game.rst b/source/manual/logic_nodes/nodes/basic/game/load_game.rst deleted file mode 100644 index 02d3aac1..00000000 --- a/source/manual/logic_nodes/nodes/basic/game/load_game.rst +++ /dev/null @@ -1,37 +0,0 @@ - - -+++++++++++++++ -Load Game -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/load_game_node.png - :align: right - :width: 215 - :alt: Load Game Node. - -The *Load Game* node reads information about the state of the current scene -from a previously saved ``.json`` file. - -.. note:: - No information is read about which scene is loaded, so this node can only be used per scene. - -Parameters -========== - -Filepath - The path to where the save files are stored. - -Inputs -======= - -Condition - Input Condition. - -Slot - Index of this save file. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/game/quit_game.rst b/source/manual/logic_nodes/nodes/basic/game/quit_game.rst deleted file mode 100644 index 8677bc07..00000000 --- a/source/manual/logic_nodes/nodes/basic/game/quit_game.rst +++ /dev/null @@ -1,19 +0,0 @@ - - -+++++++++++++++ -Quit Game -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/quit_game_node.png - :align: right - :width: 215 - :alt: Quit Game Node. - -The *Quit Game* node exits the current runtime. In standalone mode it closes the runtime -window entirely. - -Inputs -======= - -Condition - Input Condition. diff --git a/source/manual/logic_nodes/nodes/basic/game/restart_game.rst b/source/manual/logic_nodes/nodes/basic/game/restart_game.rst deleted file mode 100644 index 13a2e521..00000000 --- a/source/manual/logic_nodes/nodes/basic/game/restart_game.rst +++ /dev/null @@ -1,23 +0,0 @@ - -+++++++++++++++ -Restart Game -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/restart_game_node.png - :align: right - :width: 215 - :alt: Restart Game Node. - -The *Restart Game* node reverts the state of the current runtime to it's original version. - -Inputs -======= - -Condition - Input Condition. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/game/save_game.rst b/source/manual/logic_nodes/nodes/basic/game/save_game.rst deleted file mode 100644 index 4208f109..00000000 --- a/source/manual/logic_nodes/nodes/basic/game/save_game.rst +++ /dev/null @@ -1,36 +0,0 @@ - - -+++++++++++++++ -Save Game -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/save_game_node.png - :align: right - :width: 215 - :alt: Save Game Node. - -The *Save Game* node stores information about the state of the scene in a ``.json`` file. - -.. note:: - No information is saved about which scene is loaded, so this node can only be used per scene. - -Parameters -========== - -Filepath - The path to where the save files are stored. - -Inputs -======= - -Condition - Input Condition. - -Slot - Index of this save file. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/game/start_game.rst b/source/manual/logic_nodes/nodes/basic/game/start_game.rst deleted file mode 100644 index b4731456..00000000 --- a/source/manual/logic_nodes/nodes/basic/game/start_game.rst +++ /dev/null @@ -1,27 +0,0 @@ - -+++++++++++++++ -Jump To File -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/load_file_node.png - :align: right - :width: 215 - :alt: Jump To File Node. - -The *Jump To File* node is the ingame equivalent of *File->Open*. It loads directly into -the runtime version of another .blend file. - -Inputs -======= - -Condition - Input Condition. - -File Name - Full path to the target .blend file; Supports relative paths. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/index.rst b/source/manual/logic_nodes/nodes/basic/index.rst deleted file mode 100644 index d90e4138..00000000 --- a/source/manual/logic_nodes/nodes/basic/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -++++++++++++ -General Nodes -++++++++++++ - -.. toctree:: - :maxdepth: 2 - - events/index.rst - game/index.rst - input/index.rst diff --git a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_active.rst b/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_active.rst deleted file mode 100644 index 18d4b70a..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_active.rst +++ /dev/null @@ -1,22 +0,0 @@ -+++++++++++++++ -Gamepad Active -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/gamepad_active_node.png - :align: right - :width: 215 - :alt: Gamepad Active. - -The *Gamepad Active* node detects if the controller at given index has any activity. - -Inputs -======= - -Index - The controller index to monitor. - -Outputs -======= - -Active - *True* if the controller has activity, else *False*. diff --git a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_button.rst b/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_button.rst deleted file mode 100644 index 2d9edcb3..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_button.rst +++ /dev/null @@ -1,34 +0,0 @@ -+++++++++++++++ -Gamepad Button -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/gamepad_button_down_node.png - :align: right - :width: 215 - :alt: Gamepad Button. - -The Gamepad *Button* node detects if a specified button has been pressed on the controller at given index. - -Parameters -========== - -Button - Which button to react to. - -Mode - Input detection mode. - -Inputs -======= - -Index - The controller index to monitor. - -Outputs -======= - -Pressed - *True* if the button is active in the selected mode, else *False*. - -Strength - Value of the trigger from 0 to 1; Only visible if button is `LT / L2` or `RT / R2`. diff --git a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_look.rst b/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_look.rst deleted file mode 100644 index 4921986e..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_look.rst +++ /dev/null @@ -1,65 +0,0 @@ -+++++++++++++++ -Gamepad Look -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/gamepad_look_node.png - :align: right - :width: 215 - :alt: Gamepad Look Node. - -The *Gamepad Look* node is a quick way to make objects follow controller stick movement. -It's possible to assign a *Body* and a *Head* object. - -If no *Head* object is assigned, the body will be used for both axis, but -that is generally discouraged as it can lead to unwanted side effects. - -Parameters -========== - -Axis - Which stick of the controller to use for the transformation. - -Inputs -======= - -Condition - Input Condition. - -Main Object - This is the body object - -Head (Optional) - This is the head object. If set, both objects will be rotated along their corresponding local axis. - -Invert XY - Option to invert movement for each axis (Vec2). - -Index - The index of the controller to poll. - -Sensitivity - Multiplier for translating mouse movement to object rotation. - -Exponent - Exponent for fine-tuning the stick behavior. - -Cap Left/Right - Limit the body objects rotation on its local Z axis. - -X Limits - The limits for the body objects local Z rotaion (Vec2). - -Cap Up/Down - Limit the head object's rotation on its local X/Y axis. - -Y Limits - The limits for the head object's local X/Y rotaion (Vec2). - -Threshold - Ignore stick values under this threshold. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_sticks.rst b/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_sticks.rst deleted file mode 100644 index 1636609b..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_sticks.rst +++ /dev/null @@ -1,38 +0,0 @@ -+++++++++++++++ -Gamepad Sticks -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/gamepad_sticks_node.png - :align: right - :width: 215 - :alt: Gamepad Sticks. - -The Gamepad *Sticks* node detects stick values of the controller at given index. - -Parameters -========== - -Axis - Which stick values to read. - -Inputs -======= - -Invert XY - Invert the axis values. - -Index - The controller index to monitor. - -Sensitivity - Multiplier for the axis values. - -Threshold - Dead-zone for the stick. - - -Outputs -======= - -Vector - Stick values as vector `(X, Y, 0)` diff --git a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_vibration.rst b/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_vibration.rst deleted file mode 100644 index 1fc11ab3..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/gamepad/gamepad_vibration.rst +++ /dev/null @@ -1,31 +0,0 @@ -+++++++++++++++ -Gamepad Vibration -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/gamepad_vibration_node.png - :align: right - :width: 215 - :alt: Gamepad Vibration. - -The *Gamepad Vibration* node detects if the controller at given index has any activity. - -Inputs -======= - -Index - The controller index to vibrate. - -Left - Force with which to rotate the weight in the left handle. - -Right - Force with which to rotate the weight in the right handle. - -Time - Vibrate for this many seconds. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False*. \ No newline at end of file diff --git a/source/manual/logic_nodes/nodes/basic/input/gamepad/index.rst b/source/manual/logic_nodes/nodes/basic/input/gamepad/index.rst deleted file mode 100644 index 4f462c4c..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/gamepad/index.rst +++ /dev/null @@ -1,13 +0,0 @@ - -+++++ -Gamepad -+++++ - -.. toctree:: - :maxdepth: 1 - - gamepad_button.rst - gamepad_sticks.rst - gamepad_active.rst - gamepad_vibration.rst - gamepad_look.rst diff --git a/source/manual/logic_nodes/nodes/basic/input/index.rst b/source/manual/logic_nodes/nodes/basic/input/index.rst deleted file mode 100644 index a666b7ec..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -+++++ -Input -+++++ - -.. toctree:: - :maxdepth: 2 - - mouse/index.rst - keyboard/index.rst - gamepad/index.rst - vr/index.rst diff --git a/source/manual/logic_nodes/nodes/basic/input/keyboard/index.rst b/source/manual/logic_nodes/nodes/basic/input/keyboard/index.rst deleted file mode 100644 index 4efc6149..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/keyboard/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -+++++ -Keyboard -+++++ - -.. toctree:: - :maxdepth: 1 - - key_down.rst - keyboard_active.rst - key_code.rst - instream.rst diff --git a/source/manual/logic_nodes/nodes/basic/input/keyboard/instream.rst b/source/manual/logic_nodes/nodes/basic/input/keyboard/instream.rst deleted file mode 100644 index 13d04b6f..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/keyboard/instream.rst +++ /dev/null @@ -1,34 +0,0 @@ -+++++++++++++++ -Logger -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/key_logger_node.png - :align: right - :width: 215 - :alt: Key Logger Node. - -The Keyboard -> *Logger* node records keyboard activity. - -Parameters -========== - -Mode - Toggle between *Key Tap* and *Key Down* modes. - -Inputs -======= - -Condition - Input condition. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False*. - -Key Code - Integer code of the recorded key. - -Logged Char - Letter representation of the recorded key. diff --git a/source/manual/logic_nodes/nodes/basic/input/keyboard/key_code.rst b/source/manual/logic_nodes/nodes/basic/input/keyboard/key_code.rst deleted file mode 100644 index 3a45c864..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/keyboard/key_code.rst +++ /dev/null @@ -1,23 +0,0 @@ -+++++++++++++++ -Key Code -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/key_code_node.png - :align: right - :width: 215 - :alt: Key Code Node. - -The *Key Code* node retrieves a specified key's numeric code. This node is meant for -debugging purposes. - -Inputs -======= - -Key - The key to translate. - -Outputs -======= - -Code - Integer code of the selected key. diff --git a/source/manual/logic_nodes/nodes/basic/input/keyboard/key_down.rst b/source/manual/logic_nodes/nodes/basic/input/keyboard/key_down.rst deleted file mode 100644 index 15a4ce5e..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/keyboard/key_down.rst +++ /dev/null @@ -1,28 +0,0 @@ -+++++++++++++++ -Key -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/key_down_node.png - :align: right - :width: 215 - :alt: Key Node. - -The *Key* node detects if a specified key has been pressed. - -Parameters -========== - -Mode - Input detection mode. - -Inputs -======= - -Key - The key to monitor. - -Outputs -======= - -If Pressed - *True* if the key is active in the selected mode, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/keyboard/key_up.rst b/source/manual/logic_nodes/nodes/basic/input/keyboard/key_up.rst deleted file mode 100644 index 5f1accea..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/keyboard/key_up.rst +++ /dev/null @@ -1,28 +0,0 @@ -+++++++++++++++ -Key Up -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/key_up_node.png - :align: right - :width: 215 - :alt: Key Up Node. - -The *Key Up* node detects if a specified key has been released. - -Parameters -========== - -Mode - Toggle between *Once* and *Each Frame* modes. - -Inputs -======= - -Key - The key to monitor. - -Outputs -======= - -If Pressed - *True* if the key is released in the selected mode, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/keyboard/keyboard_active.rst b/source/manual/logic_nodes/nodes/basic/input/keyboard/keyboard_active.rst deleted file mode 100644 index a04e973a..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/keyboard/keyboard_active.rst +++ /dev/null @@ -1,16 +0,0 @@ -+++++++++++++++ -Keyboard Active -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/keyboard_active_node.png - :align: right - :width: 215 - :alt: Keyboard Active Node. - -The *Keyboard Active* node detects any activity on the keyboard. - -Outputs -======= - -Active - *True* keyboard state changed, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/button.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/button.rst deleted file mode 100644 index 191a5193..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/button.rst +++ /dev/null @@ -1,28 +0,0 @@ -+++++++++++++++ -Button -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_button_node.png - :align: right - :width: 215 - :alt: Mouse Button Node. - -The Mouse -> *Button* node detects mouse button activity. - -Parameters -========== - -Mode - Input detection mode. - -Inputs -======= - -Button ID - The button to monitor. - -Outputs -======= - -If Pressed - *True* if the corresponding button is pressed, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/button_over.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/button_over.rst deleted file mode 100644 index 3bd936f9..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/button_over.rst +++ /dev/null @@ -1,26 +0,0 @@ - -+++++++++++++++ -Button Over -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_button_over_node.png - :align: right - :width: 215 - :alt: Mouse Button Over Node. - -The Mouse -> *Button Over* node detects mouse button activity in relation to a specified object. - -Inputs -======= - -Button ID - The button to monitor. - -Object - Only count mouse activity if cursor is over this object. - -Outputs -======= - -When Pressed On - *True* if the corresponding button is pressed, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/button_up.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/button_up.rst deleted file mode 100644 index 22228d31..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/button_up.rst +++ /dev/null @@ -1,30 +0,0 @@ - - -+++++++++++++++ -Button Up -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_button_up_node.png - :align: right - :width: 215 - :alt: Mouse Button Up Node. - -The Mouse -> *Button Up* node detects mouse button activity. - -Parameters -========== - -Mode - Toggle between *Once* and *Each Frame* modes. - -Inputs -======= - -Button ID - The button to monitor. - -Outputs -======= - -If Released - *True* if the corresponding button is releasedd, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/cursor_visibility.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/cursor_visibility.rst deleted file mode 100644 index a386a107..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/cursor_visibility.rst +++ /dev/null @@ -1,25 +0,0 @@ -+++++++++++++++ -Cursor Visibility -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/cursor_visibility_node.png - :align: right - :width: 215 - :alt: Cursor Visibility Node. - -The *Cursor Visibility* node is used to set the visibility status of the system mouse cursor. - -Inputs -======= - -Condition - Input Condition. - -Visible - Target state for the system cursor. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/index.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/index.rst deleted file mode 100644 index 0dd3af63..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -+++++ -Mouse -+++++ - -.. toctree:: - :maxdepth: 1 - - button.rst - moved.rst - over.rst - status.rst - cursor_visibility.rst - set_position.rst - look.rst diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/look.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/look.rst deleted file mode 100644 index 9f9fa7f3..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/look.rst +++ /dev/null @@ -1,59 +0,0 @@ -+++++++++++++++ -Mouse Look -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_look_node.png - :align: right - :width: 215 - :alt: Mouse Look Node. - -The *Mouse Look* node is a quick way to make objects follow the mouse movement. -It's possible to assign a *Body* and a *Head* object. - -If no *Head* object is assigned, the body will be used for both axis, but -that is generally discouraged as it can lead to unwanted side effects. - -Parameters -========== - -Front - The look direction of the Head Object. If set to Y, the rotational axis will be X and vice versa. - -Inputs -======= - -Condition - Input Condition. - -Main Object - This is the body object - -Head (Optional) - This is the head object. If set, both objects will be rotated along their corresponding local axis. - -Invert - Option to invert movement for each axis (Vec2). - -Sensitivity - Multiplier for translating mouse movement to object rotation. - -Cap Left/Right - Limit the body objects rotation on its local Z axis. - -X Limits - The limits for the body objects local Z rotaion (Vec2). - -Cap Up/Down - Limit the head object's rotation on its local X/Y axis. - -Y Limits - The limits for the head object's local X/Y rotaion (Vec2). - -Smoothing - Use linear interpolation to slowly adapt the object transformation to mouse movement. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/moved.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/moved.rst deleted file mode 100644 index 70d17024..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/moved.rst +++ /dev/null @@ -1,23 +0,0 @@ - -+++++++++++++++ -Moved -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_moved_node.png - :align: right - :width: 215 - :alt: Mouse Moved Node. - -The Mouse -> *Moved* node detects mouse movement. - -Parameters -========== - -Mode - Toggle between *Once* and *Each Frame* modes. - -Outputs -======= - -If Moved - *True* if mouse movement is detected, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/over.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/over.rst deleted file mode 100644 index 1382670e..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/over.rst +++ /dev/null @@ -1,33 +0,0 @@ -+++++++++++++++ -Over -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_over_node.png - :align: right - :alt: Mouse Over Node. - -The Mouse -> *Over* node matches the mouse position to an object on screen. - -Inputs -========== - -Object - The object to monitor. - -Outputs -======= - -On Mouse Enter - *True* on the first frame the mouse position matches the object bounds, else *False* - -On Mouse Over - *True* while the mouse position matches the object bounds, else *False* - -On Mouse Exit - *True* on the first frame the mouse position leaves the object bounds, else *False* - -Point - World Position of the mouse cursor matched to the object (Vec3). - -Normal - Face normal of the targeted mesh face (Vec3). diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/set_position.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/set_position.rst deleted file mode 100644 index 49aad71c..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/set_position.rst +++ /dev/null @@ -1,29 +0,0 @@ -+++++++++++++++ -Set Position -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_set_position_node.png - :align: right - :width: 215 - :alt: Mouse Set Position Node. - -The Mouse -> *Set Position* node places the mouse cursor on corresponding coordinates -between (0, 0) and (1, 1) on the screen. - -Inputs -========== - -Condition - Input Condition. - -Screen X - X (horizontal) cursor position between 0 and 1. - -Screen Y - Y (vertical) cursor position between 0 and 1. - -Outputs -======= - -Done - *True* if the node performed successfully, else *False* diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/status.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/status.rst deleted file mode 100644 index 7e89938b..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/status.rst +++ /dev/null @@ -1,35 +0,0 @@ - -+++++++++++++++ -Mouse Status -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_status_node.png - :align: right - :width: 215 - :alt: Mouse Status Node. - -The *Mouse Status* node contains information about the mouse. - -Outputs -======= - -Position - Screen position of the mouse cursor (Vec2). - -Movement - Difference of the mouse position in comparison to the frame before. - -X Position - Horizontal position of the mouse cursor - -Y Position - Vertical position of the mouse cursor - -X Movement - Difference of the horizontal mouse position in comparison to the frame before. - -Y Movement - Difference of the vertical mouse position in comparison to the frame before. - -Wheel Difference - Scrolling direction. -1 for down, 1 for up, idle is 0. diff --git a/source/manual/logic_nodes/nodes/basic/input/mouse/wheel.rst b/source/manual/logic_nodes/nodes/basic/input/mouse/wheel.rst deleted file mode 100644 index b26536aa..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/mouse/wheel.rst +++ /dev/null @@ -1,22 +0,0 @@ -+++++++++++++++ -Wheel -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/mouse_wheel_node.png - :align: right - :width: 215 - :alt: Mouse Wheel Node. - -The Mouse -> *Wheel* node detects changes in the mouse wheel status. - -Inputs -======= - -Mode - Change between *Up*, *Down* or *Up and Down* modes. - -Outputs -======= - -Position - Screen position of the mouse cursor (Vec2). diff --git a/source/manual/logic_nodes/nodes/basic/input/vr/index.rst b/source/manual/logic_nodes/nodes/basic/input/vr/index.rst deleted file mode 100644 index 1926cb81..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/vr/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -+++++ -VR -+++++ - -.. toctree:: - :maxdepth: 1 - - vr_headset.rst - vr_controller.rst diff --git a/source/manual/logic_nodes/nodes/basic/input/vr/vr_headset.rst b/source/manual/logic_nodes/nodes/basic/input/vr/vr_headset.rst deleted file mode 100644 index 368e5acf..00000000 --- a/source/manual/logic_nodes/nodes/basic/input/vr/vr_headset.rst +++ /dev/null @@ -1,20 +0,0 @@ -+++++++++++++++ -VR Headset -+++++++++++++++ - -.. figure:: /images/Logic_Nodes/vr_headset_node.png - :align: right - :width: 215 - :alt: VR Headset Node. - -The *VR Headset* retrieves the current position and orientation of the VR headset -if there is a running VR session. - -Outputs -======= - -Position - World position of the headset - -Orientation - World orientation of the headset \ No newline at end of file diff --git a/source/manual/logic_nodes/nodes/data/file/index.rst b/source/manual/logic_nodes/nodes/data/file/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/data/file/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/data/index.rst b/source/manual/logic_nodes/nodes/data/index.rst deleted file mode 100644 index 37f8d420..00000000 --- a/source/manual/logic_nodes/nodes/data/index.rst +++ /dev/null @@ -1,5 +0,0 @@ -++++++++++++ -Data Nodes -++++++++++++ - -.. toctree:: \ No newline at end of file diff --git a/source/manual/logic_nodes/nodes/data/render/index.rst b/source/manual/logic_nodes/nodes/data/render/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/data/render/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/data/variables/index.rst b/source/manual/logic_nodes/nodes/data/variables/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/data/variables/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/geometry/get_node_value.rst b/source/manual/logic_nodes/nodes/geometry/get_node_value.rst new file mode 100644 index 00000000..e1d6c33b --- /dev/null +++ b/source/manual/logic_nodes/nodes/geometry/get_node_value.rst @@ -0,0 +1,25 @@ +.. _ln-geo-get_node_value: + +.. figure:: /images/logic_nodes/nodes/geometry/ln-get_node_value.png + :align: right + :width: 215 + :alt: Get Node Value Node + +================ +Get Node Value +================ + +Inputs +++++++ + +Node Tree + Geometry node to inspect. + +Node Name + String representation of node name. + +Outputs ++++++++ + +Value + Resulting node value. diff --git a/source/manual/logic_nodes/nodes/geometry/get_socket_value.rst b/source/manual/logic_nodes/nodes/geometry/get_socket_value.rst new file mode 100644 index 00000000..c4517662 --- /dev/null +++ b/source/manual/logic_nodes/nodes/geometry/get_socket_value.rst @@ -0,0 +1,25 @@ +.. _ln-geo-get_socket_value: + +.. figure:: /images/logic_nodes/nodes/geometry/ln-get_socket_value.png + :align: right + :width: 215 + :alt: Get Socket Value Node + +================ +Get Socket Value +================ + +Inputs +++++++ + +Node Tree + Geometry node to inspect. + +Node Name + String representation of node name. + +Outputs ++++++++ + +Value + Resulting value for getting node socket. diff --git a/source/manual/logic_nodes/nodes/geometry/index.rst b/source/manual/logic_nodes/nodes/geometry/index.rst new file mode 100644 index 00000000..efdbc376 --- /dev/null +++ b/source/manual/logic_nodes/nodes/geometry/index.rst @@ -0,0 +1,13 @@ +.. _ln-nodes-geometry-index: + +====================== +Geometry +====================== + +.. toctree:: + :maxdepth: 1 + + get_socket_value + set_socket + get_node_value + set_node_value diff --git a/source/manual/logic_nodes/nodes/geometry/set_node_value.rst b/source/manual/logic_nodes/nodes/geometry/set_node_value.rst new file mode 100644 index 00000000..da6c1de7 --- /dev/null +++ b/source/manual/logic_nodes/nodes/geometry/set_node_value.rst @@ -0,0 +1,28 @@ +.. _ln-geo-set_node_value: + +.. figure:: /images/logic_nodes/nodes/geometry/ln-set_node_value.png + :align: right + :width: 215 + :alt: Set Node Value Node + +================ +Set Node Value +================ + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Node Tree + Geometry node to use. + +Node Name + String representation of node name. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/nodes/geometry/set_socket.rst b/source/manual/logic_nodes/nodes/geometry/set_socket.rst new file mode 100644 index 00000000..1fdcebdf --- /dev/null +++ b/source/manual/logic_nodes/nodes/geometry/set_socket.rst @@ -0,0 +1,28 @@ +.. _ln-geo-set_socket: + +.. figure:: /images/logic_nodes/nodes/geometry/ln-set_socket.png + :align: right + :width: 215 + :alt: Set Socket Node + +================ +Set Socket +================ + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Node Tree + Geometry node to use. + +Node Name + String representation of node name. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/nodes/groups/get_node_value.rst b/source/manual/logic_nodes/nodes/groups/get_node_value.rst new file mode 100644 index 00000000..9703cfa4 --- /dev/null +++ b/source/manual/logic_nodes/nodes/groups/get_node_value.rst @@ -0,0 +1,25 @@ +.. _ln-gro-get_node_value: + +.. figure:: /images/logic_nodes/nodes/groups/ln-get_node_value.png + :align: right + :width: 215 + :alt: Get Node Value Node + +================ +Get Node Value +================ + +Inputs +++++++ + +Node Tree + Group node to use. + +Node Name + Name of the node. + +Outputs ++++++++ + +Value + Resulting node value. diff --git a/source/manual/logic_nodes/nodes/groups/get_socket_value.rst b/source/manual/logic_nodes/nodes/groups/get_socket_value.rst new file mode 100644 index 00000000..8cf33ac2 --- /dev/null +++ b/source/manual/logic_nodes/nodes/groups/get_socket_value.rst @@ -0,0 +1,25 @@ +.. _ln-gro-get_socket_value: + +.. figure:: /images/logic_nodes/nodes/groups/ln-get_socket_value.png + :align: right + :width: 215 + :alt: Get Socket Value Node + +================ +Get Socket Value +================ + +Inputs +++++++ + +Node Tree + Geometry node to use. todo + +Node Name + String representation of node name. + +Outputs ++++++++ + +Value + Resulting socket value. diff --git a/source/manual/logic_nodes/nodes/groups/index.rst b/source/manual/logic_nodes/nodes/groups/index.rst new file mode 100644 index 00000000..ab0512df --- /dev/null +++ b/source/manual/logic_nodes/nodes/groups/index.rst @@ -0,0 +1,13 @@ +.. _ln-nodes-groups-index: + +====================== +Groups +====================== + +.. toctree:: + :maxdepth: 1 + + get_socket_value + set_socket + get_node_value + set_node_value diff --git a/source/manual/logic_nodes/nodes/groups/set_node_value.rst b/source/manual/logic_nodes/nodes/groups/set_node_value.rst new file mode 100644 index 00000000..b3ab1782 --- /dev/null +++ b/source/manual/logic_nodes/nodes/groups/set_node_value.rst @@ -0,0 +1,37 @@ +.. _ln-gro-set_node_value: + +.. figure:: /images/logic_nodes/nodes/groups/ln-set_node_value.png + :align: right + :width: 215 + :alt: Set Node Value Node + +================ +Set Node Value +================ + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Node Tree + Group node to use. + +Node Name + String representation of node name. + +Internal + todo + +Attribute + todo + +Value + Type and value to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/nodes/groups/set_socket.rst b/source/manual/logic_nodes/nodes/groups/set_socket.rst new file mode 100644 index 00000000..92672c45 --- /dev/null +++ b/source/manual/logic_nodes/nodes/groups/set_socket.rst @@ -0,0 +1,28 @@ +.. _ln-gro-set_socket: + +.. figure:: /images/logic_nodes/nodes/groups/ln-set_socket.png + :align: right + :width: 215 + :alt: Set Socket Node + +================ +Set Socket +================ + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Node Tree + Group node to use. + +Node Name + Name of the node. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/nodes/index.rst b/source/manual/logic_nodes/nodes/index.rst index 8ce70200..224834a0 100644 --- a/source/manual/logic_nodes/nodes/index.rst +++ b/source/manual/logic_nodes/nodes/index.rst @@ -1,14 +1,12 @@ -.. _nodes-index: +.. _ln-nodes-index: -+++++++++++ -Logic Nodes -+++++++++++ +====================== +Nodes +====================== .. toctree:: - :maxdepth: 2 - - basic/index.rst - scene/index.rst - logic_math/index.rst - data/index.rst - utilities/index.rst \ No newline at end of file + :maxdepth: 1 + + materials/index + geometry/index + groups/index diff --git a/source/manual/logic_nodes/nodes/logic_math/index.rst b/source/manual/logic_nodes/nodes/logic_math/index.rst deleted file mode 100644 index 229307e8..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/index.rst +++ /dev/null @@ -1,5 +0,0 @@ -++++++++++++ -Logic & Math Nodes -++++++++++++ - -.. toctree:: diff --git a/source/manual/logic_nodes/nodes/logic_math/logic/index.rst b/source/manual/logic_nodes/nodes/logic_math/logic/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/logic/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/logic_math/math/index.rst b/source/manual/logic_nodes/nodes/logic_math/math/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/math/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/logic_math/physics/index.rst b/source/manual/logic_nodes/nodes/logic_math/physics/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/physics/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/logic_math/python/index.rst b/source/manual/logic_nodes/nodes/logic_math/python/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/python/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/logic_math/ray_casts/index.rst b/source/manual/logic_nodes/nodes/logic_math/ray_casts/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/ray_casts/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/logic_math/time/index.rst b/source/manual/logic_nodes/nodes/logic_math/time/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/logic_math/time/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/materials/get_node.rst b/source/manual/logic_nodes/nodes/materials/get_node.rst new file mode 100644 index 00000000..533f495c --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/get_node.rst @@ -0,0 +1,25 @@ +.. _ln-mat-get_node: + +.. figure:: /images/logic_nodes/nodes/materials/ln-get_node.png + :align: right + :width: 215 + :alt: Get Node Node + +=============== +Get Node +=============== + +Inputs +++++++ + +Material + Which material to inspect. + +Node Name + todo + +Outputs ++++++++ + +Node + Resulting node. diff --git a/source/manual/logic_nodes/nodes/materials/get_node_value.rst b/source/manual/logic_nodes/nodes/materials/get_node_value.rst new file mode 100644 index 00000000..96997136 --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/get_node_value.rst @@ -0,0 +1,25 @@ +.. _ln-mat-get_node_value: + +.. figure:: /images/logic_nodes/nodes/materials/ln-get_node_value.png + :align: right + :width: 215 + :alt: Get Node Value Node + +================ +Get Node Value +================ + +Inputs +++++++ + +Material + todo + +Node Name + String representation of node name. + +Outputs ++++++++ + +Value + Resulting node value. diff --git a/source/manual/logic_nodes/nodes/materials/get_socket_value.rst b/source/manual/logic_nodes/nodes/materials/get_socket_value.rst new file mode 100644 index 00000000..74576f02 --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/get_socket_value.rst @@ -0,0 +1,25 @@ +.. _ln-mat-get_socket_value: + +.. figure:: /images/logic_nodes/nodes/materials/ln-get_socket_value.png + :align: right + :width: 215 + :alt: Get Socket Value Node + +================ +Get Socket Value +================ + +Inputs +++++++ + +Material + todo + +Node Name + todo + +Outputs ++++++++ + +Value + Resulting socket value. diff --git a/source/manual/logic_nodes/nodes/materials/index.rst b/source/manual/logic_nodes/nodes/materials/index.rst new file mode 100644 index 00000000..728a236f --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/index.rst @@ -0,0 +1,15 @@ +.. _ln-nodes-materials-index: + +====================== +Materials +====================== + +.. toctree:: + :maxdepth: 1 + + get_node + play_sequence + get_socket_value + set_socket + get_node_value + set_node_value diff --git a/source/manual/logic_nodes/nodes/materials/play_sequence.rst b/source/manual/logic_nodes/nodes/materials/play_sequence.rst new file mode 100644 index 00000000..c5d3cba7 --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/play_sequence.rst @@ -0,0 +1,37 @@ +.. _ln-mat-play_sequence: + +.. figure:: /images/logic_nodes/nodes/materials/ln-play_sequence.png + :align: right + :width: 215 + :alt: Play Sequence Node + +=============== +Play Sequence +=============== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Material + Which sprite/material to use. + +Node Name + todo + +Outputs ++++++++ + +On Start + Emits *True* signal that sequence started playing. + +Running + *True* when sequence is playing. + +On Finish + Emits *True* signal when sequence stops. + +Current Frame + Integer value of current sequence frame. diff --git a/source/manual/logic_nodes/nodes/materials/set_node_value.rst b/source/manual/logic_nodes/nodes/materials/set_node_value.rst new file mode 100644 index 00000000..3d530578 --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/set_node_value.rst @@ -0,0 +1,28 @@ +.. _ln-mat-set_node_value: + +.. figure:: /images/logic_nodes/nodes/materials/ln-set_node_value.png + :align: right + :width: 215 + :alt: Set Node Value Node + +================ +Set Node Value +================ + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Material + todo + +Node Name + String representation for node name. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/nodes/materials/set_socket.rst b/source/manual/logic_nodes/nodes/materials/set_socket.rst new file mode 100644 index 00000000..f1e19d63 --- /dev/null +++ b/source/manual/logic_nodes/nodes/materials/set_socket.rst @@ -0,0 +1,28 @@ +.. _ln-mat-set_socket: + +.. figure:: /images/logic_nodes/nodes/materials/ln-set_socket.png + :align: right + :width: 215 + :alt: Set Socket Node + +================ +Set Socket +================ + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Material + Which material node to set. todo + +Node Name + String representation of node name. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/nodes/scene/animation/animation_status.rst b/source/manual/logic_nodes/nodes/scene/animation/animation_status.rst deleted file mode 100644 index 850096c3..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/animation_status.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++ -Animation Status -++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/armature_bone_status.rst b/source/manual/logic_nodes/nodes/scene/animation/armature_rig/armature_bone_status.rst deleted file mode 100644 index a82e66a7..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/armature_bone_status.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++++++ -Armature Bone Status -++++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/edit_armature_bone.rst b/source/manual/logic_nodes/nodes/scene/animation/armature_rig/edit_armature_bone.rst deleted file mode 100644 index 8e7469c3..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/edit_armature_bone.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++++ -Edit Armature Bone -++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/edit_armature_constraint.rst b/source/manual/logic_nodes/nodes/scene/animation/armature_rig/edit_armature_constraint.rst deleted file mode 100644 index 9b8a0854..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/edit_armature_constraint.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++++++++++ -Edit Armature Constraint -++++++++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/index.rst b/source/manual/logic_nodes/nodes/scene/animation/armature_rig/index.rst deleted file mode 100644 index b3fda33e..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -************** -Armature / Rig -************** - -.. toctree:: - :maxdepth: 1 - - armature_bone_status.rst - edit_armature_bone.rst - edit_armature_constraint.rst - set_bone_position.rst diff --git a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/set_bone_position.rst b/source/manual/logic_nodes/nodes/scene/animation/armature_rig/set_bone_position.rst deleted file mode 100644 index 38591f5a..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/armature_rig/set_bone_position.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++++ -Set Bone Position -+++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/index.rst b/source/manual/logic_nodes/nodes/scene/animation/index.rst deleted file mode 100644 index f89194fd..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -+++++++++ -Animation -+++++++++ - -.. toctree:: - :maxdepth: 2 - - armature_rig/index.rst - animation_status.rst - play_animation.rst - set_animation_frame.rst - stop_animation.rst diff --git a/source/manual/logic_nodes/nodes/scene/animation/play_animation.rst b/source/manual/logic_nodes/nodes/scene/animation/play_animation.rst deleted file mode 100644 index 764ae5c0..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/play_animation.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++ -Play Animation -++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/set_animation_frame.rst b/source/manual/logic_nodes/nodes/scene/animation/set_animation_frame.rst deleted file mode 100644 index 2186e3e5..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/set_animation_frame.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++++++ -Set Animation Frame -+++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/animation/stop_animation.rst b/source/manual/logic_nodes/nodes/scene/animation/stop_animation.rst deleted file mode 100644 index b5a1e5cd..00000000 --- a/source/manual/logic_nodes/nodes/scene/animation/stop_animation.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++ -Stop Animation -++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/index.rst b/source/manual/logic_nodes/nodes/scene/index.rst deleted file mode 100644 index c21b9a52..00000000 --- a/source/manual/logic_nodes/nodes/scene/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -++++++++++++ -Scene Manipulation Nodes -++++++++++++ - -.. toctree:: - :maxdepth: 1 - - animation/index.rst - lights/index.rst - nodes/index.rst - objects/index.rst - sound/index.rst diff --git a/source/manual/logic_nodes/nodes/scene/lights/get_light_color.rst b/source/manual/logic_nodes/nodes/scene/lights/get_light_color.rst deleted file mode 100644 index 6a6db215..00000000 --- a/source/manual/logic_nodes/nodes/scene/lights/get_light_color.rst +++ /dev/null @@ -1,72 +0,0 @@ -+++++++++++++++ -Get Light Color -+++++++++++++++ - -.. figure:: /images/node-types_GeometryNodeCaptureAttribute.webp - :align: right - :alt: Capture Attribute node. - -The *Capture Attribute* node stores the result of a field on a geometry, -and outputs the data as a node socket so it can be used by other nodes. - -The result is stored on the geometry just like a regular attribute with -a name, but instead of referencing it with a name, it is retrieved whenever -the socket is connected to the input of a node. Later on when evaluating the node tree, -the attribute will be removed automatically if it is no longer used. - -This node is essential because field input nodes like the :doc:`/modeling/geometry_nodes/geometry/read/radius` -work in the context of the node they are connected to. Meaning that in order to pass data like ``radius`` -to a geometry that doesn't have radius, an explicit node link with the output of this node must be used. - -.. note:: - - Because this node stores an :ref:`anonymous attribute ` in the geometry, - it's essential to use the geometry output for further operations in the node tree. - The anonymous attribute will not exist for any other geometry besides the output. - - -Inputs -====== - -Geometry - Standard geometry input. - -Value - The input field to evaluate. - - -Properties -========== - -Data Type - The :ref:`data type ` used for the evaluated data. - -Domain - Which :ref:`attribute domain ` to store the evaluated data on. - - -Outputs -======= - -Geometry - Standard geometry output. - -Attribute - The result of the evaluated field, stored on the geometry. - - -Examples -======== - -.. figure:: /images/modeling_geometry-nodes_attribute_capture-attribute_example.png - -Here, a noise texture is evaluated in along the path of the curve in one dimension -and rendered with a shader. The capture node is required because the output of -the :doc:`/modeling/geometry_nodes/curve/operations/curve_to_mesh` does not have a "curve parameter", -since it is a mesh and not a curve. So, the :doc:`/modeling/geometry_nodes/curve/read/spline_parameter` -must be evaluated while the geometry is still a curve. - -Internally, after the noise texture is evaluated on the curve, -it is automatically copied to the mesh result of the Curve to Mesh node. -This means that anywhere *Attribute* output of this node can be connected along -the same stream of geometry nodes, the internal attribute will be available. \ No newline at end of file diff --git a/source/manual/logic_nodes/nodes/scene/lights/get_light_energy.rst b/source/manual/logic_nodes/nodes/scene/lights/get_light_energy.rst deleted file mode 100644 index e4897908..00000000 --- a/source/manual/logic_nodes/nodes/scene/lights/get_light_energy.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++ -Get Light Energy -++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/lights/index.rst b/source/manual/logic_nodes/nodes/scene/lights/index.rst deleted file mode 100644 index 71ef7216..00000000 --- a/source/manual/logic_nodes/nodes/scene/lights/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -++++++ -Lights -++++++ - -.. toctree:: - :maxdepth: 1 - - get_light_color.rst - get_light_energy.rst - set_light_color.rst - set_light_energy.rst - set_light_shadow.rst diff --git a/source/manual/logic_nodes/nodes/scene/lights/set_light_color.rst b/source/manual/logic_nodes/nodes/scene/lights/set_light_color.rst deleted file mode 100644 index 960462cf..00000000 --- a/source/manual/logic_nodes/nodes/scene/lights/set_light_color.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++ -Set Light Color -+++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/lights/set_light_energy.rst b/source/manual/logic_nodes/nodes/scene/lights/set_light_energy.rst deleted file mode 100644 index 45caa3ee..00000000 --- a/source/manual/logic_nodes/nodes/scene/lights/set_light_energy.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++ -Set Light Energy -++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/lights/set_light_shadow.rst b/source/manual/logic_nodes/nodes/scene/lights/set_light_shadow.rst deleted file mode 100644 index 95407b2a..00000000 --- a/source/manual/logic_nodes/nodes/scene/lights/set_light_shadow.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++ -Set Light Shadow -++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/nodes/geometry/get_node_input_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/geometry/get_node_input_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/geometry/get_node_input_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/geometry/get_node_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/geometry/get_node_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/geometry/get_node_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/geometry/index.rst b/source/manual/logic_nodes/nodes/scene/nodes/geometry/index.rst deleted file mode 100644 index b6211f15..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/geometry/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -++++++++ -Geometry -++++++++ - -.. toctree:: - :maxdepth: 1 - - get_node_input_value.rst - get_node_value.rst - set_node_input_value.rst - set_node_value.rst diff --git a/source/manual/logic_nodes/nodes/scene/nodes/geometry/set_node_input_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/geometry/set_node_input_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/geometry/set_node_input_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/geometry/set_node_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/geometry/set_node_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/geometry/set_node_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/groups/get_node_input_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/groups/get_node_input_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/groups/get_node_input_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/groups/get_node_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/groups/get_node_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/groups/get_node_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/groups/index.rst b/source/manual/logic_nodes/nodes/scene/nodes/groups/index.rst deleted file mode 100644 index 3b48eecf..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/groups/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -++++++ -Groups -++++++ - -.. toctree:: - :maxdepth: 1 - get_node_input_value.rst - get_node_value.rst - set_node_input_value.rst - set_node_value.rst - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/groups/set_node_input_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/groups/set_node_input_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/groups/set_node_input_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/groups/set_node_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/groups/set_node_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/groups/set_node_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/index.rst b/source/manual/logic_nodes/nodes/scene/nodes/index.rst deleted file mode 100644 index 97287368..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -+++++ -Nodes -+++++ - -.. toctree:: - :maxdepth: 1 - - materials/index.rst - geometry/index.rst - groups/index.rst diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node_input_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node_input_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node_input_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/get_node_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/index.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/index.rst deleted file mode 100644 index 25aee825..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -+++++++++ -Materials -+++++++++ - -.. toctree:: - :maxdepth: 1 - - get_node.rst - get_node_input_value.rst - get_node_value.rst - play_sequence.rst - set_material.rst - set_node_input_value.rst - set_node_value.rst diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/play_sequence.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/play_sequence.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/play_sequence.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/set_material.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/set_material.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/set_material.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/set_node_input_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/set_node_input_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/set_node_input_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/nodes/materials/set_node_value.rst b/source/manual/logic_nodes/nodes/scene/nodes/materials/set_node_value.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/scene/nodes/materials/set_node_value.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/scene/objects/add_object.rst b/source/manual/logic_nodes/nodes/scene/objects/add_object.rst deleted file mode 100644 index 68659567..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/add_object.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++ -Add Object -++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/data/get_axis_vector.rst b/source/manual/logic_nodes/nodes/scene/objects/data/get_axis_vector.rst deleted file mode 100644 index aa7015dc..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/data/get_axis_vector.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++ -Get Axis Vector -+++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/data/get_positition_rotation_scale_etc.rst b/source/manual/logic_nodes/nodes/scene/objects/data/get_positition_rotation_scale_etc.rst deleted file mode 100644 index 25cbd6be..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/data/get_positition_rotation_scale_etc.rst +++ /dev/null @@ -1,51 +0,0 @@ -+++++++++++++++++++++++++++++++++++++ -Get Positition / Rotation / Scale etc. -+++++++++++++++++++++++++++++++++++++ - -Description -=========== - -Get characteristics of an object to use in another node - -Input -===== - -Object - The condition for this node start - -Options - Visibility - ???? - - Color - ???? - - Name - nome do objeto na scene collection? - - Scale - Escala atual do objeto X, Y e Z - - Transform Global and Local - - - Torque Global and Local - - - Velocity Global and Local - - - Rotation Global and Local - - - Position Global and Local - Global = - Local = If object - - -Output -====== - -Value - **True** if the node performed successfully. - diff --git a/source/manual/logic_nodes/nodes/scene/objects/data/get_unique_name.rst b/source/manual/logic_nodes/nodes/scene/objects/data/get_unique_name.rst deleted file mode 100644 index a7245d0a..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/data/get_unique_name.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++ -Get Unique Name -+++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/data/index.rst b/source/manual/logic_nodes/nodes/scene/objects/data/index.rst deleted file mode 100644 index 7c9f7f7e..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/data/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -++++ -Data -++++ - -.. toctree:: - :maxdepth: 1 - - get_axis_vector.rst - get_positition_rotation_scale_etc.rst - get_unique_name.rst - replace_mesh.rst - set_position_rotation_scale_etc.rst diff --git a/source/manual/logic_nodes/nodes/scene/objects/data/replace_mesh.rst b/source/manual/logic_nodes/nodes/scene/objects/data/replace_mesh.rst deleted file mode 100644 index 10e9d90b..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/data/replace_mesh.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++ -Replace Mesh -++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/data/set_position_rotation_scale_etc.rst b/source/manual/logic_nodes/nodes/scene/objects/data/set_position_rotation_scale_etc.rst deleted file mode 100644 index 2b268e17..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/data/set_position_rotation_scale_etc.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++++++++++++++++++++++ -Set Position / Rotation / Scale etc. -++++++++++++++++++++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/get_child_by_index.rst b/source/manual/logic_nodes/nodes/scene/objects/get_child_by_index.rst deleted file mode 100644 index 7612cc32..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/get_child_by_index.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++++ -Get Child By Index -++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/get_child_by_name.rst b/source/manual/logic_nodes/nodes/scene/objects/get_child_by_name.rst deleted file mode 100644 index d1f86706..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/get_child_by_name.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++++ -Get Child By Name -+++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/get_object.rst b/source/manual/logic_nodes/nodes/scene/objects/get_object.rst deleted file mode 100644 index f8be2f0c..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/get_object.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++ -Get Object -++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/get_owner.rst b/source/manual/logic_nodes/nodes/scene/objects/get_owner.rst deleted file mode 100644 index 9dda82da..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/get_owner.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++ -Get Owner -+++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/get_parent.rst b/source/manual/logic_nodes/nodes/scene/objects/get_parent.rst deleted file mode 100644 index a57cf52d..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/get_parent.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++ -Get Parent -++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/index.rst b/source/manual/logic_nodes/nodes/scene/objects/index.rst deleted file mode 100644 index fe17cdb1..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/index.rst +++ /dev/null @@ -1,28 +0,0 @@ -+++++++ -Objects -+++++++ - -.. toctree:: - :maxdepth: 2 - - transformation/index.rst - properties/index.rst - data/index.rst - - - -.. toctree:: - :maxdepth: 1 - - add_object.rst - get_child_by_index.rst - get_child_by_name.rst - get_object.rst - get_owner.rst - get_parent.rst - remove_object.rst - remove_parent.rst - send_message.rst - set_curve_points.rst - set_parent.rst - set_visibility.rst diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/clamped_modify_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/clamped_modify_property.rst deleted file mode 100644 index eb1d232e..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/clamped_modify_property.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++++++++++ -Clamped Modify Property -+++++++++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/copy_from_object.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/copy_from_object.rst deleted file mode 100644 index c790de48..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/copy_from_object.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++ -Copy from Object -++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/evaluate_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/evaluate_property.rst deleted file mode 100644 index 73f97213..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/evaluate_property.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++++ -Evaluate Property -+++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/get_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/get_property.rst deleted file mode 100644 index 42bc9911..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/get_property.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++ -Get Property -++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/has_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/has_property.rst deleted file mode 100644 index 1c89b408..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/has_property.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++ -Has Property -++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/index.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/index.rst deleted file mode 100644 index 92dadc6d..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -++++++++++ -Properties -++++++++++ - -.. toctree:: - :maxdepth: 1 - - clamped_modify_property.rst - copy_from_object.rst - evaluate_property.rst - get_property.rst - has_property.rst - modify_property.rst - set_property.rst - toggle_property.rst diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/modify_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/modify_property.rst deleted file mode 100644 index c97889f8..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/modify_property.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++ -Modify Property -+++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/set_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/set_property.rst deleted file mode 100644 index 8ec56281..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/set_property.rst +++ /dev/null @@ -1,31 +0,0 @@ -++++++++++++ -Set Property -++++++++++++ - -Description -=========== - -Changes a property of a selected object. - -The values that can be assigned are: string, float, integer, bool, file path - -Input -===== - -Condition -The condition for this node start - -Object - Object that contains the desired properties - -Property - Specifies which properties to change - -Type - Select which type of property to change (string, float, integer, bool, file path) and its new value - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/properties/toggle_property.rst b/source/manual/logic_nodes/nodes/scene/objects/properties/toggle_property.rst deleted file mode 100644 index 65a47c9a..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/properties/toggle_property.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++ -Toggle Property -+++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/remove_object.rst b/source/manual/logic_nodes/nodes/scene/objects/remove_object.rst deleted file mode 100644 index ce761015..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/remove_object.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++ -Remove Object -+++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/remove_parent.rst b/source/manual/logic_nodes/nodes/scene/objects/remove_parent.rst deleted file mode 100644 index 3284cdf8..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/remove_parent.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++ -Remove Parent -+++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/send_message.rst b/source/manual/logic_nodes/nodes/scene/objects/send_message.rst deleted file mode 100644 index 29e91751..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/send_message.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++ -Send Message -++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/set_curve_points.rst b/source/manual/logic_nodes/nodes/scene/objects/set_curve_points.rst deleted file mode 100644 index 2bf0cc19..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/set_curve_points.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++++ -Set Curve Points -++++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/set_parent.rst b/source/manual/logic_nodes/nodes/scene/objects/set_parent.rst deleted file mode 100644 index 730031bf..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/set_parent.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++ -Set Parent -++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/set_visibility.rst b/source/manual/logic_nodes/nodes/scene/objects/set_visibility.rst deleted file mode 100644 index 8c7ebeca..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/set_visibility.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++++ -Set Visibility -++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/align_axis_to_vector.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/align_axis_to_vector.rst deleted file mode 100644 index c3bf7e5b..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/align_axis_to_vector.rst +++ /dev/null @@ -1,47 +0,0 @@ -******************** -Align Axis to Vector -******************** - -Description -=========== - -Aligns any of the 3 axes of an object's Cartesian plane to its positive or negative values ​​(+X, +Y, +Z, -X, -Y, -Z) to some vector. - -Vector is a 3D vector is a line segment in three-dimensional space running from point A (tail) to point B (head) - -.. figure:: /images/Logic_Nodes/logic-nodes-category-2-objects-transformation-align-axis-to-vector.png - - Align Axis to Vector node. - -Input -===== - -Global - The **Object** will align with the **Vector** no matter where any of them are. - -Local - The direction of the **Object** will be the same direction that the **Vector** has in relation to the **World Origin**. - - If your **Vector** is in a certain position relative to **World Origin**, your object will receive the same angulation in this relation: **World Origin** to **Object** - -Condition - The condition for this node start - -Object - Object that will be aligned - -Vector - Location within three-dimensional space where the object will be aligned - -Axis - The axis that will be given as "front" of the object - -Factor - Each time this node is activated ("condition"), the "Object" will rotate to its destination by a certain amount. - It can be completed in just one activation (Factor: 1.00) or up to 100 activations (Factor: 0.01). Any other value can be written between 0 and 1 - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_force.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_force.rst deleted file mode 100644 index 3c38876f..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_force.rst +++ /dev/null @@ -1,43 +0,0 @@ -*********** -Apply Force -*********** - -Description -=========== - -Applies an offset force to an object on any axis of the Cartesian plane. The direction of force can be applied following the axis of the object(Local) or the axis of the world(Global). - -For this node to function properly, the object must have some physical property that enables displacement. - -`Game Physics `_ > -`Physics Type `_: -`Dynamic `_, -`Rigid Body `_, -`Soft Body `_. - - -This node applies force to the entire object. In contrast, the **Apply Impulse** node applies force at a specific point. - -Input -===== - -Global - The force will be applied in the direction of the global axes - -Local - Force will be applied in the direction of the object's axes - -Condition - The condition for this node start - -Object - Object that will be pushed away - -Vector - The value of the force that will be applied to the object by the direction of the axes in the Cartesian plane. It can be a value referring to the axes of the world (Global) or the axes of the object (Local) - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_impulse.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_impulse.rst deleted file mode 100644 index 2e81c826..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_impulse.rst +++ /dev/null @@ -1,47 +0,0 @@ -************* -Apply Impulse -************* - -Description -=========== - -It doesn't seem to be working properly - 01/09/2021 - -Applies a displacement force that has an origin(**Point**) and a **Direction**. - -For this node to function properly, the object must have some physical property that enables displacement. - -:ref:`Game Physics ` > -:ref:`Physics Type `: -:ref:`Dynamic `, -:ref:`Rigid Body `, -:ref:`Soft Body `. - - -This node applies force at a specific point. In contrast, the **Apply Force** node applies force in entire object. - -Input -===== - -Global - - -Local - - -Condition - The condition for this node start - -Object - Object that will be pushed away - -Point - - -Direction - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_movement.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_movement.rst deleted file mode 100644 index 288e43cd..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_movement.rst +++ /dev/null @@ -1,38 +0,0 @@ -*********** -Apply Movement -*********** - -Description -=========== - -Moves the object a certain vector-defined distance. Does not apply acceleration. - -The object is still subject to other forces while the motion is being applied, such as acceleration due to the force of gravity. - -The node can be applied to some types of physical properties, as follows: - -`Game Physics `_ > -`Physics Type `_: -`No Collision `_, -`Static `_, -`Dynamic `_, -`Rigid Body `_, -`Character `_. - -Input -===== - -Condition - The condition for this node start - -Object - Object that will be moved - -Vector - The amount of displacement that will be applied to the object. - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_rotation.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_rotation.rst deleted file mode 100644 index b5f8a12e..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_rotation.rst +++ /dev/null @@ -1,33 +0,0 @@ -************** -Apply Rotation -************** - -Description -=========== - -Rotates an object a certain vector-defined angulation. Each time this node is activated, the defined rotation will happen. - -See also :doc:`Rotate To ` - -Input -===== -Global - The rotation will be applied following the global axes of the scene - -Local - The rotation will be applied following the object's axes - -Condition - The condition for this node start - -Object - Object that will be rotated - -Vector - The value that will be applied to the rotation in degrees - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_torque.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_torque.rst deleted file mode 100644 index 6c162897..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/apply_torque.rst +++ /dev/null @@ -1,47 +0,0 @@ -************ -Apply Torque -************ - -Description -=========== -.. - Original text in portuguese - Rotaciona um objeto utilizando a mecânica de torque e tenta seguir as regras físicas do mundo real. Utiliza como unidade de medida o Newton-metro (Torque = Força x Comprimento da alavanca). - No mundo real, para aplicar torque é necessário uma **alavanca com comprimento** e um **objeto que esteja sofrendo uma força de união**. Para o movimento acontecer nesse objeto o *Torque* deve ser maior que a *força de união*. A força de união real geralmente engloba atrito e tensão. - Diferente do mundo real que a chave de boca "prende" o parafuso que está sendo rotacionado, na UPBGE não existe essa limitação e então toda a força do Torque é aplicada de uma só vez, podendo perpetuar a continuidade da rotação. - Se o objeto possuir algum tipo de `Collision Bounds `_ diferente de Sphere, será necessário um valor de torque superior à força que deixa o objeto estático para ele poder "rotacionar". - -Rotate an object using torque mechanics and try to follow real-world physical rules. It uses the Newton-meter as a unit of measure (Torque = Force x Length of the lever). - -In the real world, applying torque requires a **lever with length** and an **object that is experiencing a binding force**. For movement to take place on this object the *Torque* must be greater than the *Bonding Force*. The *Real Bonding Force* generally encompasses friction and tension. - -Unlike in the real world, the wrench "holds" the screw that is being rotated, in the UPBGE there is no such limitation and so all the Torque force is applied at once, which can perpetuate the rotation continuity. - -If the object has some kind of `Collision Bounds `_ different from Sphere, will be necessary a torque value greater than the force that makes the object static - -.. note:: - In order to limit pivoting of the torquing, assign a rotation limit to a certain origin with either an `Armature Bone `_ or a `Rigid Body Joint Constraint `_. - - -Input -===== -Global - The *torque* will be applied following the global axes of the scene - -Local - The *torque* will be applied following the object's axes - -Condition - The condition for this node start - -Object - Object that will be rotated - -Vector - The value that will be applied to the rotation in newton-meters - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/follow_path.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/follow_path.rst deleted file mode 100644 index 0a1724d2..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/follow_path.rst +++ /dev/null @@ -1,71 +0,0 @@ -************* -Follow Path -************* - -Description -=========== - -This node doesn't seem to be able to run fully in certain situations - -Select an object to move through the points of a Nurbs Curve - -This node only works in conjunction with "Get Curve Points" - -It's very useful to use on NPCs who need to walk around - - -Input -===== - -Condition - The condition for this node start - -Moving Object - Object that will be moved - -Rotating Object - Object that will rotate when changing direction - -Path Points - It is necessary to use the "Get Curve Points" node -.. A series of Empty Objects parented. - The **Parent Object** does not define the position of the object. - The **Child Objects** mark which positions the object will pass during displacement - The order that the object will follow is according to the alphabetical and numerical order of the **Child Objects**. - -Loop - If selected: after arriving at the position of the last point, the object will return to the start of the displacement - - Unselected: The object will end the displacement at the last Curve's point. - -Optional Navmesh - If there is a boundary in the area where the object travels, select the `Navigation Mesh `_ - -Move as Dynamic - Dynamic objects give and receive collisions, so other objects can dynamically affect the trajectory of the "Moving Object". - - See `Dynamic `_ to more - -Lin Speed - The linear speed of the object, basically the travelling speed - -Reach Threshold - The distance to the target it needs to count as "arrived" - -Look At - If selected, the front of the object will observe the direction of displacement. - -Root Speed - The speed at which the object will move sideways when making a change of direction - -Rot Axis - When the object makes a change of direction, which axis will rotate - -Front - Which axis is the front of the object - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/index.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/index.rst deleted file mode 100644 index 62d540b6..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -++++++++++++++ -Transformation -++++++++++++++ - -.. toctree:: - :maxdepth: 1 - - align_axis_to_vector.rst - apply_force.rst - apply_impulse.rst - apply_movement.rst - apply_rotation.rst - apply_torque.rst - follow_path.rst - move_to.rst - move_to_with_navmesh.rst - rotate_to.rst - translate.rst diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/move_to.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/move_to.rst deleted file mode 100644 index 4a754a45..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/move_to.rst +++ /dev/null @@ -1,35 +0,0 @@ -*********** -Move To -*********** - -Description -=========== - -Moves a selected object to a specific location in the scene. - -Input -===== - -Condition - The condition for this node start - -Object - Object that will be moved - -Target Location - The final destination of the object - -Move as Dynamic - *missing explanation* - -Speed - The amount of displacement that will be applied to the object on each "Condition" activation. - -Stop At Distance - The distance the object needs to be close to the *Target Location* to complete the move - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/move_to_with_navmesh.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/move_to_with_navmesh.rst deleted file mode 100644 index e48a8ad5..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/move_to_with_navmesh.rst +++ /dev/null @@ -1,64 +0,0 @@ -******************** -Move To with Navmesh -******************** - -Description -=========== - -Used to move an object in a space delimited by a **Navigation Mesh** - -**Navigation Mesh** is an object that's invisible in-game that just defines where your AI can walk and what's off-limit - -To define an object as a **Navigation Mesh**, you must go to the **Physics properties** area of your object and select in **Game Physics** the object as being **Navigation Mesh** - - -Input -===== - -Condition - The condition for this node start - -Moving Object - Object that will be moved - -Rotating Object - Object that will rotate when the direction changes - -Navmesh Object - Object that will delimit the movement area - -Destination - Final destination of the object. It can be a value using coordinates or location of another object. - -Move as Dynamic - Dynamic objects give and receive collisions, so other objects can dynamically affect the trajectory of the "Moving Object". - - See `Dynamic `_ to more - -Lin Speed - The linear speed of the object, basically the travelling speed - -Reach Threshold - The distance to the target it needs to count as "arrived" - -Look At - If selected, the front of the object will observe the direction of displacement. - -Rot Axis - When the object makes a change of direction, which axis will rotate - -Front - Which axis is the front of the object - -Rot Speed - The speed at which the object will move sideways when making a change of direction - -Visualize - View the displacement path with a red line during gameplay - -Output -====== - -Done - **True** if the node performed successfully. - diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/rotate_to.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/rotate_to.rst deleted file mode 100644 index 501ecac0..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/rotate_to.rst +++ /dev/null @@ -1,40 +0,0 @@ -*********** -Rotate to -*********** - -Description -=========== - -Rotates a selected object to a specific angle, it can be instantaneous or with speed. - -Applies rotation only on a single axis and fixed angulation in the world. - -See also `Apply Rotation `_ - -Input -===== - -Condition - The condition for this node start - -Object - Object that will be rotared - -Target - The object's rotation defined in degrees - -Speed - The speed to complete the move. Every time the node is activated, the displacement made will be smaller - -Rot Axis - The axis of the object that will be used to rotate it during node execution - -Front - Which axis is the front of the object - - -Output -====== - -**Done** - **True** if the node performed successfully. diff --git a/source/manual/logic_nodes/nodes/scene/objects/transformation/translate.rst b/source/manual/logic_nodes/nodes/scene/objects/transformation/translate.rst deleted file mode 100644 index 1f31bc41..00000000 --- a/source/manual/logic_nodes/nodes/scene/objects/transformation/translate.rst +++ /dev/null @@ -1,38 +0,0 @@ -*********** -Translate -*********** - -Description -=========== - -Rotates a selected object to a specific angle instantly. - -Applies rotation only on a single axis and fixed angulation in the world. - -See also `Apply Rotation `_ - -Input -===== - -Condition - The condition for this node start - -Object - Object that will be rotared - -Local - The object's rotation defined in degrees - -Vector - The axis of the object that will be used to rotate it during node execution - -Speed - - - -Output -====== - -**When Done** - **True** if the node performed successfully. - diff --git a/source/manual/logic_nodes/nodes/scene/sound/2d_sound.rst b/source/manual/logic_nodes/nodes/scene/sound/2d_sound.rst deleted file mode 100644 index 84083fdf..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/2d_sound.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++ -2D Sound -++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/sound/3d_sound.rst b/source/manual/logic_nodes/nodes/scene/sound/3d_sound.rst deleted file mode 100644 index 2b96bdd7..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/3d_sound.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++ -3D Sound -++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/sound/index.rst b/source/manual/logic_nodes/nodes/scene/sound/index.rst deleted file mode 100644 index 96c74ce1..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -+++++ -Sound -+++++ - -.. toctree:: - :maxdepth: 1 - - 2d_sound.rst - 3d_sound.rst - pause_sound.rst - resume_sound.rst - stop_all_sounds.rst - stop_sound.rst diff --git a/source/manual/logic_nodes/nodes/scene/sound/pause_sound.rst b/source/manual/logic_nodes/nodes/scene/sound/pause_sound.rst deleted file mode 100644 index 41594105..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/pause_sound.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++ -Pause Sound -+++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/sound/resume_sound.rst b/source/manual/logic_nodes/nodes/scene/sound/resume_sound.rst deleted file mode 100644 index 0ba5acfd..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/resume_sound.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++++ -Resume Sound -++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/sound/stop_all_sounds.rst b/source/manual/logic_nodes/nodes/scene/sound/stop_all_sounds.rst deleted file mode 100644 index 1b583c01..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/stop_all_sounds.rst +++ /dev/null @@ -1,3 +0,0 @@ -+++++++++++++++ -Stop All Sounds -+++++++++++++++ diff --git a/source/manual/logic_nodes/nodes/scene/sound/stop_sound.rst b/source/manual/logic_nodes/nodes/scene/sound/stop_sound.rst deleted file mode 100644 index 0fa71751..00000000 --- a/source/manual/logic_nodes/nodes/scene/sound/stop_sound.rst +++ /dev/null @@ -1,3 +0,0 @@ -++++++++++ -Stop Sound -++++++++++ diff --git a/source/manual/logic_nodes/nodes/utilities/index.rst b/source/manual/logic_nodes/nodes/utilities/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/utilities/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/utilities/layout/index.rst b/source/manual/logic_nodes/nodes/utilities/layout/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/logic_nodes/nodes/utilities/layout/index.rst +++ /dev/null @@ -1 +0,0 @@ - diff --git a/source/manual/logic_nodes/nodes/utilities/utilities/index.rst b/source/manual/logic_nodes/nodes/utilities/utilities/index.rst deleted file mode 100644 index 1dc716f1..00000000 --- a/source/manual/logic_nodes/nodes/utilities/utilities/index.rst +++ /dev/null @@ -1,5 +0,0 @@ -++++++++++++ -Utility and other Nodes -++++++++++++ - -.. toctree:: diff --git a/source/manual/logic_nodes/objects/add_object.rst b/source/manual/logic_nodes/objects/add_object.rst new file mode 100644 index 00000000..60659354 --- /dev/null +++ b/source/manual/logic_nodes/objects/add_object.rst @@ -0,0 +1,37 @@ +.. _ln-add_object: + +.. figure:: /images/logic_nodes/objects/ln-add_object.png + :align: right + :width: 215 + :alt: Add Object Node + +====================== +Add Object +====================== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Object to Add + Which object to add. + +Copy Data From + Copy data from which object. + +Life + todo + +Full Copy + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. + +Added Object + todo diff --git a/source/manual/logic_nodes/objects/curves/get_curve_points.rst b/source/manual/logic_nodes/objects/curves/get_curve_points.rst new file mode 100644 index 00000000..b4c08f1f --- /dev/null +++ b/source/manual/logic_nodes/objects/curves/get_curve_points.rst @@ -0,0 +1,22 @@ +.. _ln-get_curve_points: + +.. figure:: /images/logic_nodes/objects/curves/ln-get_curve_points.png + :align: right + :width: 215 + :alt: Get Curve Points Node + +====================== +Get Curve Points +====================== + +Inputs +++++++ + +Curve + Which curve to inspect for points. + +Outputs ++++++++ + +Points + A list of resulting curve points. diff --git a/source/manual/logic_nodes/objects/curves/index.rst b/source/manual/logic_nodes/objects/curves/index.rst new file mode 100644 index 00000000..3c591bc0 --- /dev/null +++ b/source/manual/logic_nodes/objects/curves/index.rst @@ -0,0 +1,11 @@ +.. _ln-objects-curves-index: + +======== +Curves +======== + +.. toctree:: + :maxdepth: 1 + + get_curve_points + set_curve_points diff --git a/source/manual/logic_nodes/objects/curves/set_curve_points.rst b/source/manual/logic_nodes/objects/curves/set_curve_points.rst new file mode 100644 index 00000000..07e704bc --- /dev/null +++ b/source/manual/logic_nodes/objects/curves/set_curve_points.rst @@ -0,0 +1,28 @@ +.. _ln-set_curve_points: + +.. figure:: /images/logic_nodes/objects/curves/ln-set_curve_points.png + :align: right + :width: 215 + :alt: Set Curve Points Node + +====================== +Set Curve Points +====================== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Curve + Which curve to set points to. + +Points + A list of points to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/get_attribute/get_color.rst b/source/manual/logic_nodes/objects/get_attribute/get_color.rst new file mode 100644 index 00000000..c3d02bd4 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_color.rst @@ -0,0 +1,32 @@ +.. _ln-get_color: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_color.png + :align: right + :width: 215 + :alt: Get Color Node + +============================= +Get Color +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_local_angular_velocity.rst b/source/manual/logic_nodes/objects/get_attribute/get_local_angular_velocity.rst new file mode 100644 index 00000000..7f486864 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_local_angular_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-get_local_angular_velocity: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_local_angular_velocity.png + :align: right + :width: 215 + :alt: Get Local Angular Velocity Node + +============================= +Get Local Angular Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_local_linear_velocity.rst b/source/manual/logic_nodes/objects/get_attribute/get_local_linear_velocity.rst new file mode 100644 index 00000000..7a1b7166 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_local_linear_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-get_local_linear_velocity: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_local_linear_velocity.png + :align: right + :width: 215 + :alt: Get Local Linear Velocity Node + +============================= +Get Local Linear Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_local_orientation.rst b/source/manual/logic_nodes/objects/get_attribute/get_local_orientation.rst new file mode 100644 index 00000000..cb9ca7cc --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_local_orientation.rst @@ -0,0 +1,32 @@ +.. _ln-get_local_orientation: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_local_orientation.png + :align: right + :width: 215 + :alt: Get Local Orientation Node + +============================= +Get Local Orientation +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_local_position.rst b/source/manual/logic_nodes/objects/get_attribute/get_local_position.rst new file mode 100644 index 00000000..1f42c861 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_local_position.rst @@ -0,0 +1,32 @@ +.. _ln-get_local_position: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_local_position.png + :align: right + :width: 215 + :alt: Get Local Position Node + +============================= +Get Local Position +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_local_transform.rst b/source/manual/logic_nodes/objects/get_attribute/get_local_transform.rst new file mode 100644 index 00000000..b1587d88 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_local_transform.rst @@ -0,0 +1,32 @@ +.. _ln-get_local_transform: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_local_transform.png + :align: right + :width: 215 + :alt: Get Local Transform Node + +============================= +Get Local Transform +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_name.rst b/source/manual/logic_nodes/objects/get_attribute/get_name.rst new file mode 100644 index 00000000..543ae342 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_name.rst @@ -0,0 +1,32 @@ +.. _ln-get_name: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_name.png + :align: right + :width: 215 + :alt: Get Name Node + +============================= +Get Name +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_scale.rst b/source/manual/logic_nodes/objects/get_attribute/get_scale.rst new file mode 100644 index 00000000..8583ae21 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_scale.rst @@ -0,0 +1,32 @@ +.. _ln-get_scale: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_scale.png + :align: right + :width: 215 + :alt: Get Scale Node + +============================= +Get Scale +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_world_angular_velocity.rst b/source/manual/logic_nodes/objects/get_attribute/get_world_angular_velocity.rst new file mode 100644 index 00000000..2c1b8b4c --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_world_angular_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-get_world_angular_velocity: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_world_angular_velocity.png + :align: right + :width: 215 + :alt: Get World Angular Velocity Node + +============================= +Get World Angular Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_world_linear_velocity.rst b/source/manual/logic_nodes/objects/get_attribute/get_world_linear_velocity.rst new file mode 100644 index 00000000..8bea9964 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_world_linear_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-get_world_linear_velocity: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_world_linear_velocity.png + :align: right + :width: 215 + :alt: Get World Linear Velocity Node + +============================= +Get World Linear Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_world_orientation.rst b/source/manual/logic_nodes/objects/get_attribute/get_world_orientation.rst new file mode 100644 index 00000000..cea0a60a --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_world_orientation.rst @@ -0,0 +1,32 @@ +.. _ln-get_world_orientation: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_world_orientation.png + :align: right + :width: 215 + :alt: Get World Orientation Node + +======================= +Get World Orientation +======================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_world_position.rst b/source/manual/logic_nodes/objects/get_attribute/get_world_position.rst new file mode 100644 index 00000000..119fb2e0 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_world_position.rst @@ -0,0 +1,32 @@ +.. _ln-get_world_position: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_world_position.png + :align: right + :width: 215 + :alt: Get World Position Node + +======================= +Get World Position +======================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/get_world_transform.rst b/source/manual/logic_nodes/objects/get_attribute/get_world_transform.rst new file mode 100644 index 00000000..decf8734 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/get_world_transform.rst @@ -0,0 +1,32 @@ +.. _ln-get_world_transform: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-get_world_transform.png + :align: right + :width: 215 + :alt: Get World Transform Node + +============================= +Get World Transform +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/get_attribute/index.rst b/source/manual/logic_nodes/objects/get_attribute/index.rst new file mode 100644 index 00000000..61a852b4 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_attribute/index.rst @@ -0,0 +1,22 @@ +.. _ln-get_attribute-index: + +============================= +Get Attribute +============================= + +.. toctree:: + :maxdepth: 1 + + get_world_position + get_world_orientation + get_world_linear_velocity + get_world_angular_velocity + get_world_transform + get_local_position + get_local_orientation + get_local_linear_velocity + get_local_angular_velocity + get_local_transform + get_name + get_scale + get_color diff --git a/source/manual/logic_nodes/objects/get_child_by_index.rst b/source/manual/logic_nodes/objects/get_child_by_index.rst new file mode 100644 index 00000000..e6998383 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_child_by_index.rst @@ -0,0 +1,25 @@ +.. _ln-get_child_by_index: + +.. figure:: /images/logic_nodes/objects/ln-get_child_by_index.png + :align: right + :width: 215 + :alt: Get Child By Index Node + +====================== +Get Child By Index +====================== + +Inputs +++++++ + +Parent + A parent object of a child object which to inspect. + +Index + Index of todo. + +Outputs ++++++++ + +Child + Resulting data of the child object. diff --git a/source/manual/logic_nodes/objects/get_child_by_name.rst b/source/manual/logic_nodes/objects/get_child_by_name.rst new file mode 100644 index 00000000..1a7aa40b --- /dev/null +++ b/source/manual/logic_nodes/objects/get_child_by_name.rst @@ -0,0 +1,25 @@ +.. _ln-get_child_by_name: + +.. figure:: /images/logic_nodes/objects/ln-get_child_by_name.png + :align: right + :width: 215 + :alt: Get Child By Name Node + +====================== +Get Child By Name +====================== + +Inputs +++++++ + +Parent + A parent object of the child object to inpect. + +Child + A child object to inspect. + +Outputs ++++++++ + +Child + Resulting child object data. diff --git a/source/manual/logic_nodes/objects/get_object.rst b/source/manual/logic_nodes/objects/get_object.rst new file mode 100644 index 00000000..8c861c9f --- /dev/null +++ b/source/manual/logic_nodes/objects/get_object.rst @@ -0,0 +1,22 @@ +.. _ln-get_object: + +.. figure:: /images/logic_nodes/objects/ln-get_object.png + :align: right + :width: 215 + :alt: Get Object Node + +====================== +Get Object +====================== + +Inputs +++++++ + +Object + Which object to inspect. + +Outputs ++++++++ + +Object + Resulting object. diff --git a/source/manual/logic_nodes/objects/get_parent.rst b/source/manual/logic_nodes/objects/get_parent.rst new file mode 100644 index 00000000..4635a843 --- /dev/null +++ b/source/manual/logic_nodes/objects/get_parent.rst @@ -0,0 +1,22 @@ +.. _ln-get_parent: + +.. figure:: /images/logic_nodes/objects/ln-get_parent.png + :align: right + :width: 215 + :alt: Get Parent Node + +====================== +Get Parent +====================== + +Inputs +++++++ + +Child Object + A child object for which to get its parent. + +Outputs ++++++++ + +Parent Object + Data of the resulting parent object. diff --git a/source/manual/logic_nodes/objects/index.rst b/source/manual/logic_nodes/objects/index.rst new file mode 100644 index 00000000..c1efeecd --- /dev/null +++ b/source/manual/logic_nodes/objects/index.rst @@ -0,0 +1,26 @@ +.. _ln-objects-index: + +======== +Objects +======== + +.. toctree:: + :maxdepth: 1 + + get_attribute/index + set_attribute/index + transformation/index + object_data/index + curves/index + add_object + remove_object + set_visibility + get_object + get_child_by_index + get_child_by_name + get_parent + set_parent + remove_parent + set_material + send_message + spawn_pool diff --git a/source/manual/logic_nodes/objects/object_data/get_axis_vector.rst b/source/manual/logic_nodes/objects/object_data/get_axis_vector.rst new file mode 100644 index 00000000..3c211005 --- /dev/null +++ b/source/manual/logic_nodes/objects/object_data/get_axis_vector.rst @@ -0,0 +1,28 @@ +.. _ln-get_axis_vector: + +.. figure:: /images/logic_nodes/objects/object_data/ln-get_axis_vector.png + :align: right + :width: 215 + :alt: Get Axis Vector Node + +====================== +Get Axis Vector +====================== + +Parameters +++++++++++ + +Axis + Selected axis to get. + +Inputs +++++++ + +Object + Which object to inspect for axis vector. + +Outputs ++++++++ + +Vector + Resulting vector. diff --git a/source/manual/logic_nodes/objects/object_data/get_object_id.rst b/source/manual/logic_nodes/objects/object_data/get_object_id.rst new file mode 100644 index 00000000..af80e940 --- /dev/null +++ b/source/manual/logic_nodes/objects/object_data/get_object_id.rst @@ -0,0 +1,22 @@ +.. _ln-get_object_id: + +.. figure:: /images/logic_nodes/objects/object_data/ln-get_object_id.png + :align: right + :width: 215 + :alt: Get Object ID Node + +====================== +Get Object ID +====================== + +Inputs +++++++ + +Object + Which object to inspect. + +Outputs ++++++++ + +ID + Resulting ID of the object. diff --git a/source/manual/logic_nodes/objects/object_data/get_vertices.rst b/source/manual/logic_nodes/objects/object_data/get_vertices.rst new file mode 100644 index 00000000..7668293f --- /dev/null +++ b/source/manual/logic_nodes/objects/object_data/get_vertices.rst @@ -0,0 +1,22 @@ +.. _ln-get_vertices: + +.. figure:: /images/logic_nodes/objects/object_data/ln_get_vertices.png + :align: right + :width: 215 + :alt: Get Vertices Node + +====================== +Get Vertices +====================== + +Inputs +++++++ + +Object + Which object to get vertices from. + +Outputs ++++++++ + +Vertices + A list of resulting vertices. diff --git a/source/manual/logic_nodes/objects/object_data/index.rst b/source/manual/logic_nodes/objects/object_data/index.rst new file mode 100644 index 00000000..f0e38531 --- /dev/null +++ b/source/manual/logic_nodes/objects/object_data/index.rst @@ -0,0 +1,14 @@ +.. _ln-objects-object_data-index: + +============ +Object Data +============ + +.. toctree:: + :maxdepth: 1 + + get_axis_vector + get_object_id + get_vertices + replace_mesh + set_constraint_attribute diff --git a/source/manual/logic_nodes/objects/object_data/replace_mesh.rst b/source/manual/logic_nodes/objects/object_data/replace_mesh.rst new file mode 100644 index 00000000..c0d677af --- /dev/null +++ b/source/manual/logic_nodes/objects/object_data/replace_mesh.rst @@ -0,0 +1,34 @@ +.. _ln-replace_mesh: + +.. figure:: /images/logic_nodes/objects/object_data/ln-replace_mesh.png + :align: right + :width: 215 + :alt: Replace Mesh Node + +====================== +Replace Mesh +====================== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Object + Target object for mesh replacement. + +Mesh + New mesh to use for replacing. + +Use Display + todo + +Use Physics + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/object_data/set_constraint_attribute.rst b/source/manual/logic_nodes/objects/object_data/set_constraint_attribute.rst new file mode 100644 index 00000000..91a7bfb8 --- /dev/null +++ b/source/manual/logic_nodes/objects/object_data/set_constraint_attribute.rst @@ -0,0 +1,34 @@ +.. _ln-set_constraint_attribute: + +.. figure:: /images/logic_nodes/objects/object_data/ln-set_constraint_attribute.png + :align: right + :width: 215 + :alt: Set Constraint Attribute Node + +======================== +Set Constraint Attribute +======================== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Object + Which object to set constraint on. + +Constraint + Which constraint to set. + +Attribute + Which attribute the constraing will be applied to. + +Value + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/remove_object.rst b/source/manual/logic_nodes/objects/remove_object.rst new file mode 100644 index 00000000..f4f1a258 --- /dev/null +++ b/source/manual/logic_nodes/objects/remove_object.rst @@ -0,0 +1,25 @@ +.. _ln-remove_object: + +.. figure:: /images/logic_nodes/objects/ln-remove_object.png + :align: right + :width: 215 + :alt: Remove Object Node + +====================== +Remove Object +====================== + +Inputs +++++++ + +Condition + Which condition is used for node to activate. + +Object + Which object to remove. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/remove_parent.rst b/source/manual/logic_nodes/objects/remove_parent.rst new file mode 100644 index 00000000..23d976ef --- /dev/null +++ b/source/manual/logic_nodes/objects/remove_parent.rst @@ -0,0 +1,25 @@ +.. _ln-remove_parent: + +.. figure:: /images/logic_nodes/objects/ln-remove_parent.png + :align: right + :width: 215 + :alt: Remove Parent Node + +====================== +Remove Parent +====================== + +Inputs +++++++ + +Condition + Which condition is used for node to activate. + +Child Object + Object which will get its parent removed. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/send_message.rst b/source/manual/logic_nodes/objects/send_message.rst new file mode 100644 index 00000000..ee79155a --- /dev/null +++ b/source/manual/logic_nodes/objects/send_message.rst @@ -0,0 +1,34 @@ +.. _ln-send_message: + +.. figure:: /images/logic_nodes/objects/ln-send_message.png + :align: right + :width: 215 + :alt: Send Message Node + +====================== +Send Message +====================== + +Inputs +++++++ + +Condition + Which condition is used for node to activate. + +From + From which object to send message. + +To + To which object to send a message. + +Subject + Title text of a message. + +Body + Message text to send. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/set_attribute/index.rst b/source/manual/logic_nodes/objects/set_attribute/index.rst new file mode 100644 index 00000000..47a67de9 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/index.rst @@ -0,0 +1,22 @@ +.. _ln-set_attribute-index: + +============================= +Set Attribute +============================= + +.. toctree:: + :maxdepth: 1 + + set_world_position + set_world_orientation + set_world_linear_velocity + set_world_angular_velocity + set_world_transform + set_local_position + set_local_orientation + set_local_linear_velocity + set_local_angular_velocity + set_local_transform + set_name + set_scale + set_color diff --git a/source/manual/logic_nodes/objects/set_attribute/set_color.rst b/source/manual/logic_nodes/objects/set_attribute/set_color.rst new file mode 100644 index 00000000..cbfd7591 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_color.rst @@ -0,0 +1,32 @@ +.. _ln-set_color: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_color.png + :align: right + :width: 215 + :alt: Set Color Node + +============================= +Set Color +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_local_angular_velocity.rst b/source/manual/logic_nodes/objects/set_attribute/set_local_angular_velocity.rst new file mode 100644 index 00000000..72f93873 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_local_angular_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-set_local_angular_velocity: + +.. figure:: /images/logic_nodes/objects/get_attribute/ln-set_local_angular_velocity.png + :align: right + :width: 215 + :alt: Set Local Angular Velocity Node + +============================= +Set Local Angular Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_local_linear_velocity.rst b/source/manual/logic_nodes/objects/set_attribute/set_local_linear_velocity.rst new file mode 100644 index 00000000..bb02bc73 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_local_linear_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-set_local_linear_velocity: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_local_linear_velocity.png + :align: right + :width: 215 + :alt: Set Local Linear Velocity Node + +============================= +Set Local Linear Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_local_orientation.rst b/source/manual/logic_nodes/objects/set_attribute/set_local_orientation.rst new file mode 100644 index 00000000..10b81b0d --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_local_orientation.rst @@ -0,0 +1,32 @@ +.. _ln-set_local_orientation: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_local_orientation.png + :align: right + :width: 215 + :alt: Set Local Orientation Node + +============================= +Set Local Orientation +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_local_position.rst b/source/manual/logic_nodes/objects/set_attribute/set_local_position.rst new file mode 100644 index 00000000..295b8434 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_local_position.rst @@ -0,0 +1,32 @@ +.. _ln-set_local_position: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_local_position.png + :align: right + :width: 215 + :alt: Set Local Position Node + +============================= +Set Local Position +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_local_transform.rst b/source/manual/logic_nodes/objects/set_attribute/set_local_transform.rst new file mode 100644 index 00000000..97f6b636 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_local_transform.rst @@ -0,0 +1,32 @@ +.. _ln-set_local_transform: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_local_transform.png + :align: right + :width: 215 + :alt: Set Local Transform Node + +============================= +Set Local Transform +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_name.rst b/source/manual/logic_nodes/objects/set_attribute/set_name.rst new file mode 100644 index 00000000..e3127d8c --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_name.rst @@ -0,0 +1,32 @@ +.. _ln-set_name: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_name.png + :align: right + :width: 215 + :alt: Set Name Node + +============================= +Set Name +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_scale.rst b/source/manual/logic_nodes/objects/set_attribute/set_scale.rst new file mode 100644 index 00000000..9bf93830 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_scale.rst @@ -0,0 +1,32 @@ +.. _ln-set_scale: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_scale.png + :align: right + :width: 215 + :alt: Set Scale Node + +============================= +Set Scale +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_world_angular_velocity.rst b/source/manual/logic_nodes/objects/set_attribute/set_world_angular_velocity.rst new file mode 100644 index 00000000..645ecf53 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_world_angular_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-set_world_angular_velocity: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_world_angular_velocity.png + :align: right + :width: 215 + :alt: Set World Angular Velocity Node + +============================= +Set World Angular Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_world_linear_velocity.rst b/source/manual/logic_nodes/objects/set_attribute/set_world_linear_velocity.rst new file mode 100644 index 00000000..10169c4e --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_world_linear_velocity.rst @@ -0,0 +1,32 @@ +.. _ln-set_world_linear_velocity: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_world_linear_velocity.png + :align: right + :width: 215 + :alt: Set World Linear Velocity Node + +============================= +Set World Linear Velocity +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_world_orientation.rst b/source/manual/logic_nodes/objects/set_attribute/set_world_orientation.rst new file mode 100644 index 00000000..cb420870 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_world_orientation.rst @@ -0,0 +1,32 @@ +.. _ln-set_world_orientation: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_world_orientation.png + :align: right + :width: 215 + :alt: Set World Orientation Node + +======================= +Set World Orientation +======================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_world_position.rst b/source/manual/logic_nodes/objects/set_attribute/set_world_position.rst new file mode 100644 index 00000000..ad4fb174 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_world_position.rst @@ -0,0 +1,32 @@ +.. _ln-set_world_position: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_world_position.png + :align: right + :width: 215 + :alt: Set World Position Node + +======================= +Set World Position +======================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_attribute/set_world_transform.rst b/source/manual/logic_nodes/objects/set_attribute/set_world_transform.rst new file mode 100644 index 00000000..976da3aa --- /dev/null +++ b/source/manual/logic_nodes/objects/set_attribute/set_world_transform.rst @@ -0,0 +1,32 @@ +.. _ln-set_world_transform: + +.. figure:: /images/logic_nodes/objects/set_attribute/ln-set_world_transform.png + :align: right + :width: 215 + :alt: Set World Transform Node + +============================= +Set World Transform +============================= + +Parameters +++++++++++ + +prop + value + +Inputs +++++++ + +prop + value + +Outputs ++++++++ + +prop + value + +Example ++++++++ + diff --git a/source/manual/logic_nodes/objects/set_material.rst b/source/manual/logic_nodes/objects/set_material.rst new file mode 100644 index 00000000..475d0952 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_material.rst @@ -0,0 +1,31 @@ +.. _ln-set_material: + +.. figure:: /images/logic_nodes/objects/ln-set_material.png + :align: right + :width: 215 + :alt: Set Material Node + +====================== +Set Material +====================== + +Inputs +++++++ + +Condition + Which condition is used for node to activate. + +Object + Which object will receive a material. + +Slot + Which material slot to use for setting. + +Material + Which material to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/set_parent.rst b/source/manual/logic_nodes/objects/set_parent.rst new file mode 100644 index 00000000..622dce7a --- /dev/null +++ b/source/manual/logic_nodes/objects/set_parent.rst @@ -0,0 +1,28 @@ +.. _ln-set_parent: + +.. figure:: /images/logic_nodes/objects/ln-set_parent.png + :align: right + :width: 215 + :alt: Set Parent Node + +====================== +Set Parent +====================== + +Inputs +++++++ + +Condition + Which condition is used for node to activate. + +Child Object + Child object for which to set a parent. + +Parent Object + An object that will become a parent. Congratulations! + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/set_visibility.rst b/source/manual/logic_nodes/objects/set_visibility.rst new file mode 100644 index 00000000..cf229026 --- /dev/null +++ b/source/manual/logic_nodes/objects/set_visibility.rst @@ -0,0 +1,28 @@ +.. _ln-set_visibility: + +.. figure:: /images/logic_nodes/objects/ln-set_visibility.png + :align: right + :width: 215 + :alt: Set Visibility Node + +====================== +Set Visibility +====================== + +Inputs +++++++ + +Condition + Which condition is used for node to activate. + +Object + Which object to set visibility to. + +Visible + If checked, set *Visible* state, else set not *Visible State*. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/spawn_pool.rst b/source/manual/logic_nodes/objects/spawn_pool.rst new file mode 100644 index 00000000..5f6e2117 --- /dev/null +++ b/source/manual/logic_nodes/objects/spawn_pool.rst @@ -0,0 +1,46 @@ +.. _ln-spawn_pool: + +.. figure:: /images/logic_nodes/objects/ln-spawn_pool.png + :align: right + :width: 215 + :alt: Spawn Pool Node + +====================== +Spawn Pool +====================== + +Parameters +++++++++++ + +Spawn Behavior + Selected behavior of spawn pool. + +Inputs +++++++ + +On Startup + If selected, pool will be spawn on game start. + +Spawn + todo + +Spawner + todo + +Object Instances + Object instance which will be spawn. + +Amount + Quantinty of spawned instances. + +Life + Life length of spawned instances. todo + +Visualize + todo + +Outputs ++++++++ + +Spawned + todo diff --git a/source/manual/logic_nodes/objects/transformation/align_axis_to_vector.rst b/source/manual/logic_nodes/objects/transformation/align_axis_to_vector.rst new file mode 100644 index 00000000..d45cb6c1 --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/align_axis_to_vector.rst @@ -0,0 +1,39 @@ +.. _ln-align_axis_to_vector: + +.. figure:: /images/logic_nodes/objects/transformation/ln-align_axis_to_vector.png + :align: right + :width: 215 + :alt: Align Axis to Vector Node + +==================== +Align Axis to Vector +==================== + +Input ++++++ + +Local + Direction of the object will be the same direction that the vector has, in relation to the *World Origin*. + + If vector is in a certain position relative to *World Origin*, object will receive the same angulation in this relation: *World Origin* to *Object*. + +Condition + The condition for this node to start. + +Object + Object that will be aligned. + +Vector + Location within three-dimensional space where the object will be aligned. + +Axis + The axis that will be given as *front* of the object. + +Factor + Each time this node is activated (through *Condition*), the object will rotate to its destination by a certain amount. It can be completed in just one activation (Factor: 1.00) or up to 100 activations (Factor: 0.01). Any other value can be written between 0 and 1. + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/apply_force.rst b/source/manual/logic_nodes/objects/transformation/apply_force.rst new file mode 100644 index 00000000..c6a84292 --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/apply_force.rst @@ -0,0 +1,41 @@ +.. _ln-apply_force: + +.. figure:: /images/logic_nodes/objects/transformation/ln-apply_force.png + :align: right + :width: 215 + :alt: Apply Force Node + +============== +Apply Force +============== + +Applies an offset force to an object on any axis of the Cartesian plane. To function properly, the object must have a physical property that enables displacement. + +:ref:`Game Physics ` > +:ref:`Physics Type `: +:ref:`Dynamic `, +:ref:`Rigid Body `, +:ref:`Soft Body `. + +The node applies force to the entire object. In contrast, the :ref:`Apply Impulse ` node applies force at a specific point. + +Input ++++++ + +Local + If checked, force will be applied in the direction of the object's local axes, else of the object's global axes. + +Condition + The condition for this node to start. + +Object + Object that will be pushed away. + +Vector + Value of the force that will be applied to the object, by the direction of the axes in the Cartesian plane. It can be a value referring to the axes of the world (global) or the axes of the object (local). + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/apply_impulse.rst b/source/manual/logic_nodes/objects/transformation/apply_impulse.rst new file mode 100644 index 00000000..b3d4f7c6 --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/apply_impulse.rst @@ -0,0 +1,50 @@ +.. _ln-apply_impulse: + +.. figure:: /images/logic_nodes/objects/transformation/ln-apply_impulse.png + :align: right + :width: 215 + :alt: Apply Impulse Node + +============== +Apply Impulse +============== + +Applies a displacement force that has an origin (*point*) and a *direction*. To function properly, the object must have a physical property that enables displacement. + +:ref:`Game Physics ` > +:ref:`Physics Type `: +:ref:`Dynamic `, +:ref:`Rigid Body `, +:ref:`Soft Body `. + +This node applies force at a specific point. In contrast, the :ref:`Apply Force ` node applies force in entire object. + +Parameters +++++++++++ + +Mode + Selected mode of operation to apply. + +Input ++++++ + +Local + If checked, object's local axes will be used, else global axes are used. + +Condition + The condition for this node to start. + +Object + Object that will be pushed away. + +Vector + The value that will be applied to the impulse. todo + +Direction + The direction in which impulse will be applied. todo + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/apply_movement.rst b/source/manual/logic_nodes/objects/transformation/apply_movement.rst new file mode 100644 index 00000000..f4a1802e --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/apply_movement.rst @@ -0,0 +1,43 @@ +.. _ln-apply_movement: + +.. figure:: /images/logic_nodes/objects/transformation/ln-apply_movement.png + :align: right + :width: 215 + :alt: Apply Movement Node + +============== +Apply Movement +============== + +Moves the object a certain vector-defined distance. Does not apply acceleration. + +The object is still subject to other forces while the motion is being applied, such as acceleration due to the force of gravity. + +The node can be applied to some types of physical properties, i.e. :doc:`Game Physics `. + +Parameters +++++++++++ + +Mode + Selected mode of operation. + +Input ++++++ + +Local + If checked, local coordinates will be used. + +Condition + The condition for this node to start. + +Object + Object that will be moved. + +Vector + The amount of displacement that will be applied to the object. + +Output +++++++ + +Done + *True* if the node performed successfully else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/apply_rotation.rst b/source/manual/logic_nodes/objects/transformation/apply_rotation.rst new file mode 100644 index 00000000..9318978b --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/apply_rotation.rst @@ -0,0 +1,41 @@ +.. _ln-apply_rotation: + +.. figure:: /images/logic_nodes/objects/transformation/ln-apply_rotation.png + :align: right + :width: 215 + :alt: Apply Rotation Node + +============== +Apply Rotation +============== + +Rotates an object a certain vector-defined angulation. Each time this node is activated, the defined rotation will happen. + +See also :ref:`Rotate To `. + +Parameters +++++++++++ + +Mode + Selected mode of operation. + +Input ++++++ + +Local + The rotation will be applied following the object's local axes. + +Condition + The condition for this node to start. + +Object + Object that will be rotated. + +Vector + The value that will be applied to the rotation in degrees. + +Output +++++++ + +Done + *True* if the node performed successfully. diff --git a/source/manual/logic_nodes/objects/transformation/apply_torque.rst b/source/manual/logic_nodes/objects/transformation/apply_torque.rst new file mode 100644 index 00000000..4a17ec78 --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/apply_torque.rst @@ -0,0 +1,48 @@ +.. _ln-apply_torque: + +.. figure:: /images/logic_nodes/objects/transformation/ln-apply_torque.png + :align: right + :width: 215 + :alt: Apply Torque Node + +============== +Apply Torque +============== + +Rotates an object using torque mechanics and tries to follow real-world physical rules. It uses the Newton-meter as a unit of measure (torque = force x length of the lever). + +In the real world, applying torque requires a *lever with length* and an *object that is experiencing a binding force*. For movement to take place on this object the *torque* must be greater than the *bonding force*. The *real bonding force* generally encompasses friction and tension. + +Unlike in the real world, where the wrench *holds* the screw that is being rotated, in the UPBGE there is no such limitation and so all torque force is applied at once, which can perpetuate the rotation continuity. + +If the object has some kind of :doc:`Collision Bounds ` different from sphere, it will need a torque value greater than the force that makes the object static. + +.. tip:: + In order to limit pivoting of the torque, assign a rotation limit to a certain origin with either an `Armature Bone `_ or a `Rigid Body Joint Constraint `_. + +Properties +++++++++++ + +Mode + Selected mode of operation to apply. + +Input ++++++ + +Local + If checked, *Torque* will be applied following the object's local axes, else global axes. + +Condition + The condition for this node to start. + +Object + Object that will be rotated. + +Vector + The value that will be applied to the rotation in Newton-meters. + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/follow_path.rst b/source/manual/logic_nodes/objects/transformation/follow_path.rst new file mode 100644 index 00000000..776dd94e --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/follow_path.rst @@ -0,0 +1,71 @@ +.. _ln-follow_path: + +.. figure:: /images/logic_nodes/objects/transformation/ln-follow_path.png + :align: right + :width: 215 + :alt: Follow Path Node + +============== +Follow Path +============== + +Select an object to move through the points of a Nurbs Curve. Only works in conjunction with :ref:`Get Curve Points `. Use on `NPCs `_ that need to walk around. + +Input ++++++ + +Condition + The condition for this node to start. + +Moving Object + Object that will be moved. + +Rotating Object + Object that will rotate when changing direction. + +Path Points + Use in combination with *Get Curve Points* node. + +.. + A series of Empty Objects parented. + The **Parent Object** does not define the position of the object. + The **Child Objects** mark which positions the object will pass during displacement + The order that the object will follow is according to the alphabetical and numerical order of the **Child Objects**. + +Loop + Selected: after arriving at the position of the last curve point, the object will return to the start of the displacement. + + Unselected: The object will end the displacement at the last curve point. + +Continue + todo + +Optional Navmesh + If there is a boundary in the area where the object travels, select the :ref:`Navigation Mesh `. + +Move as Dynamic + Dynamic objects give and receive collisions, so other objects can dynamically affect the trajectory of the *Moving Object*. See :ref:`Dynamic ` for more info. + +Lin Speed + Linear speed of the object, basically the travelling speed. + +Reach Threshold + Distance to the target it needs to count as *arrived*. + +Look At + If selected, the front of the object will observe the direction of displacement. + +Rot Speed + Speed at which the object will move sideways when making a change of direction. + +Rot Axis + When the object makes a change of direction, on which axis will rotate. + +Front + Which axis is the front of the object. + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/index.rst b/source/manual/logic_nodes/objects/transformation/index.rst new file mode 100644 index 00000000..568cbf5b --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/index.rst @@ -0,0 +1,20 @@ +.. _ln-objects-transformation-index: + +============== +Transformation +============== + +.. toctree:: + :maxdepth: 1 + + apply_movement + apply_rotation + apply_force + apply_torque + apply_impulse + align_axis_to_vector + follow_path + move_to + move_to_with_navmesh + rotate_to + slow_follow diff --git a/source/manual/logic_nodes/objects/transformation/move_to.rst b/source/manual/logic_nodes/objects/transformation/move_to.rst new file mode 100644 index 00000000..0faf0891 --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/move_to.rst @@ -0,0 +1,39 @@ +.. _ln-move_to: + +.. figure:: /images/logic_nodes/objects/transformation/ln-move_to.png + :align: right + :width: 215 + :alt: Move To Node + +============== +Move To +============== + +Moves a selected object to a specific location in the scene. + +Input ++++++ + +Condition + The condition for this node to start. + +Object + Object that will be moved. + +Target Location + Final destination of the object. + +Move as Dynamic + Dynamic objects give and receive collisions, so other objects can dynamically affect the trajectory of the *Moving Object*. + +Speed + Amount of displacement that will be applied to the object on each *Condition* activation. + +Stop At Distance + A distance that the object needs to be close to the *Target Location*, to complete the move. + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/move_to_with_navmesh.rst b/source/manual/logic_nodes/objects/transformation/move_to_with_navmesh.rst new file mode 100644 index 00000000..fc144bca --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/move_to_with_navmesh.rst @@ -0,0 +1,70 @@ +.. _ln-move_to_with_navmesh: + +.. figure:: /images/logic_nodes/objects/transformation/ln-move_to_with_navmesh.png + :align: right + :width: 215 + :alt: Move To with Navmesh Node + +====================== +Move To with Navmesh +====================== + +Moves an object in a space delimited by :ref:`Navigation Mesh `. + +*Navigation Mesh* is an object that's invisible in-game - it defines where AI can walk and what's off-limit. + +To define an object as a *Navigation Mesh*, go to the *Physics properties* area of the object and select in *Game Physics* the object as being *Navigation Mesh*. + +Input ++++++ + +Condition + The condition for this node to start. + +Moving Object + Object that will be moved. + +Rotating Object + Object that will rotate when the direction changes. + +Navmesh Object + Object that will limit the movement area. + +Destination + Final destination of the object. It can be a value using coordinates or location of another object. + +Move as Dynamic + Dynamic objects give and receive collisions, so other objects can dynamically affect the trajectory of the *Moving Object*. + +Lin Speed + Linear speed of the object, basically the travelling speed. + +Reach Threshold + Distance to the target it needs to count as *arrived*. + +Look At + If selected, the front of the object will observe the direction of displacement. + +Rot Axis + When the object makes a change of direction, which axis will rotate. + +Front + Which axis is the front of the object. + +Rot Speed + Speed at which the object will move sideways when making a change of direction. + +Visualize + View the displacement path with a red line during gameplay. + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. + +When Reached + todo + +Next Point + todo diff --git a/source/manual/logic_nodes/objects/transformation/rotate_to.rst b/source/manual/logic_nodes/objects/transformation/rotate_to.rst new file mode 100644 index 00000000..0afae0fa --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/rotate_to.rst @@ -0,0 +1,41 @@ +.. _ln-rotate_to: + +.. figure:: /images/logic_nodes/objects/transformation/ln-rotate_to.png + :align: right + :width: 215 + :alt: Rotate To Node + +============== +Rotate To +============== + +Rotates selected object to a specific angle, instantaneous or with speed. Applies rotation only on a single axis and fixed angulation in the world. + +See also :ref:`Apply Rotation `. + +Input ++++++ + +Condition + Condition for this node to start. + +Object + Object that will be rotated. + +Target + Object's rotation defined in degrees. + +Factor + Speed to complete the move. Every time the node is activated, the displacement made will be smaller. + +Rot Axis + The axis of the object that will be used to rotate it during node execution. + +Front + Which axis is the front of the object. + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/objects/transformation/slow_follow.rst b/source/manual/logic_nodes/objects/transformation/slow_follow.rst new file mode 100644 index 00000000..5b514065 --- /dev/null +++ b/source/manual/logic_nodes/objects/transformation/slow_follow.rst @@ -0,0 +1,42 @@ +.. _ln-slow_follow: + +.. figure:: /images/logic_nodes/objects/transformation/ln-slow_follow.png + :align: right + :width: 215 + :alt: Slow Follow Node + +============== +Slow Follow +============== + +todo - check description +Rotates a selected object to a specific angle instantly. Applies rotation only on a single axis and fixed angulation in the world. + +See also :ref:`Apply Rotation `. + +Parameters +++++++++++ + +Atrribute + Selected attribute. + +Input ++++++ + +Condition + Condition for this node to start. + +Object + Object that will be rotated. + +Target + Target object to follow. + +Factor + todo + +Output +++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/add_constraint.rst b/source/manual/logic_nodes/physics/add_constraint.rst new file mode 100644 index 00000000..bbb1627c --- /dev/null +++ b/source/manual/logic_nodes/physics/add_constraint.rst @@ -0,0 +1,46 @@ +.. _ln-add_constraint: + +.. figure:: /images/logic_nodes/physics/ln-add_constraint.png + :align: right + :width: 215 + :alt: Add Constraint Node + +==================== +Add Constraint +==================== + +Parameters +++++++++++ + +Constraint Type + Selected constraint type to add. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use todo. + +Target + Which object to use as target. + +Name + todo + +Use World Space + todo + +Pivot + todo + +Linked Collision + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/character/get_physics_info.rst b/source/manual/logic_nodes/physics/character/get_physics_info.rst new file mode 100644 index 00000000..e2f522a1 --- /dev/null +++ b/source/manual/logic_nodes/physics/character/get_physics_info.rst @@ -0,0 +1,37 @@ +.. _ln-get_physics_info: + +.. figure:: /images/logic_nodes/physics/character/ln-get_physics_info.png + :align: right + :width: 215 + :alt: Get Physics Info Node + +==================== +Get Physics Info +==================== + +Inputs +++++++ + +Local + todo + +Object + Which character object to use. + +Outputs ++++++++ + +Max Jumps + Max allowed jumps while character is in the air. todo + +Current Jump Count + Current number of jumps. + +Gravity + Applied gravity. todo + +Walk Direction + Vector of walking direction. todo + +On Ground + If character is on ground, not jumping. todo diff --git a/source/manual/logic_nodes/physics/character/index.rst b/source/manual/logic_nodes/physics/character/index.rst new file mode 100644 index 00000000..dc6f47ae --- /dev/null +++ b/source/manual/logic_nodes/physics/character/index.rst @@ -0,0 +1,15 @@ +.. _ln-physics-character-index: + +========== +Character +========== + +.. toctree:: + :maxdepth: 1 + + walk + jump + get_physics_info + set_jump_force + set_max_jumps + set_velocity diff --git a/source/manual/logic_nodes/physics/character/jump.rst b/source/manual/logic_nodes/physics/character/jump.rst new file mode 100644 index 00000000..f79336b6 --- /dev/null +++ b/source/manual/logic_nodes/physics/character/jump.rst @@ -0,0 +1,25 @@ +.. _ln-jump: + +.. figure:: /images/logic_nodes/physics/character/ln-jump.png + :align: right + :width: 215 + :alt: Jump Node + +==================== +Jump +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use as character. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/character/set_jump_force.rst b/source/manual/logic_nodes/physics/character/set_jump_force.rst new file mode 100644 index 00000000..d6b0a43b --- /dev/null +++ b/source/manual/logic_nodes/physics/character/set_jump_force.rst @@ -0,0 +1,28 @@ +.. _ln-set_jump_force: + +.. figure:: /images/logic_nodes/physics/character/ln-set_jump_force.png + :align: right + :width: 215 + :alt: Set Jump Force Node + +==================== +Set Jump Force +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which character object to use. + +Force + Force to apply to jump. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/character/set_max_jumps.rst b/source/manual/logic_nodes/physics/character/set_max_jumps.rst new file mode 100644 index 00000000..f6715e26 --- /dev/null +++ b/source/manual/logic_nodes/physics/character/set_max_jumps.rst @@ -0,0 +1,28 @@ +.. _ln-set_max_jumps: + +.. figure:: /images/logic_nodes/physics/character/ln-set_max_jumps.png + :align: right + :width: 215 + :alt: Set Max Jumps Node + +==================== +Set Max Jumps +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which character object to use. + +Max Jumps + Max allowed number of jumps while character is in the air. todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/character/set_velocity.rst b/source/manual/logic_nodes/physics/character/set_velocity.rst new file mode 100644 index 00000000..19a911b7 --- /dev/null +++ b/source/manual/logic_nodes/physics/character/set_velocity.rst @@ -0,0 +1,34 @@ +.. _ln-set_velocity: + +.. figure:: /images/logic_nodes/physics/character/ln-set_velocity.png + :align: right + :width: 215 + :alt: Set Velocity Node + +==================== +Set Velocity +==================== + +Inputs +++++++ + +Local + Use character's local axisg. + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use as character. + +Velocity + Vector3 values to set. todo + +Time + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/character/walk.rst b/source/manual/logic_nodes/physics/character/walk.rst new file mode 100644 index 00000000..554cc2ea --- /dev/null +++ b/source/manual/logic_nodes/physics/character/walk.rst @@ -0,0 +1,31 @@ +.. _ln-walk: + +.. figure:: /images/logic_nodes/physics/character/ln-walk.png + :align: right + :width: 215 + :alt: Walk Node + +==================== +Walk +==================== + +Inputs +++++++ + +Local + Use character's local axis for walking. + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use as character. + +Vector + Vector3 values for walking to apply. todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/collision.rst b/source/manual/logic_nodes/physics/collision.rst new file mode 100644 index 00000000..5105e5a3 --- /dev/null +++ b/source/manual/logic_nodes/physics/collision.rst @@ -0,0 +1,43 @@ +.. _ln-collision: + +.. figure:: /images/logic_nodes/physics/ln-collision.png + :align: right + :width: 215 + :alt: Collision Node + +=============== +Collision +=============== + +Inputs +++++++ + +Continuous + Monitor for continuous collision, not just initial one. + +Object + Which object to use for follision. + +Use Material + Which material to use. + +Property + todo + +Outputs ++++++++ + +On Collision + What to trigger when collision happens. todo + +Colliding Object + Which other object has collided with used object. todo + +Colliding Objects + A list of colliding objects. todo + +Point + todo + +Normal + todo diff --git a/source/manual/logic_nodes/physics/index.rst b/source/manual/logic_nodes/physics/index.rst new file mode 100644 index 00000000..c3b163a9 --- /dev/null +++ b/source/manual/logic_nodes/physics/index.rst @@ -0,0 +1,20 @@ +.. _ln-physics-index: + +======== +Physics +======== + +.. toctree:: + :maxdepth: 1 + + vehicle/index + character/index + collision + set_collision_group + set_collision_mask + add_constraint + remove_constraint + set_physics + set_gravity + set_dynamics + set_rigid_body diff --git a/source/manual/logic_nodes/physics/remove_constraint.rst b/source/manual/logic_nodes/physics/remove_constraint.rst new file mode 100644 index 00000000..0228353f --- /dev/null +++ b/source/manual/logic_nodes/physics/remove_constraint.rst @@ -0,0 +1,28 @@ +.. _ln-remove_constraint: + +.. figure:: /images/logic_nodes/physics/ln-remove_constraint.png + :align: right + :width: 215 + :alt: Remove Constraint Node + +==================== +Remove Constraint +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use todo. + +Name + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/set_collision_group.rst b/source/manual/logic_nodes/physics/set_collision_group.rst new file mode 100644 index 00000000..a662b1c7 --- /dev/null +++ b/source/manual/logic_nodes/physics/set_collision_group.rst @@ -0,0 +1,34 @@ +.. _ln-set_collision_group: + +.. figure:: /images/logic_nodes/physics/ln-set_collision_group.png + :align: right + :width: 215 + :alt: Set Collision Group Node + +==================== +Set Collision Group +==================== + +Parameters +++++++++++ + +Mode + Selected mode for collision group node. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use todo. + +Mask + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/set_collision_mask.rst b/source/manual/logic_nodes/physics/set_collision_mask.rst new file mode 100644 index 00000000..732a8a31 --- /dev/null +++ b/source/manual/logic_nodes/physics/set_collision_mask.rst @@ -0,0 +1,28 @@ +.. _ln-set_collision_mask: + +.. figure:: /images/logic_nodes/physics/ln-set_collision_mask.png + :align: right + :width: 215 + :alt: Set Collision Mask Node + +==================== +Set Collision Mask +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use todo. + +Mask + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/set_dynamics.rst b/source/manual/logic_nodes/physics/set_dynamics.rst new file mode 100644 index 00000000..f44fbcfa --- /dev/null +++ b/source/manual/logic_nodes/physics/set_dynamics.rst @@ -0,0 +1,31 @@ +.. _ln-set_dynamics: + +.. figure:: /images/logic_nodes/physics/ln-set_dynamics.png + :align: right + :width: 215 + :alt: Set Dynamics Node + +==================== +Set Dynamics +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Active + todo + +Ghost + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/set_gravity.rst b/source/manual/logic_nodes/physics/set_gravity.rst new file mode 100644 index 00000000..6f6b537b --- /dev/null +++ b/source/manual/logic_nodes/physics/set_gravity.rst @@ -0,0 +1,28 @@ +.. _ln-set_gravity: + +.. figure:: /images/logic_nodes/physics/ln-set_gravity.png + :align: right + :width: 215 + :alt: Set Gravity Node + +==================== +Set Gravity +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Gravity + Gravity to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/set_physics.rst b/source/manual/logic_nodes/physics/set_physics.rst new file mode 100644 index 00000000..2d73fc77 --- /dev/null +++ b/source/manual/logic_nodes/physics/set_physics.rst @@ -0,0 +1,31 @@ +.. _ln-set_physics: + +.. figure:: /images/logic_nodes/physics/ln-set_physics.png + :align: right + :width: 215 + :alt: Set Physics Node + +==================== +Set Physics +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Active + todo + +Cut Constraints + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/set_rigid_body.rst b/source/manual/logic_nodes/physics/set_rigid_body.rst new file mode 100644 index 00000000..7dc7caf3 --- /dev/null +++ b/source/manual/logic_nodes/physics/set_rigid_body.rst @@ -0,0 +1,28 @@ +.. _ln-set_rigid_body: + +.. figure:: /images/logic_nodes/physics/ln-set_rigid_body.png + :align: right + :width: 215 + :alt: Set Rigid Body Node + +==================== +Set Rigid Body +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Enabled + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/vehicle/accelerate.rst b/source/manual/logic_nodes/physics/vehicle/accelerate.rst new file mode 100644 index 00000000..fcb5c420 --- /dev/null +++ b/source/manual/logic_nodes/physics/vehicle/accelerate.rst @@ -0,0 +1,37 @@ +.. _ln-accelerate: + +.. figure:: /images/logic_nodes/physics/vehicle/ln-accelerate.png + :align: right + :width: 215 + :alt: Accelerate Node + +==================== +Accelerate +==================== + +Parameters +++++++++++ + +Axis + Selected axis of vehicle wheels. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Vehicle + Vehicle object to use. + +Wheels + Number of wheels for selected axis. + +Power + Applied power to selected axis. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/vehicle/brake.rst b/source/manual/logic_nodes/physics/vehicle/brake.rst new file mode 100644 index 00000000..975c7767 --- /dev/null +++ b/source/manual/logic_nodes/physics/vehicle/brake.rst @@ -0,0 +1,37 @@ +.. _ln-brake: + +.. figure:: /images/logic_nodes/physics/vehicle/ln-brake.png + :align: right + :width: 215 + :alt: Brake Node + +==================== +Brake +==================== + +Parameters +++++++++++ + +Axis + Selected axis of vehicle wheels. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Vehicle + Vehicle object to use. + +Wheels + Number of wheels for selected axis. + +Power + Applied power to selected axis. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/vehicle/create_new_vehicle.rst b/source/manual/logic_nodes/physics/vehicle/create_new_vehicle.rst new file mode 100644 index 00000000..a4f6699b --- /dev/null +++ b/source/manual/logic_nodes/physics/vehicle/create_new_vehicle.rst @@ -0,0 +1,46 @@ +.. _ln-create_new_vehicle: + +.. figure:: /images/logic_nodes/physics/vehicle/ln-create_new_vehicle.png + :align: right + :width: 215 + :alt: Create New Vehicle Node + +==================== +Create New Vehicle +==================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Collider + Object that will act as collider for vehicle. todo + +Suspension + Vehicle suspension settings. + +Stiffness + Vehicle suspension stiffness. todo + +Damping + Vehicle suspension damping. todo + +Friction + Vehicle wheels friction. todo + +Wheel Modifier + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Vehicle Constraint + todo + +Wheels + A list of . todo diff --git a/source/manual/logic_nodes/physics/vehicle/index.rst b/source/manual/logic_nodes/physics/vehicle/index.rst new file mode 100644 index 00000000..044fe241 --- /dev/null +++ b/source/manual/logic_nodes/physics/vehicle/index.rst @@ -0,0 +1,14 @@ +.. _ln-physics-vehicle-index: + +========== +Vehicle +========== + +.. toctree:: + :maxdepth: 1 + + create_new_vehicle + accelerate + brake + set_vehicle_attribute + steer diff --git a/source/manual/logic_nodes/physics/vehicle/set_vehicle_attribute.rst b/source/manual/logic_nodes/physics/vehicle/set_vehicle_attribute.rst new file mode 100644 index 00000000..db81d46f --- /dev/null +++ b/source/manual/logic_nodes/physics/vehicle/set_vehicle_attribute.rst @@ -0,0 +1,46 @@ +.. _ln-set_vehicle_attribute: + +.. figure:: /images/logic_nodes/physics/vehicle/ln-set_vehicle_attribute.png + :align: right + :width: 285 + :alt: Set Vehicle Attribute Node + +===================== +Set Vehicle Attribute +===================== + +Parameters +++++++++++ + +Axis + Selected vehicle wheels axis. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Collider + Object that will act as collider for vehicle. todo + +Wheels + Number of wheels for selected axis. + +Suspension + Vehicle suspension settings. + +Stiffness + Vehicle suspension stiffness. todo + +Damping + Vehicle suspension damping. todo + +Friction + Vehicle wheels friction. todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/physics/vehicle/steer.rst b/source/manual/logic_nodes/physics/vehicle/steer.rst new file mode 100644 index 00000000..d3991124 --- /dev/null +++ b/source/manual/logic_nodes/physics/vehicle/steer.rst @@ -0,0 +1,37 @@ +.. _ln-steer: + +.. figure:: /images/logic_nodes/physics/vehicle/ln-steer.png + :align: right + :width: 215 + :alt: Steer Node + +===================== +Steer +===================== + +Parameters +++++++++++ + +Axis + Selected vehicle wheels axis. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Vehicle + Which object to use for steering. + +Wheels + Number of wheels for selected axis. + +Steel + Steering value. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/python/get_instance_attribute.rst b/source/manual/logic_nodes/python/get_instance_attribute.rst new file mode 100644 index 00000000..9be3068f --- /dev/null +++ b/source/manual/logic_nodes/python/get_instance_attribute.rst @@ -0,0 +1,25 @@ +.. _ln-get_instance_attribute: + +.. figure:: /images/logic_nodes/python/ln-get_instance_attribute.png + :align: right + :width: 215 + :alt: Get Instance Attribute Node + +======================= +Get Instance Attribute +======================= + +Inputs +++++++ + +Parent + todo + +Index + todo + +Outputs ++++++++ + +Child + todo diff --git a/source/manual/logic_nodes/python/index.rst b/source/manual/logic_nodes/python/index.rst new file mode 100644 index 00000000..0525d3a1 --- /dev/null +++ b/source/manual/logic_nodes/python/index.rst @@ -0,0 +1,13 @@ +.. _ln-python-index: + +======== +Python +======== + +.. toctree:: + :maxdepth: 1 + + run_python_code + get_instance_attribute + set_object_attribute + typecast_value diff --git a/source/manual/logic_nodes/python/run_python_code.rst b/source/manual/logic_nodes/python/run_python_code.rst new file mode 100644 index 00000000..1248419b --- /dev/null +++ b/source/manual/logic_nodes/python/run_python_code.rst @@ -0,0 +1,31 @@ +.. _ln-run_python_code: + +.. figure:: /images/logic_nodes/python/ln-run_python_code.png + :align: right + :width: 215 + :alt: Run Python Code Node + +=============== +Run Python Code +=============== + +Parameters +++++++++++ + +Mode + Selected Python mode. todo + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Text + Path/file with Python code to run. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/python/set_object_attribute.rst b/source/manual/logic_nodes/python/set_object_attribute.rst new file mode 100644 index 00000000..3b130b1a --- /dev/null +++ b/source/manual/logic_nodes/python/set_object_attribute.rst @@ -0,0 +1,31 @@ +.. _ln-set_object_attribute: + +.. figure:: /images/logic_nodes/python/ln-set_object_attribute.png + :align: right + :width: 215 + :alt: Set Object Attribute Node + +======================= +Set Object Attribute +======================= + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Object Instance + Which object instance to use. todo + +Attribute + Which attribute to set. + +Type + Type and value to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/python/typecast_value.rst b/source/manual/logic_nodes/python/typecast_value.rst new file mode 100644 index 00000000..f8d53822 --- /dev/null +++ b/source/manual/logic_nodes/python/typecast_value.rst @@ -0,0 +1,28 @@ +.. _ln-typecast_value: + +.. figure:: /images/logic_nodes/python/ln-typecast_value.png + :align: right + :width: 215 + :alt: Typecast Value Node + +======================= +Typecast Value +======================= + +Parameters +++++++++++ + +To Type + Typecast Python value to which type. + +Inputs +++++++ + +Type + Type and value to cast. + +Outputs ++++++++ + +Integer + Resulting output value of selected type. diff --git a/source/manual/logic_nodes/raycasts/camera_ray.rst b/source/manual/logic_nodes/raycasts/camera_ray.rst new file mode 100644 index 00000000..14d9cfd5 --- /dev/null +++ b/source/manual/logic_nodes/raycasts/camera_ray.rst @@ -0,0 +1,46 @@ +.. _ln-camera_ray: + +.. figure:: /images/logic_nodes/raycasts/ln-camera_ray.png + :align: right + :width: 215 + :alt: Camera Ray Node + +=============== +Camera Ray +=============== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Aim + todo + +Property + Which property to use. + +X-Ray + todo + +Distance + todo. + +Mask + Mask layers to use. todo + +Outputs ++++++++ + +Has Result + todo + +Picked Object + todo + +Picked Point + todo + +Picked Normal + todo diff --git a/source/manual/logic_nodes/raycasts/index.rst b/source/manual/logic_nodes/raycasts/index.rst new file mode 100644 index 00000000..cd4ac5c1 --- /dev/null +++ b/source/manual/logic_nodes/raycasts/index.rst @@ -0,0 +1,13 @@ +.. _ln-raycasts-index: + +======== +Raycasts +======== + +.. toctree:: + :maxdepth: 1 + + raycast + mouse_ray + camera_ray + projectile_ray diff --git a/source/manual/logic_nodes/raycasts/mouse_ray.rst b/source/manual/logic_nodes/raycasts/mouse_ray.rst new file mode 100644 index 00000000..a20f41a8 --- /dev/null +++ b/source/manual/logic_nodes/raycasts/mouse_ray.rst @@ -0,0 +1,43 @@ +.. _ln-mouse_ray: + +.. figure:: /images/logic_nodes/raycasts/ln-mouse_ray.png + :align: right + :width: 215 + :alt: Mouse Ray Node + +=============== +Mouse Ray +=============== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Property + Which property to use. + +X-Ray + todo + +Distance + todo. + +Mask + Mask layers to use. todo + +Outputs ++++++++ + +Has Result + todo + +Picked Object + todo + +Picked Point + todo + +Picked Normal + todo diff --git a/source/manual/logic_nodes/raycasts/projectile_ray.rst b/source/manual/logic_nodes/raycasts/projectile_ray.rst new file mode 100644 index 00000000..4505a3d1 --- /dev/null +++ b/source/manual/logic_nodes/raycasts/projectile_ray.rst @@ -0,0 +1,64 @@ +.. _ln-projectile_ray: + +.. figure:: /images/logic_nodes/raycasts/ln-projectile_ray.png + :align: right + :width: 215 + :alt: Projectile Ray Node + +=============== +Projectile Ray +=============== + +Inputs +++++++ + +Condition + Which condition will be used for node to activate. + +Origin + Vector3 values of origin point. todo + +Aim + Vector3 values for aim to . todo + +Local + todo + +Power + Power value for . todo + +Distance + Distance value . todo + +Resolution + todo + +Property + Which property to use. + +X-Ray + todo + +Mask + Mask layers to use. todo + +Visualize + todo + +Outputs ++++++++ + +Has Result + todo + +Picked Object + todo + +Picked Point + todo + +Picked Normal + todo + +Parabola + A list of values for . todo diff --git a/source/manual/logic_nodes/raycasts/raycast.rst b/source/manual/logic_nodes/raycasts/raycast.rst new file mode 100644 index 00000000..4a8acc52 --- /dev/null +++ b/source/manual/logic_nodes/raycasts/raycast.rst @@ -0,0 +1,76 @@ +.. _ln-raycast: + +.. figure:: /images/logic_nodes/raycasts/ln-raycast.png + :align: right + :width: 215 + :alt: Raycast Node + +=============== +Raycast +=============== + +Inputs +++++++ + +Face Data + todo + +Condition + Which condition will be used for node to activate. + +Origin + Vector3 values for . todo + +Aim + Vector3 values for aim to . todo + +Local + todo + +Property + Which property to use. + +Material + Which material to use. + +Exclude + todo + +X-Ray + todo + +Custom Distance + todo + +Distance + todo. Only visible if *Custom Distance* is checked. + +Mask + Mask layers to use. todo + +Visualize + todo + +Outputs ++++++++ + +Has Result + todo + +Picked Object + todo + +Picked Point + todo + +Picked Normal + todo + +Ray Direction + The direction of ray to cast. + +Face Material Name + todo. Only visible if *Face Data* input is checked. + +UV Coords + UV coordinates of todo. Only visible if *Face Data* is checked. diff --git a/source/manual/logic_nodes/render/eevee/index.rst b/source/manual/logic_nodes/render/eevee/index.rst new file mode 100644 index 00000000..7377f899 --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/index.rst @@ -0,0 +1,15 @@ +.. _ln-render-eevee-index: + +============================= +EEVEE +============================= + +.. toctree:: + :maxdepth: 1 + + set_ambient_occlusion + set_bloom + set_exposure + set_gamma + set_ssr + set_volumetric_light diff --git a/source/manual/logic_nodes/render/eevee/set_ambient_occlusion.rst b/source/manual/logic_nodes/render/eevee/set_ambient_occlusion.rst new file mode 100644 index 00000000..8cca8677 --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/set_ambient_occlusion.rst @@ -0,0 +1,25 @@ +.. _ln-set_ambient_occlusion: + +.. figure:: /images/logic_nodes/render/eevee/ln-set_ambient_occlusion.png + :align: right + :width: 215 + :alt: Set Ambient Occlusion Node + +============================= +Set Ambient Occlusion +============================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Use AO + If checked, Ambient Occlusion will be used. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/eevee/set_bloom.rst b/source/manual/logic_nodes/render/eevee/set_bloom.rst new file mode 100644 index 00000000..d031b97d --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/set_bloom.rst @@ -0,0 +1,25 @@ +.. _ln-set-bloom: + +.. figure:: /images/logic_nodes/render/eevee/ln-set_bloom.png + :align: right + :width: 215 + :alt: Set Bloom Node + +======================= +Set Bloom +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Use Bloom + If checked, Bloom will be used. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/eevee/set_exposure.rst b/source/manual/logic_nodes/render/eevee/set_exposure.rst new file mode 100644 index 00000000..6d15b99d --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/set_exposure.rst @@ -0,0 +1,25 @@ +.. _ln-set-exposure: + +.. figure:: /images/logic_nodes/render/eevee/ln-set_exposure.png + :align: right + :width: 215 + :alt: Set Exposure Node + +======================= +Set Exposure +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Exposure + Value of the Exposure to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/eevee/set_gamma.rst b/source/manual/logic_nodes/render/eevee/set_gamma.rst new file mode 100644 index 00000000..a1847c14 --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/set_gamma.rst @@ -0,0 +1,25 @@ +.. _ln-set-gamma: + +.. figure:: /images/logic_nodes/render/eevee/ln-set_gamma.png + :align: right + :width: 215 + :alt: Set Gamma Node + +======================= +Set Gamma +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Gamma + Value of the Gamma to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/eevee/set_ssr.rst b/source/manual/logic_nodes/render/eevee/set_ssr.rst new file mode 100644 index 00000000..c5467bc1 --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/set_ssr.rst @@ -0,0 +1,25 @@ +.. _ln-set-ssr: + +.. figure:: /images/logic_nodes/render/eevee/ln-set_ssr.png + :align: right + :width: 215 + :alt: Set SSR Node + +======================= +Set SSR +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Use SSR + If checked, SSR (Screen Space Reflection) will be used. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/eevee/set_volumetric_light.rst b/source/manual/logic_nodes/render/eevee/set_volumetric_light.rst new file mode 100644 index 00000000..0bc314c0 --- /dev/null +++ b/source/manual/logic_nodes/render/eevee/set_volumetric_light.rst @@ -0,0 +1,25 @@ +.. _ln-set-volumetric-light: + +.. figure:: /images/logic_nodes/render/eevee/ln-set_volumetric_light.png + :align: right + :width: 215 + :alt: Set Volumetric Light Node + +======================= +Set Volumetric Light +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Volumetrics + If checked, Volumetric Light will be used. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/get_fullscreen.rst b/source/manual/logic_nodes/render/get_fullscreen.rst new file mode 100644 index 00000000..fb8e302d --- /dev/null +++ b/source/manual/logic_nodes/render/get_fullscreen.rst @@ -0,0 +1,16 @@ +.. _ln-get_fullscreen: + +.. figure:: /images/logic_nodes/render/ln-get_fullscreen.png + :align: right + :width: 215 + :alt: Get Fullscreen Node + +========== +Get Fullscreen +========== + +Outputs ++++++++ + +Fullscreen + *True* if Fullscreen is enabled, else *False*. todo diff --git a/source/manual/logic_nodes/render/get_resolution.rst b/source/manual/logic_nodes/render/get_resolution.rst new file mode 100644 index 00000000..2139cfa4 --- /dev/null +++ b/source/manual/logic_nodes/render/get_resolution.rst @@ -0,0 +1,22 @@ +.. _ln-get_resolution: + +.. figure:: /images/logic_nodes/render/ln-get_resolution.png + :align: right + :width: 215 + :alt: Get Resolution Node + +============================= +Get Resolution +============================= + +Outputs ++++++++ + +Width + Resulting screen width. todo + +Height + Resulting screen height. todo + +Resolution + Current screen resolution. todo diff --git a/source/manual/logic_nodes/render/get_vsync.rst b/source/manual/logic_nodes/render/get_vsync.rst new file mode 100644 index 00000000..0a07ac63 --- /dev/null +++ b/source/manual/logic_nodes/render/get_vsync.rst @@ -0,0 +1,16 @@ +.. _ln-get_vsync: + +.. figure:: /images/logic_nodes/render/ln-get_vsync.png + :align: right + :width: 215 + :alt: Get VSync Node + +========== +Get VSync +========== + +Outputs ++++++++ + +Mode + todo diff --git a/source/manual/logic_nodes/render/index.rst b/source/manual/logic_nodes/render/index.rst new file mode 100644 index 00000000..fd4422dc --- /dev/null +++ b/source/manual/logic_nodes/render/index.rst @@ -0,0 +1,18 @@ +.. _ln-render-index: + +============================= +Render +============================= + +.. toctree:: + :maxdepth: 1 + + eevee/index + get_fullscreen + set_fullscreen + get_resolution + set_resolution + get_vsync + set_vsync + show_framerate + show_profile diff --git a/source/manual/logic_nodes/render/set_fullscreen.rst b/source/manual/logic_nodes/render/set_fullscreen.rst new file mode 100644 index 00000000..5628e27c --- /dev/null +++ b/source/manual/logic_nodes/render/set_fullscreen.rst @@ -0,0 +1,25 @@ +.. _ln-set_fullscreen: + +.. figure:: /images/logic_nodes/render/ln-set_fullscreen.png + :align: right + :width: 215 + :alt: Set Fullscreen Node + +========== +Set Fullscreen +========== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Fullscreen + If checked, Fullscreen will be set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/set_resolution.rst b/source/manual/logic_nodes/render/set_resolution.rst new file mode 100644 index 00000000..34a37ae8 --- /dev/null +++ b/source/manual/logic_nodes/render/set_resolution.rst @@ -0,0 +1,28 @@ +.. _ln-set_resolution: + +.. figure:: /images/logic_nodes/render/ln-set_resolution.png + :align: right + :width: 215 + :alt: Set Resolution Node + +========== +Set Resolution +========== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +X + Resolution width to set. + +Y + Resolution height to set. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/set_vsync.rst b/source/manual/logic_nodes/render/set_vsync.rst new file mode 100644 index 00000000..9d1698cd --- /dev/null +++ b/source/manual/logic_nodes/render/set_vsync.rst @@ -0,0 +1,28 @@ +.. _ln-set_vsync: + +.. figure:: /images/logic_nodes/render/ln-set_vsync.png + :align: right + :width: 215 + :alt: Set VSync Node + +========== +Set VSync +========== + +Parameters +++++++++++ + +Mode + Selected mode of VSync to set. todo + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/show_framerate.rst b/source/manual/logic_nodes/render/show_framerate.rst new file mode 100644 index 00000000..5d7f8b00 --- /dev/null +++ b/source/manual/logic_nodes/render/show_framerate.rst @@ -0,0 +1,25 @@ +.. _ln-show_framerate: + +.. figure:: /images/logic_nodes/render/ln-show_framerate.png + :align: right + :width: 215 + :alt: Show Framerate Node + +============================= +Show Framerate +============================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Show + If checked/enabled, Framerate will be shown. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/render/show_profile.rst b/source/manual/logic_nodes/render/show_profile.rst new file mode 100644 index 00000000..6e2d27dc --- /dev/null +++ b/source/manual/logic_nodes/render/show_profile.rst @@ -0,0 +1,25 @@ +.. _ln-show_profile: + +.. figure:: /images/logic_nodes/render/ln-show_profile.png + :align: right + :width: 215 + :alt: Show Profile Node + +============================= +Show Profile +============================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Show + If checked/enabled, Framerate will be shown. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/camera/active_camera.rst b/source/manual/logic_nodes/scene/camera/active_camera.rst new file mode 100644 index 00000000..704f0847 --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/active_camera.rst @@ -0,0 +1,16 @@ +.. _ln-active_camera: + +.. figure:: /images/logic_nodes/scene/camera/ln-active_camera.png + :align: right + :width: 215 + :alt: Active Camera Node + +============== +Active Camera +============== + +Outputs ++++++++ + +Camera + Current active camera in the scene. diff --git a/source/manual/logic_nodes/scene/camera/index.rst b/source/manual/logic_nodes/scene/camera/index.rst new file mode 100644 index 00000000..51398e02 --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/index.rst @@ -0,0 +1,15 @@ +.. _ln-scene-camera-index: + +========= +Camera +========= + +.. toctree:: + :maxdepth: 1 + + active_camera + set_camera + set_fov + set_orthographic_scale + world_to_screen + screen_to_world diff --git a/source/manual/logic_nodes/scene/camera/screen_to_world.rst b/source/manual/logic_nodes/scene/camera/screen_to_world.rst new file mode 100644 index 00000000..9b9c7e0c --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/screen_to_world.rst @@ -0,0 +1,31 @@ +.. _ln-screen_to_world: + +.. figure:: /images/logic_nodes/scene/camera/ln-screen_to_world.png + :align: right + :width: 215 + :alt: Screen To World Node + +======================= +Screen To World +======================= + +Inputs +++++++ + +Camera + todo + +Screen X + Screen X (horizontal) position. + +Screen Y + Screen Y (vertical) position. + +Depth + todo + +Outputs ++++++++ + +World Position + Resulting world position. diff --git a/source/manual/logic_nodes/scene/camera/set_camera.rst b/source/manual/logic_nodes/scene/camera/set_camera.rst new file mode 100644 index 00000000..a93092b3 --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/set_camera.rst @@ -0,0 +1,25 @@ +.. _ln-set_camera: + +.. figure:: /images/logic_nodes/scene/camera/ln-set_camera.png + :align: right + :width: 215 + :alt: Set Camera Node + +============== +Set Camera +============== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Camera + Which camera to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/camera/set_fov.rst b/source/manual/logic_nodes/scene/camera/set_fov.rst new file mode 100644 index 00000000..0b266f91 --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/set_fov.rst @@ -0,0 +1,30 @@ +.. _ln-set_fov: + +.. figure:: /images/logic_nodes/scene/camera/ln-set_fov.png + :align: right + :width: 215 + :alt: Set FOV Node + +============== +Set FOV +============== + +Will set a *Field of View* to selected camera. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Camera + Which camera to set a FOV to. + +FOV + Value of FOV to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/camera/set_orthographic_scale.rst b/source/manual/logic_nodes/scene/camera/set_orthographic_scale.rst new file mode 100644 index 00000000..28eb7256 --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/set_orthographic_scale.rst @@ -0,0 +1,25 @@ +.. _ln-set_orthographic_scale: + +.. figure:: /images/logic_nodes/scene/camera/ln-set_orthographic_scale.png + :align: right + :width: 215 + :alt: Set Orthographic Scale Node + +======================= +Set Orthographic Scale +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Camera + Which camera to set to. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/camera/world_to_screen.rst b/source/manual/logic_nodes/scene/camera/world_to_screen.rst new file mode 100644 index 00000000..e6e4dcd3 --- /dev/null +++ b/source/manual/logic_nodes/scene/camera/world_to_screen.rst @@ -0,0 +1,25 @@ +.. _ln-world_to_screen: + +.. figure:: /images/logic_nodes/scene/camera/ln-world_to_screen.png + :align: right + :width: 215 + :alt: World To Screen Node + +======================= +World To Screen +======================= + +Inputs +++++++ + +Point + todo + +Camera + todo + +Outputs ++++++++ + +On Screen + todo diff --git a/source/manual/logic_nodes/scene/collections/get_collection.rst b/source/manual/logic_nodes/scene/collections/get_collection.rst new file mode 100644 index 00000000..b36fd32e --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/get_collection.rst @@ -0,0 +1,22 @@ +.. _ln-get_collection: + +.. figure:: /images/logic_nodes/scene/collections/ln-get_collection.png + :align: right + :width: 215 + :alt: Get Collection Node + +======================= +Get Collection +======================= + +Inputs +++++++ + +Collection + Collection to get. + +Outputs ++++++++ + +Collection + Resulting collection data. diff --git a/source/manual/logic_nodes/scene/collections/get_object_names.rst b/source/manual/logic_nodes/scene/collections/get_object_names.rst new file mode 100644 index 00000000..a26de877 --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/get_object_names.rst @@ -0,0 +1,22 @@ +.. _ln-get_object_names: + +.. figure:: /images/logic_nodes/scene/collections/ln-get_object_names.png + :align: right + :width: 215 + :alt: Get Object Names Node + +======================= +Get Object Names +======================= + +Inputs +++++++ + +Collection + Collection to get object names from. + +Outputs ++++++++ + +Object Names + A list of resulting object names. diff --git a/source/manual/logic_nodes/scene/collections/get_objects.rst b/source/manual/logic_nodes/scene/collections/get_objects.rst new file mode 100644 index 00000000..8ce3e562 --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/get_objects.rst @@ -0,0 +1,22 @@ +.. _ln-get_objects: + +.. figure:: /images/logic_nodes/scene/collections/ln-get_objects.png + :align: right + :width: 215 + :alt: Get Objects Node + +======================= +Get Objects +======================= + +Inputs +++++++ + +Collection + Collection to get objects from. + +Outputs ++++++++ + +Objects + A list of resulting objects. diff --git a/source/manual/logic_nodes/scene/collections/index.rst b/source/manual/logic_nodes/scene/collections/index.rst new file mode 100644 index 00000000..35e769ab --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/index.rst @@ -0,0 +1,15 @@ +.. _ln-scene-collections-index: + +=========== +Collections +=========== + +.. toctree:: + :maxdepth: 1 + + get_collection + get_object_names + get_objects + set_collection_visibility + set_overlay_collection + remove_overlay_collection diff --git a/source/manual/logic_nodes/scene/collections/remove_overlay_collection.rst b/source/manual/logic_nodes/scene/collections/remove_overlay_collection.rst new file mode 100644 index 00000000..7770a06a --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/remove_overlay_collection.rst @@ -0,0 +1,25 @@ +.. _ln-remove_overlay_collection: + +.. figure:: /images/logic_nodes/scene/collections/ln-remove_overlay_collection.png + :align: right + :width: 215 + :alt: Remove Overlay Collection Node + +========================= +Remove Overlay Collection +========================= + +Inputs +++++++ + +Condition + The condition for this node to activate. + +Collection + Which collection to remove overlay from. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/collections/set_collection_visibility.rst b/source/manual/logic_nodes/scene/collections/set_collection_visibility.rst new file mode 100644 index 00000000..2eec9712 --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/set_collection_visibility.rst @@ -0,0 +1,31 @@ +.. _ln-set_collection_visibility: + +.. figure:: /images/logic_nodes/scene/collections/ln-set_collection_visibility.png + :align: right + :width: 215 + :alt: Set Collection Visibility Node + +========================= +Set Collection Visibility +========================= + +Inputs +++++++ + +Condition + The condition for this node to start. + +Collection + Collection to get. + +Visible + If checked, collection is visible, else it is hidden. + +Include Children + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/collections/set_overlay_collection.rst b/source/manual/logic_nodes/scene/collections/set_overlay_collection.rst new file mode 100644 index 00000000..f85a6f3a --- /dev/null +++ b/source/manual/logic_nodes/scene/collections/set_overlay_collection.rst @@ -0,0 +1,28 @@ +.. _ln-set_overlay_collection: + +.. figure:: /images/logic_nodes/scene/collections/ln-set_overlay_collection.png + :align: right + :width: 215 + :alt: Set Overlay Collection Node + +======================= +Set Overlay Collection +======================= + +Inputs +++++++ + +Condition + The condition for this node to start. + +Camera + Which camera is used for overlay display. + +Collection + Which collection to set overlay to. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/get_gravity.rst b/source/manual/logic_nodes/scene/get_gravity.rst new file mode 100644 index 00000000..55a2b8c5 --- /dev/null +++ b/source/manual/logic_nodes/scene/get_gravity.rst @@ -0,0 +1,16 @@ +.. _ln-get_gravity: + +.. figure:: /images/logic_nodes/scene/ln-get_gravity.png + :align: right + :width: 215 + :alt: Get Gravity Node + +=========== +Get Gravity +=========== + +Outputs ++++++++ + +Gravity + Gravity data of current scene. diff --git a/source/manual/logic_nodes/scene/get_scene.rst b/source/manual/logic_nodes/scene/get_scene.rst new file mode 100644 index 00000000..58140725 --- /dev/null +++ b/source/manual/logic_nodes/scene/get_scene.rst @@ -0,0 +1,16 @@ +.. _ln-get_scene: + +.. figure:: /images/logic_nodes/scene/ln-get_scene.png + :align: right + :width: 215 + :alt: Get Scene Node + +========== +Get Scene +========== + +Outputs ++++++++ + +Scene + Active scene. todo diff --git a/source/manual/logic_nodes/scene/get_timescale.rst b/source/manual/logic_nodes/scene/get_timescale.rst new file mode 100644 index 00000000..7feaa914 --- /dev/null +++ b/source/manual/logic_nodes/scene/get_timescale.rst @@ -0,0 +1,16 @@ +.. _ln-get_timescale: + +.. figure:: /images/logic_nodes/scene/ln-get_timescale.png + :align: right + :width: 215 + :alt: Get Timescale Node + +============= +Get Timescale +============= + +Outputs ++++++++ + +Timescale + Current timescale of the scene. diff --git a/source/manual/logic_nodes/scene/index.rst b/source/manual/logic_nodes/scene/index.rst new file mode 100644 index 00000000..02c63f51 --- /dev/null +++ b/source/manual/logic_nodes/scene/index.rst @@ -0,0 +1,18 @@ +.. _ln-scene-index: + +============ +Scene +============ + +.. toctree:: + :maxdepth: 1 + + camera/index + post_fx/index + collections/index + get_scene + set_scene + get_gravity + set_gravity + get_timescale + set_timescale diff --git a/source/manual/logic_nodes/scene/post_fx/add_filter.rst b/source/manual/logic_nodes/scene/post_fx/add_filter.rst new file mode 100644 index 00000000..c2ed19d5 --- /dev/null +++ b/source/manual/logic_nodes/scene/post_fx/add_filter.rst @@ -0,0 +1,46 @@ +.. _ln-add_filter: + +.. figure:: /images/logic_nodes/scene/post_fx/ln-add_filter.png + :align: right + :width: 215 + :alt: Add Filter Node + +======================= +Add Filter +======================= + +Parameters +++++++++++ + +Filter + Filter type to add. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Pass Index + todo + +Power + todo + +Color + Color of the added filter. + +Brightness + Brightness of the selected filter. + +Start + todo. For *Mist* filter only. + +Density + Density of the mist. For *Mist* filter only. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/post_fx/index.rst b/source/manual/logic_nodes/scene/post_fx/index.rst new file mode 100644 index 00000000..16036c96 --- /dev/null +++ b/source/manual/logic_nodes/scene/post_fx/index.rst @@ -0,0 +1,13 @@ +.. _ln-scene-post_fx-index: + +========= +Post FX +========= + +.. toctree:: + :maxdepth: 1 + + add_filter + remove_filter + set_filter_state + toggle_filter diff --git a/source/manual/logic_nodes/scene/post_fx/remove_filter.rst b/source/manual/logic_nodes/scene/post_fx/remove_filter.rst new file mode 100644 index 00000000..c3dcfd73 --- /dev/null +++ b/source/manual/logic_nodes/scene/post_fx/remove_filter.rst @@ -0,0 +1,25 @@ +.. _ln-remove_filter: + +.. figure:: /images/logic_nodes/scene/post_fx/ln-remove_filter.png + :align: right + :width: 215 + :alt: Remove Filter Node + +======================= +Remove Filter +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Pass Index + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/post_fx/set_filter_state.rst b/source/manual/logic_nodes/scene/post_fx/set_filter_state.rst new file mode 100644 index 00000000..13931ab6 --- /dev/null +++ b/source/manual/logic_nodes/scene/post_fx/set_filter_state.rst @@ -0,0 +1,28 @@ +.. _ln-set_filter_state: + +.. figure:: /images/logic_nodes/scene/post_fx/ln-set_filter_state.png + :align: right + :width: 215 + :alt: Set Filter State Node + +======================= +Set Filter State +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Pass Index + todo + +Active + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/post_fx/toggle_filter.rst b/source/manual/logic_nodes/scene/post_fx/toggle_filter.rst new file mode 100644 index 00000000..632378b1 --- /dev/null +++ b/source/manual/logic_nodes/scene/post_fx/toggle_filter.rst @@ -0,0 +1,25 @@ +.. _ln-toggle_filter: + +.. figure:: /images/logic_nodes/scene/post_fx/ln-toggle_filter.png + :align: right + :width: 215 + :alt: Toggle Filter Node + +======================= +Toggle Filter +======================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Pass Index + todo + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/set_gravity.rst b/source/manual/logic_nodes/scene/set_gravity.rst new file mode 100644 index 00000000..c3529e1c --- /dev/null +++ b/source/manual/logic_nodes/scene/set_gravity.rst @@ -0,0 +1,25 @@ +.. _ln-set_gravity: + +.. figure:: /images/logic_nodes/scene/ln-set_gravity.png + :align: right + :width: 215 + :alt: Set Gravity Node + +=========== +Set Gravity +=========== + +Inputs +++++++ + +Condition + The condition for this node to activate. + +Gravity + Gravity data to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/set_scene.rst b/source/manual/logic_nodes/scene/set_scene.rst new file mode 100644 index 00000000..0c2778cc --- /dev/null +++ b/source/manual/logic_nodes/scene/set_scene.rst @@ -0,0 +1,25 @@ +.. _ln-set_scene: + +.. figure:: /images/logic_nodes/scene/ln-set_scene.png + :align: right + :width: 215 + :alt: Set Scene Node + +========== +Set Scene +========== + +Inputs +++++++ + +Condition + The condition for this node to activate. + +Scene + Which scene to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/scene/set_timescale.rst b/source/manual/logic_nodes/scene/set_timescale.rst new file mode 100644 index 00000000..05b6d14e --- /dev/null +++ b/source/manual/logic_nodes/scene/set_timescale.rst @@ -0,0 +1,25 @@ +.. _ln-set_timescale: + +.. figure:: /images/logic_nodes/scene/ln-set_timescale.png + :align: right + :width: 215 + :alt: Set Timescale Node + +============= +Set Timescale +============= + +Inputs +++++++ + +Condition + The condition for this node to activate. + +Timescale + Timescale value to set. + +Outputs ++++++++ + +Done + *True* if the node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/sound/index.rst b/source/manual/logic_nodes/sound/index.rst new file mode 100644 index 00000000..8d3404a0 --- /dev/null +++ b/source/manual/logic_nodes/sound/index.rst @@ -0,0 +1,15 @@ +.. _ln-sound-index: + +====================== +Sound +====================== + +.. toctree:: + :maxdepth: 1 + + start_sound + start_speaker + pause_sound + resume_sound + stop_sound + stop_all_sounds diff --git a/source/manual/logic_nodes/sound/pause_sound.rst b/source/manual/logic_nodes/sound/pause_sound.rst new file mode 100644 index 00000000..7d86a64b --- /dev/null +++ b/source/manual/logic_nodes/sound/pause_sound.rst @@ -0,0 +1,37 @@ +.. _ln-pause_sound: + +.. figure:: /images/logic_nodes/sound/ln-pause_sound.png + :align: right + :width: 215 + :alt: Pause Sound Node + +====================== +Pause Sound +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Sound + Playing sound. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Example ++++++++ + +.. figure:: /images/logic_nodes/sound/ln-pause_sound-example.png + :align: center + :width: 100% + :alt: Pause Sound Node + +| + +This example will play sound when :kbd:`Space` key is pressed, will pause sound when :kbd:`P` is pressed, and will resume sound when :kbd:`E` key is pressed. diff --git a/source/manual/logic_nodes/sound/resume_sound.rst b/source/manual/logic_nodes/sound/resume_sound.rst new file mode 100644 index 00000000..df96e630 --- /dev/null +++ b/source/manual/logic_nodes/sound/resume_sound.rst @@ -0,0 +1,25 @@ +.. _ln-resume_sound: + +.. figure:: /images/logic_nodes/sound/ln-resume_sound.png + :align: right + :width: 215 + :alt: Resume Sound Node + +====================== +Resume Sound +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Sound + Playing sound. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/sound/start_sound.rst b/source/manual/logic_nodes/sound/start_sound.rst new file mode 100644 index 00000000..ec5e6305 --- /dev/null +++ b/source/manual/logic_nodes/sound/start_sound.rst @@ -0,0 +1,91 @@ +.. _ln-start_sound: + +.. figure:: /images/logic_nodes/sound/ln-start_sound.png + :align: right + :width: 265 + :alt: Start Sound Node + +====================== +Start Sound +====================== + +Parameters +++++++++++ + +Sound Type + 2D or 3D sound or sample; sample has additional 2 more inputs. + +Loop Count + Play once, loop or play sound n times. + +Inputs +++++++ + +Update Running + todo + +Show Advanced Options + If selected, additional inputs are activated. + +Use Speaker + If selected, *Position* is changed to *Object* field; enter object name or pick from list. + +Condition + If connected, condition must be fulfilled for node to activate. + +Position + Vector position of the sound source. + +Sound File + Which file to play. Pick sound file from dropdown list, or load it with folder icon. + +Use Occlusion + todo + +Loop Count + How many times to play the sound. + +Pitch + Set pitch of the sound. + +Volume + A volume to set. + +Ignore Timescale + If checked, timescale will be ignored. + +Attenuation + Attenuation value of the sound. Only visible if *Show Advanced Options* is selected. + +Reference Distance + todo. Only visible if *Show Advanced Options* is selected. + +Cone Inner / Outer + Size of inner and outer sound cone. Only visible if *Show Advanced Options* is selected. + +Cone Outer Volume + Volume of outer cone. Only visible if *Show Advanced Options* is selected. + +Outputs ++++++++ + +On Start + Start signal is emitted. + +On Finish + End signal is emitted. + +Sound + Resulting sound output. + +Example +============================== + +.. figure:: /images/logic_nodes/sound/ln-start_sound-example.png + :align: center + :width: 80% + :alt: Start Sound Node Example + +| + +Above example will play selected ``Sound File``, when mouse cursor enters the selected ``Object`` - a non-default ``Cube`` in this example. diff --git a/source/manual/logic_nodes/sound/start_speaker.rst b/source/manual/logic_nodes/sound/start_speaker.rst new file mode 100644 index 00000000..de9217ed --- /dev/null +++ b/source/manual/logic_nodes/sound/start_speaker.rst @@ -0,0 +1,40 @@ +.. _logic_nodes-start_speaker: + +.. figure:: /images/logic_nodes/sound/ln-start_speaker.png + :align: right + :width: 215 + :alt: Start Speaker Node + +====================== +Start Speaker +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Speaker + Speaker Object to use. + +Use Occlusion + todo + +Loop Count + Selected Speaker play times. + +Ignore Timescale + todo + +Outputs ++++++++ + +On Start + Start signal is emitted. + +On Finish + End signal is emitted. + +Sound + Resulting sound output. diff --git a/source/manual/logic_nodes/sound/stop_all_sounds.rst b/source/manual/logic_nodes/sound/stop_all_sounds.rst new file mode 100644 index 00000000..880bfdfd --- /dev/null +++ b/source/manual/logic_nodes/sound/stop_all_sounds.rst @@ -0,0 +1,22 @@ +.. _logic_nodes-stop_all_sounds: + +.. figure:: /images/logic_nodes/sound/ln-stop_all_sounds.png + :align: right + :width: 215 + :alt: Stop All Sounds + +====================== +Stop All Sounds +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/sound/stop_sound.rst b/source/manual/logic_nodes/sound/stop_sound.rst new file mode 100644 index 00000000..495192de --- /dev/null +++ b/source/manual/logic_nodes/sound/stop_sound.rst @@ -0,0 +1,25 @@ +.. _ln-stop_sound: + +.. figure:: /images/logic_nodes/sound/ln-stop_sound.png + :align: right + :width: 215 + :alt: Stop Sound Node + +====================== +Stop Sound +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Sound + Playing sound. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/time/barrier.rst b/source/manual/logic_nodes/time/barrier.rst new file mode 100644 index 00000000..f7971204 --- /dev/null +++ b/source/manual/logic_nodes/time/barrier.rst @@ -0,0 +1,25 @@ +.. _ln-barrier: + +.. figure:: /images/logic_nodes/time/ln-barrier.png + :align: right + :width: 215 + :alt: Barrier Node + +====================== +Barrier +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Time + todo + +Outputs ++++++++ + +Out + Resulting value of . todo diff --git a/source/manual/logic_nodes/time/delay.rst b/source/manual/logic_nodes/time/delay.rst new file mode 100644 index 00000000..106c0a1b --- /dev/null +++ b/source/manual/logic_nodes/time/delay.rst @@ -0,0 +1,25 @@ +.. _ln-delay: + +.. figure:: /images/logic_nodes/time/ln-delay.png + :align: right + :width: 215 + :alt: Delay Node + +====================== +Delay +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Delay + *Delay* value to use. + +Outputs ++++++++ + +Out + Resulting delay value to apply. diff --git a/source/manual/logic_nodes/time/delta_factor.rst b/source/manual/logic_nodes/time/delta_factor.rst new file mode 100644 index 00000000..c417c784 --- /dev/null +++ b/source/manual/logic_nodes/time/delta_factor.rst @@ -0,0 +1,16 @@ +.. _ln-delta_factor: + +.. figure:: /images/logic_nodes/time/ln-delta_factor.png + :align: right + :width: 215 + :alt: Delta Factor Node + +====================== +Delta Factor +====================== + +Outputs ++++++++ + +Factor + *Delta Factor* of . todo diff --git a/source/manual/logic_nodes/time/index.rst b/source/manual/logic_nodes/time/index.rst new file mode 100644 index 00000000..54ef01b9 --- /dev/null +++ b/source/manual/logic_nodes/time/index.rst @@ -0,0 +1,15 @@ +.. _ln-time-index: + +====================== +Time +====================== + +.. toctree:: + :maxdepth: 1 + + time_data + delta_factor + delay + timer + pulsify + barrier diff --git a/source/manual/logic_nodes/time/pulsify.rst b/source/manual/logic_nodes/time/pulsify.rst new file mode 100644 index 00000000..281b47de --- /dev/null +++ b/source/manual/logic_nodes/time/pulsify.rst @@ -0,0 +1,25 @@ +.. _ln-pulsify: + +.. figure:: /images/logic_nodes/time/ln-pulsify.png + :align: right + :width: 215 + :alt: Pulsify Node + +====================== +Pulsify +====================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Gap + A gap between pulses. + +Outputs ++++++++ + +Out + Resulting . todo diff --git a/source/manual/logic_nodes/time/time_data.rst b/source/manual/logic_nodes/time/time_data.rst new file mode 100644 index 00000000..a7174578 --- /dev/null +++ b/source/manual/logic_nodes/time/time_data.rst @@ -0,0 +1,22 @@ +.. _ln-time_data: + +.. figure:: /images/logic_nodes/time/ln-time_data.png + :align: right + :width: 215 + :alt: Time Data Node + +====================== +Time Data +====================== + +Outputs ++++++++ + +Time + todo + +Delta (Frametime) + todo + +FPS + *Frames Per Second* of the running game. diff --git a/source/manual/logic_nodes/time/timer.rst b/source/manual/logic_nodes/time/timer.rst new file mode 100644 index 00000000..732e996c --- /dev/null +++ b/source/manual/logic_nodes/time/timer.rst @@ -0,0 +1,25 @@ +.. _ln-timer: + +.. figure:: /images/logic_nodes/time/ln-timer.png + :align: right + :width: 215 + :alt: Timer Node + +====================== +Timer +====================== + +Inputs +++++++ + +Set Timer + Condition required for timer to be set. + +Seconds + Seconds needed to pass until timer activates. + +Outputs ++++++++ + +When Elapsed + Condition/node to execute when timer has elapsed. diff --git a/source/manual/logic_nodes/ui/add_widget.rst b/source/manual/logic_nodes/ui/add_widget.rst new file mode 100644 index 00000000..1c73f77e --- /dev/null +++ b/source/manual/logic_nodes/ui/add_widget.rst @@ -0,0 +1,28 @@ +.. _ln-add_widget: + +.. figure:: /images/logic_nodes/ui/ln-add_widget.png + :align: right + :width: 215 + :alt: Add Widget Node + +========== +Add Widget +========== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Parent + todo + +Widget + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/ui/get_widget_attribute.rst b/source/manual/logic_nodes/ui/get_widget_attribute.rst new file mode 100644 index 00000000..1c516801 --- /dev/null +++ b/source/manual/logic_nodes/ui/get_widget_attribute.rst @@ -0,0 +1,28 @@ +.. _ln-get_widget_attribute: + +.. figure:: /images/logic_nodes/ui/ln-get_widget_attribute.png + :align: right + :width: 215 + :alt: Get Widget Attribute Node + +============================= +Get Widget Attribute +============================= + +Parameters +++++++++++ + +todo + todo + +Inputs +++++++ + +Widget + Widget from which to get an attribute. + +Outputs ++++++++ + +Output todo + Resulting output value. todo diff --git a/source/manual/logic_nodes/ui/index.rst b/source/manual/logic_nodes/ui/index.rst new file mode 100644 index 00000000..532a31c3 --- /dev/null +++ b/source/manual/logic_nodes/ui/index.rst @@ -0,0 +1,14 @@ +.. _ln-ui-index: + +============================= +UI +============================= + +.. toctree:: + :maxdepth: 1 + + widgets/index + add_widget + get_widget_attribute + set_widget_attribute + set_custom_cursor diff --git a/source/manual/logic_nodes/ui/set_custom_cursor.rst b/source/manual/logic_nodes/ui/set_custom_cursor.rst new file mode 100644 index 00000000..beee6da9 --- /dev/null +++ b/source/manual/logic_nodes/ui/set_custom_cursor.rst @@ -0,0 +1,31 @@ +.. _ln-set_custom_cursor: + +.. figure:: /images/logic_nodes/ui/ln-set_custom_cursor.png + :align: right + :width: 215 + :alt: Set Custom Cursor Node + +============================= +Set Custom Cursor +============================= + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Texture + Image to use as custom cursor. + +Size + Size of above image for cursor. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Cursor + Resulting cursor data. todo diff --git a/source/manual/logic_nodes/ui/set_widget_attribute.rst b/source/manual/logic_nodes/ui/set_widget_attribute.rst new file mode 100644 index 00000000..da2cb395 --- /dev/null +++ b/source/manual/logic_nodes/ui/set_widget_attribute.rst @@ -0,0 +1,31 @@ +.. _ln-set_widget_attribute: + +.. figure:: /images/logic_nodes/ui/ln-set_widget_attribute.png + :align: right + :width: 215 + :alt: Set Widget Attribute Node + +============================= +Set Widget Attribute +============================= + +Parameters +++++++++++ + +todo + todo + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Widget + Which widget to set attribute to. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/ui/widgets/create_button.rst b/source/manual/logic_nodes/ui/widgets/create_button.rst new file mode 100644 index 00000000..0a2e693a --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/create_button.rst @@ -0,0 +1,76 @@ +.. _ln-create_button: + +.. figure:: /images/logic_nodes/ui/widgets/ln-create_button.png + :align: right + :width: 215 + :alt: Create Button Node + +======================== +Create Button +======================== + +Parameters +++++++++++ + +X: + Origin/start horizontal position. + +Y: + Origin/start vertical position. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Parent + todo + +Relative Position + todo + +Vector + X and Y vector of . todo + +Relative Size + todo + +Vector + todo + +Angle + Angle in radians. todo + +Color + Button color in normal state. + +Hover Color + Button color when mouse is hovering over. + +Border Width + Width of border line, in pixels. + +Border Color + Color of border line. + +Text + Button text string. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Button + Resulting button data . todo + +On Click + Which action to perform on button click. + +On Hover + Which action to perform on button mouse-over. + +On Release + Which action to perform on button release. diff --git a/source/manual/logic_nodes/ui/widgets/create_canvas.rst b/source/manual/logic_nodes/ui/widgets/create_canvas.rst new file mode 100644 index 00000000..92a795e2 --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/create_canvas.rst @@ -0,0 +1,25 @@ +.. _ln-create_canvas: + +.. figure:: /images/logic_nodes/ui/widgets/ln-create_canvas.png + :align: right + :width: 215 + :alt: Create Canvas Node + +======================== +Create Canvas +======================== + +Inputs +++++++ + +On Init + If checked, canvas will be created on game initialization. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Canvas + Resulting canvas data. todo diff --git a/source/manual/logic_nodes/ui/widgets/create_image.rst b/source/manual/logic_nodes/ui/widgets/create_image.rst new file mode 100644 index 00000000..8a3ce52b --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/create_image.rst @@ -0,0 +1,55 @@ +.. _ln-create_image: + +.. figure:: /images/logic_nodes/ui/widgets/ln-create_image.png + :align: right + :width: 215 + :alt: Create Image Node + +======================== +Create Image +======================== + +Parameters +++++++++++ + +X: + Origin/start horizontal position. + +Y: + Origin/start vertical position. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Parent + todo + +Relative Position + todo + +Vector + X and Y vector of . todo + +Relative Size + todo + +Vector + todo + +Angle + Angle in radians. todo + +Image + Path to the image to use. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Image + Resulting image data . todo diff --git a/source/manual/logic_nodes/ui/widgets/create_label.rst b/source/manual/logic_nodes/ui/widgets/create_label.rst new file mode 100644 index 00000000..e929dd0a --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/create_label.rst @@ -0,0 +1,64 @@ +.. _ln-create_label: + +.. figure:: /images/logic_nodes/ui/widgets/ln-create_label.png + :align: right + :width: 215 + :alt: Create Label Node + +======================== +Create Label +======================== + +Parameters +++++++++++ + +X: + Origin/start horizontal position. + +Y: + Origin/start vertical position. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Parent + todo + +Relative Position + todo + +Vector + X and Y vector of . todo + +Angle + Angle in radians. todo + +Text + Label text to show. + +Font + Label text font to use. + +Font Size + Font size to set. + +Line Height + todo + +Font Color + Color to use for font. + +Use Shadow + If checked, text will drop a shadow on background. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Label + Resulting label data . todo diff --git a/source/manual/logic_nodes/ui/widgets/create_layout.rst b/source/manual/logic_nodes/ui/widgets/create_layout.rst new file mode 100644 index 00000000..87899668 --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/create_layout.rst @@ -0,0 +1,64 @@ +.. _ln-create_layout: + +.. figure:: /images/logic_nodes/ui/widgets/ln-create_layout.png + :align: right + :width: 215 + :alt: Create Layout Node + +======================== +Create Layout +======================== + +Parameters +++++++++++ + +Layout Type + Selected layout type. + +X: + Origin/start horizontal position. + +Y: + Origin/start vertical position. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Parent + todo + +Relative Position + todo + +Vector + X and Y vector of . todo + +Relative Size + todo + +Vector + todo + +Angle + Angle in radians. todo + +Color + todo + +Border Width + Width of border line, in pixels. + +Border Color + Color of border line. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Layout + Resulting layout data. todo diff --git a/source/manual/logic_nodes/ui/widgets/create_slider.rst b/source/manual/logic_nodes/ui/widgets/create_slider.rst new file mode 100644 index 00000000..12035487 --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/create_slider.rst @@ -0,0 +1,91 @@ +.. _ln-create_slider: + +.. figure:: /images/logic_nodes/ui/widgets/ln-create_slider.png + :align: right + :width: 215 + :alt: Create Slider Node + +======================== +Create Slider +======================== + +Parameters +++++++++++ + +Type + Selected slider type. + +Orientation + Selected slider orientation. + +X: + Origin/start horizontal position. + +Y: + Origin/start vertical position. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Parent + todo + +Relative Position + todo + +Vector + X and Y vector of . todo + +Relative Size + todo + +Vector + todo + +Angle + Angle in radians. todo + +Bar Width + Width of the slider bar. + +Border Color + Color of the border. + +Bar Color + Color of the slider bar. + +Bar Hover Color + Slider color when in mouse-over state. + +Knob Size + todo + +Knob Color + Color of the knob. + +Knob Hover Color + Color of the knob when in mouse-over state. + +Steps + If step functionality is required, i.e. slider moves by value of 10-20-30 etc. 0 (zero) will enable smooth value changing. todo + +Bar Control + If checked, . todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Slider + Resulting slider data . todo + +Slider Value + Initial slider value. todo + +Knob Position + Knob rotation relative to slider value. todo diff --git a/source/manual/logic_nodes/ui/widgets/index.rst b/source/manual/logic_nodes/ui/widgets/index.rst new file mode 100644 index 00000000..89fc948b --- /dev/null +++ b/source/manual/logic_nodes/ui/widgets/index.rst @@ -0,0 +1,15 @@ +.. _ln-ui-widgets-index: + +========= +Widgets +========= + +.. toctree:: + :maxdepth: 1 + + create_canvas + create_layout + create_button + create_label + create_image + create_slider diff --git a/source/manual/logic_nodes/utility/draw.rst b/source/manual/logic_nodes/utility/draw.rst new file mode 100644 index 00000000..ace4e8c3 --- /dev/null +++ b/source/manual/logic_nodes/utility/draw.rst @@ -0,0 +1,37 @@ +.. _ln-draw: + +.. figure:: /images/logic_nodes/utility/ln-draw.png + :align: right + :width: 215 + :alt: Draw Node + +============================= +Draw +============================= + +Parameters +++++++++++ + +Shape + Which shape to draw. + +Inputs +++++++ + +Condition + If checked/connected, condition must be fulfilled for node to activate. + +Color + Which color to use for drawing. + +Origin + Starting point of the shape to be drawn. + +Target + End point of the shape. todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/utility/index.rst b/source/manual/logic_nodes/utility/index.rst new file mode 100644 index 00000000..ef8e69aa --- /dev/null +++ b/source/manual/logic_nodes/utility/index.rst @@ -0,0 +1,11 @@ +.. _ln-utility-index: + +============================= +Utility +============================= + +.. toctree:: + :maxdepth: 1 + + print + draw diff --git a/source/manual/logic_nodes/utility/print.rst b/source/manual/logic_nodes/utility/print.rst new file mode 100644 index 00000000..8b74f609 --- /dev/null +++ b/source/manual/logic_nodes/utility/print.rst @@ -0,0 +1,38 @@ +.. _ln-print: + +.. figure:: /images/logic_nodes/utility/ln-print.png + :align: right + :width: 215 + :alt: Print Node + +============================= +Print +============================= + +Will print messages to :ref:`System Console `. Useful for debugging/game development. + +Parameters +++++++++++ + +Type + Printed message type. + +Inputs +++++++ + +Condition + If checked/connected, condition must be fulfilled for node to activate. + +Value + String/text to print. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. + +Example ++++++++ + +See :ref:`Formatted String ` node for ``Print`` node example. diff --git a/source/manual/logic_nodes/values/boolean.rst b/source/manual/logic_nodes/values/boolean.rst new file mode 100644 index 00000000..c2e751e1 --- /dev/null +++ b/source/manual/logic_nodes/values/boolean.rst @@ -0,0 +1,28 @@ +.. _ln-boolean: + +.. figure:: /images/logic_nodes/values/ln-boolean.png + :align: right + :width: 215 + :alt: Boolean Node + +======================== +Boolean +======================== + +Parameters +++++++++++ + +Data Type + Selected data type to be used - boolean. + +Inputs +++++++ + +Boolean + *True* if checked, else *False*, or result of socket input. + +Outputs ++++++++ + +Boolean + *True* or *False*. diff --git a/source/manual/logic_nodes/values/file_path.rst b/source/manual/logic_nodes/values/file_path.rst new file mode 100644 index 00000000..fb2d3231 --- /dev/null +++ b/source/manual/logic_nodes/values/file_path.rst @@ -0,0 +1,22 @@ +.. _ln-file_path: + +.. figure:: /images/logic_nodes/values/ln-file_path.png + :align: right + :width: 215 + :alt: File Path Node + +======================== +File Path +======================== + +Inputs +++++++ + +Path + Enter the path or click the *Folder* icon to open popup window, and navigate to the required file. + +Outputs ++++++++ + +Path + Resulting path to file. diff --git a/source/manual/logic_nodes/values/float.rst b/source/manual/logic_nodes/values/float.rst new file mode 100644 index 00000000..3d1f1e55 --- /dev/null +++ b/source/manual/logic_nodes/values/float.rst @@ -0,0 +1,28 @@ +.. _ln-float: + +.. figure:: /images/logic_nodes/values/ln-float.png + :align: right + :width: 215 + :alt: Float Node + +======================== +Float +======================== + +Parameters +++++++++++ + +Data Type + Selected data type -floating number value. + +Inputs +++++++ + +Float + Either fixed float value or result from socket, if connected. + +Outputs ++++++++ + +Float + Float result. diff --git a/source/manual/logic_nodes/values/formatted_string.rst b/source/manual/logic_nodes/values/formatted_string.rst new file mode 100644 index 00000000..b887abaf --- /dev/null +++ b/source/manual/logic_nodes/values/formatted_string.rst @@ -0,0 +1,49 @@ +.. _ln-formatted_string: + +.. figure:: /images/logic_nodes/values/ln-formatted_string.png + :align: right + :width: 215 + :alt: Formatted String Node + +======================== +Formatted String +======================== + +Inputs +++++++ + +Format String + Fixed string format, or result from connected socket. + +A + String parameter A. + +B + String parameter B. + +Outputs ++++++++ + +String + Resulting string formated from A and B strings. + +Example ++++++++ + +.. figure:: /images/logic_nodes/values/ln-formatted_string_nodes.png + :align: center + :width: 500 + :alt: Formatted String Node Example + +| + +Above setup will pull text values from two String nodes, format them through Formatted String, and print the resulting string into console, on ``LMB`` click. + +.. figure:: /images/logic_nodes/values/ln-formatted_string_output.png + :align: center + :width: 400 + :alt: Formatted String Node Output + +| + +Printed result in System Console. diff --git a/source/manual/logic_nodes/values/index.rst b/source/manual/logic_nodes/values/index.rst new file mode 100644 index 00000000..fb618043 --- /dev/null +++ b/source/manual/logic_nodes/values/index.rst @@ -0,0 +1,23 @@ +.. _ln-values-index: + +========= +Values +========= + +.. toctree:: + :maxdepth: 1 + + boolean + float + integer + string + vector/index + properties/index + random_value + invert + formatted_string + file_path + store_value + value_switch + value_switch_list + value_switch_list_compare diff --git a/source/manual/logic_nodes/values/integer.rst b/source/manual/logic_nodes/values/integer.rst new file mode 100644 index 00000000..1e953f58 --- /dev/null +++ b/source/manual/logic_nodes/values/integer.rst @@ -0,0 +1,28 @@ +.. _ln-integer: + +.. figure:: /images/logic_nodes/values/ln-integer.png + :align: right + :width: 215 + :alt: Integer Node + +======================== +Integer +======================== + +Parameters +++++++++++ + +Data Type + Selected data type - integer value. + +Inputs +++++++ + +Integer + Fixed input integer value, or a result from connected node. + +Outputs ++++++++ + +Integer + Resulting output integer value. diff --git a/source/manual/logic_nodes/values/invert.rst b/source/manual/logic_nodes/values/invert.rst new file mode 100644 index 00000000..cdb42959 --- /dev/null +++ b/source/manual/logic_nodes/values/invert.rst @@ -0,0 +1,22 @@ +.. _ln-invert: + +.. figure:: /images/logic_nodes/values/ln-invert.png + :align: right + :width: 215 + :alt: Invert Node + +======================== +Invert +======================== + +Inputs +++++++ + +Value + Fixed value, or resulting connected value to invert. + +Outputs ++++++++ + +Value + Resulting inverted value. diff --git a/source/manual/logic_nodes/values/properties/copy_property_from_object.rst b/source/manual/logic_nodes/values/properties/copy_property_from_object.rst new file mode 100644 index 00000000..dc281321 --- /dev/null +++ b/source/manual/logic_nodes/values/properties/copy_property_from_object.rst @@ -0,0 +1,37 @@ +.. _ln-copy_property_from_object: + +.. figure:: /images/logic_nodes/values/properties/ln-copy_property_from_object.png + :align: right + :width: 215 + :alt: Copy Property From Object Node + +============================= +Copy Property From Object +============================= + +Parameters +++++++++++ + +Mode + Selected property mode. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Copy From + Which object to copy from. + +To + To which object to copy. + +Property + String representation of the property to copy. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/values/properties/evaluate_object_property.rst b/source/manual/logic_nodes/values/properties/evaluate_object_property.rst new file mode 100644 index 00000000..f7f44d69 --- /dev/null +++ b/source/manual/logic_nodes/values/properties/evaluate_object_property.rst @@ -0,0 +1,40 @@ +.. _ln-evaluate_object_property: + +.. figure:: /images/logic_nodes/values/properties/ln-evaluate_object_property.png + :align: right + :width: 215 + :alt: Evaluate Object Property Node + +======================== +Evaluate Object Property +======================== + +Parameters +++++++++++ + +Mode + Selected property mode. + +Operation + Type of selected operation to perform. + +Inputs +++++++ + +Object + Which object to use. + +Property + Name of property to modify. + +Type + Selected type of evaluated property. + +Outputs ++++++++ + +If True + todo + +Value + Resulting evaluated value. diff --git a/source/manual/logic_nodes/values/properties/get_global_property.rst b/source/manual/logic_nodes/values/properties/get_global_property.rst new file mode 100644 index 00000000..6d11407a --- /dev/null +++ b/source/manual/logic_nodes/values/properties/get_global_property.rst @@ -0,0 +1,28 @@ +.. _ln-get_global_property: + +.. figure:: /images/logic_nodes/values/properties/ln-get_global_property.png + :align: right + :width: 215 + :alt: Get Global Property Node + +======================== +Get Global Property +======================== + +Inputs +++++++ + +Collection todo + todo + +Property + Name of the property to get. + +Default Value + todo + +Outputs ++++++++ + +Value + Resulting retrieved value. diff --git a/source/manual/logic_nodes/values/properties/get_object_property.rst b/source/manual/logic_nodes/values/properties/get_object_property.rst new file mode 100644 index 00000000..0aaf10a9 --- /dev/null +++ b/source/manual/logic_nodes/values/properties/get_object_property.rst @@ -0,0 +1,31 @@ +.. _ln-get_object_property: + +.. figure:: /images/logic_nodes/values/properties/ln-get_object_property.png + :align: right + :width: 215 + :alt: Get Object Property Node + +======================== +Get Object Property +======================== + +Parameters +++++++++++ + +Mode + Selected property mode. + +Inputs +++++++ + +Object + Which object to use. + +Property + Name of the property, either fixed, or result from connected node. + +Outputs ++++++++ + +Property Value + Resulting property value. diff --git a/source/manual/logic_nodes/values/properties/get_tree_property.rst b/source/manual/logic_nodes/values/properties/get_tree_property.rst new file mode 100644 index 00000000..0a48017b --- /dev/null +++ b/source/manual/logic_nodes/values/properties/get_tree_property.rst @@ -0,0 +1,22 @@ +.. _ln-get_tree_property: + +.. figure:: /images/logic_nodes/values/properties/ln-get_tree_property.png + :align: right + :width: 215 + :alt: Get Tree Property Node + +======================== +Get Tree Property +======================== + +Inputs +++++++ + +Tree Name + Name of the tree to use. + +Outputs ++++++++ + +Property + Resulting property. diff --git a/source/manual/logic_nodes/values/properties/index.rst b/source/manual/logic_nodes/values/properties/index.rst new file mode 100644 index 00000000..80adbaa9 --- /dev/null +++ b/source/manual/logic_nodes/values/properties/index.rst @@ -0,0 +1,20 @@ +.. _ln-values-properties-index: + +=========== +Properties +=========== + +.. toctree:: + :maxdepth: 1 + + get_tree_property + set_tree_property + get_object_property + set_object_property + object_has_property + toggle_object_property + modify_object_property + evaluate_object_property + copy_property_from_object + get_global_property + set_global_property diff --git a/source/manual/logic_nodes/values/properties/modify_object_property.rst b/source/manual/logic_nodes/values/properties/modify_object_property.rst new file mode 100644 index 00000000..60b48efb --- /dev/null +++ b/source/manual/logic_nodes/values/properties/modify_object_property.rst @@ -0,0 +1,43 @@ +.. _ln-modify_object_property: + +.. figure:: /images/logic_nodes/values/properties/ln-modify_object_property.png + :align: right + :width: 215 + :alt: Modify Object Property Node + +======================== +Modify Object Property +======================== + +Parameters +++++++++++ + +Mode + Selected property mode. + +Operation + Type of selected operation to perform. + +Inputs +++++++ + +Clamp + Clamp the value to 0-1 range. + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Property + Name of property to modify. + +Value + Value to use for modification. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/values/properties/object_has_property.rst b/source/manual/logic_nodes/values/properties/object_has_property.rst new file mode 100644 index 00000000..c17f8a2e --- /dev/null +++ b/source/manual/logic_nodes/values/properties/object_has_property.rst @@ -0,0 +1,31 @@ +.. _ln-object_has_property: + +.. figure:: /images/logic_nodes/values/properties/ln-object_has_property.png + :align: right + :width: 215 + :alt: Object Has Property Node + +======================== +Object Has Property +======================== + +Parameters +++++++++++ + +Mode + Selected property mode. + +Inputs +++++++ + +Object + Which object to inspect. + +Name + Name of the property to inspect. + +Outputs ++++++++ + +If True + todo diff --git a/source/manual/logic_nodes/values/properties/set_global_property.rst b/source/manual/logic_nodes/values/properties/set_global_property.rst new file mode 100644 index 00000000..7d81ca8c --- /dev/null +++ b/source/manual/logic_nodes/values/properties/set_global_property.rst @@ -0,0 +1,34 @@ +.. _ln-set_global_property: + +.. figure:: /images/logic_nodes/values/properties/ln-set_global_property.png + :align: right + :width: 215 + :alt: Set Global Property Node + +======================== +Set Global Property +======================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Collection + todo + +Property + Name of property to set. + +Type + Selected type of property to set. + +Persistent + todo + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/values/properties/set_object_property.rst b/source/manual/logic_nodes/values/properties/set_object_property.rst new file mode 100644 index 00000000..facf6098 --- /dev/null +++ b/source/manual/logic_nodes/values/properties/set_object_property.rst @@ -0,0 +1,31 @@ +.. _ln-set_object_property: + +.. figure:: /images/logic_nodes/values/properties/ln-set_object_property.png + :align: right + :width: 215 + :alt: Set Object Property Node + +======================== +Set Object Property +======================== + +Parameters +++++++++++ + +Mode + Selected property mode. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Property + Name of the property, either fixed, or result from connected node. + +Type + Type of selected property to set. diff --git a/source/manual/logic_nodes/values/properties/set_tree_property.rst b/source/manual/logic_nodes/values/properties/set_tree_property.rst new file mode 100644 index 00000000..f9cfb37d --- /dev/null +++ b/source/manual/logic_nodes/values/properties/set_tree_property.rst @@ -0,0 +1,25 @@ +.. _ln-set_tree_property: + +.. figure:: /images/logic_nodes/values/properties/ln-set_tree_property.png + :align: right + :width: 215 + :alt: Set Tree Property Node + +======================== +Set Tree Property +======================== + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Tree Name + Name of the tree to use. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/values/properties/toggle_object_property.rst b/source/manual/logic_nodes/values/properties/toggle_object_property.rst new file mode 100644 index 00000000..a43340f5 --- /dev/null +++ b/source/manual/logic_nodes/values/properties/toggle_object_property.rst @@ -0,0 +1,34 @@ +.. _ln-toggle_object_property: + +.. figure:: /images/logic_nodes/values/properties/ln-toggle_object_property.png + :align: right + :width: 215 + :alt: Toggle Object Property Node + +======================== +Toggle Object Property +======================== + +Parameters +++++++++++ + +Mode + Property mode. + +Inputs +++++++ + +Condition + If connected, condition must be fulfilled for node to activate. + +Object + Which object to use. + +Property + Which property to toggle. + +Outputs ++++++++ + +Done + *True* if node performed successfully, else *False*. diff --git a/source/manual/logic_nodes/values/random_value.rst b/source/manual/logic_nodes/values/random_value.rst new file mode 100644 index 00000000..304a82a5 --- /dev/null +++ b/source/manual/logic_nodes/values/random_value.rst @@ -0,0 +1,31 @@ +.. _ln-random_value: + +.. figure:: /images/logic_nodes/values/ln-random_value.png + :align: right + :width: 215 + :alt: Random Value Node + +======================== +Random Value +======================== + +Parameters +++++++++++ + +Data Type + Selected data type for random value. + +Inputs +++++++ + +Min + Minimum value. + +Max + Maximum value. + +Outputs ++++++++ + +Result + Resulting random value from Min-Max range. diff --git a/source/manual/logic_nodes/values/store_value.rst b/source/manual/logic_nodes/values/store_value.rst new file mode 100644 index 00000000..c5e321ef --- /dev/null +++ b/source/manual/logic_nodes/values/store_value.rst @@ -0,0 +1,28 @@ +.. _ln-store_value: + +.. figure:: /images/logic_nodes/values/ln-store_value.png + :align: right + :width: 215 + :alt: Store Value Node + +======================== +Store Value +======================== + +Inputs +++++++ + +Initialize + If checked, value will be initialized. + +Condition + If connected, condition must be fulfilled for node to activate. + +Type + Data type of value to be stored. + +Outputs ++++++++ + +Stored Value + Resulting stored value. diff --git a/source/manual/logic_nodes/values/string.rst b/source/manual/logic_nodes/values/string.rst new file mode 100644 index 00000000..eb951ca9 --- /dev/null +++ b/source/manual/logic_nodes/values/string.rst @@ -0,0 +1,28 @@ +.. _ln-string: + +.. figure:: /images/logic_nodes/values/ln-string.png + :align: right + :width: 215 + :alt: String Node + +======================== +String +======================== + +Parameters +++++++++++ + +Data Type + Selected data type - string data type. + +Inputs +++++++ + +String + Fixed input string value, or a result from connected node. + +Outputs ++++++++ + +String + Output string result. diff --git a/source/manual/logic_nodes/values/value_switch.rst b/source/manual/logic_nodes/values/value_switch.rst new file mode 100644 index 00000000..3fecec54 --- /dev/null +++ b/source/manual/logic_nodes/values/value_switch.rst @@ -0,0 +1,28 @@ +.. _ln-value_switch: + +.. figure:: /images/logic_nodes/values/ln-value_switch.png + :align: right + :width: 215 + :alt: Value Switch Node + +======================== +Value Switch +======================== + +Inputs +++++++ + +Switch + If checked, A will be selected, else B value will be selected. Accepts Boolean result from connected node. + +A Value + Fixed value for A field, or a result from connected node. Value type is selected from dropdown menu. + +B Value + Fixed value for B field, or a result from connected node. Value type is selected from dropdown menu. + +Outputs ++++++++ + +Result + Resulting value. diff --git a/source/manual/logic_nodes/values/value_switch_list.rst b/source/manual/logic_nodes/values/value_switch_list.rst new file mode 100644 index 00000000..45166b12 --- /dev/null +++ b/source/manual/logic_nodes/values/value_switch_list.rst @@ -0,0 +1,25 @@ +.. _ln-value_switch_list: + +.. figure:: /images/logic_nodes/values/ln-value_switch_list.png + :align: right + :width: 215 + :alt: Value Switch List Node + +======================== +Value Switch List +======================== + +Inputs +++++++ + +todo + todo + +Value + Fixed value of selected type, or resulting value from connected node. + +Outputs ++++++++ + +Result + Resulting value. diff --git a/source/manual/logic_nodes/values/value_switch_list_compare.rst b/source/manual/logic_nodes/values/value_switch_list_compare.rst new file mode 100644 index 00000000..203bb86b --- /dev/null +++ b/source/manual/logic_nodes/values/value_switch_list_compare.rst @@ -0,0 +1,34 @@ +.. _ln-value_switch_list_compare: + +.. figure:: /images/logic_nodes/values/ln-value_switch_list_compare.png + :align: right + :width: 215 + :alt: Value Switch List Compare Node + +========================== +Value Switch List Compare +========================== + +Parameters +++++++++++ + +Operator + Boolean operator for comparison evaluation. + +Inputs +++++++ + +Switch + todo + +Default + todo + +Case N + todo + +Outputs ++++++++ + +Result + Resulting value of comparison. diff --git a/source/manual/logic_nodes/values/vector/color_rgb.rst b/source/manual/logic_nodes/values/vector/color_rgb.rst new file mode 100644 index 00000000..b572f791 --- /dev/null +++ b/source/manual/logic_nodes/values/vector/color_rgb.rst @@ -0,0 +1,22 @@ +.. _ln-color_rgb: + +.. figure:: /images/logic_nodes/values/vector/ln-color_rgb.png + :align: right + :width: 215 + :alt: Color RGB Node + +======================== +Color RGB +======================== + +Inputs +++++++ + +Color + Selected color or result from connected node. + +Outputs ++++++++ + +Color + Output color. diff --git a/source/manual/logic_nodes/values/vector/color_rgba.rst b/source/manual/logic_nodes/values/vector/color_rgba.rst new file mode 100644 index 00000000..d0689dfd --- /dev/null +++ b/source/manual/logic_nodes/values/vector/color_rgba.rst @@ -0,0 +1,22 @@ +.. _ln-color_rgba: + +.. figure:: /images/logic_nodes/values/vector/ln-color_rgba.png + :align: right + :width: 215 + :alt: Color RGBA Node + +======================== +Color RGBA +======================== + +Inputs +++++++ + +Color + Fixed selected color, or a result from connected socket. + +Outputs ++++++++ + +Color + Resulting color. diff --git a/source/manual/logic_nodes/values/vector/combine_xy.rst b/source/manual/logic_nodes/values/vector/combine_xy.rst new file mode 100644 index 00000000..d8f2d8d3 --- /dev/null +++ b/source/manual/logic_nodes/values/vector/combine_xy.rst @@ -0,0 +1,25 @@ +.. _ln-combine_xy: + +.. figure:: /images/logic_nodes/values/vector/ln-combine_xy.png + :align: right + :width: 215 + :alt: Combine XY Node + +======================== +Combine XY +======================== + +Inputs +++++++ + +X + Either fixed input value, or result from connected node. + +Y + Either fixed input value, or result from connected node. + +Outputs ++++++++ + +Vector + Resulting XY vector. diff --git a/source/manual/logic_nodes/values/vector/combine_xyz.rst b/source/manual/logic_nodes/values/vector/combine_xyz.rst new file mode 100644 index 00000000..6f641b3a --- /dev/null +++ b/source/manual/logic_nodes/values/vector/combine_xyz.rst @@ -0,0 +1,28 @@ +.. _ln-combine_xyz: + +.. figure:: /images/logic_nodes/values/vector/ln-combine_xyz.png + :align: right + :width: 215 + :alt: Combine XYZ Node + +======================== +Combine XYZ +======================== + +Inputs +++++++ + +X + Fixed input X value, or result from connected node. + +Y + Fixed input Y value, or result from connected node. + +Z + Fixed input Z value, or result from connected node. + +Outputs ++++++++ + +Vector + Resulting XYZ (Vector3) vector. diff --git a/source/manual/logic_nodes/values/vector/combine_xyzw.rst b/source/manual/logic_nodes/values/vector/combine_xyzw.rst new file mode 100644 index 00000000..e5344015 --- /dev/null +++ b/source/manual/logic_nodes/values/vector/combine_xyzw.rst @@ -0,0 +1,31 @@ +.. _ln-combine_xyzw: + +.. figure:: /images/logic_nodes/values/vector/ln-combine_xyzw.png + :align: right + :width: 215 + :alt: Combine XYZW Node + +======================== +Combine XYZW +======================== + +Inputs +++++++ + +X + Fixed input X value, or result from connected node. + +Y + Fixed input Y value, or result from connected node. + +Z + Fixed input Z value, or result from connected node. + +W + Fixed input W value, or result from connected node. + +Outputs ++++++++ + +Vector + Resulting XYZ (Vector3) vector. diff --git a/source/manual/logic_nodes/values/vector/euler.rst b/source/manual/logic_nodes/values/vector/euler.rst new file mode 100644 index 00000000..8319266a --- /dev/null +++ b/source/manual/logic_nodes/values/vector/euler.rst @@ -0,0 +1,34 @@ +.. _ln-euler: + +.. figure:: /images/logic_nodes/values/vector/ln-euler.png + :align: right + :width: 215 + :alt: Euler Node + +======================== +Euler +======================== + +Parameters +++++++++++ + +Euler Order + Selected order of vectors. + +Inputs +++++++ + +X + Fixed input X value, or result from connected node. + +Y + Fixed input Y value, or result from connected node. + +Z + Fixed input Z value, or result from connected node. + +Outputs ++++++++ + +Euler + Resulting Euler values. diff --git a/source/manual/logic_nodes/values/vector/index.rst b/source/manual/logic_nodes/values/vector/index.rst new file mode 100644 index 00000000..73c2d6ed --- /dev/null +++ b/source/manual/logic_nodes/values/vector/index.rst @@ -0,0 +1,18 @@ +.. _ln-values-vector-index: + +========= +Vector +========= + +.. toctree:: + :maxdepth: 1 + + color_rgb + color_rgba + separate_xy + separate_xyz + combine_xy + combine_xyz + combine_xyzw + euler + resize_vector diff --git a/source/manual/logic_nodes/values/vector/resize_vector.rst b/source/manual/logic_nodes/values/vector/resize_vector.rst new file mode 100644 index 00000000..d7ecde2d --- /dev/null +++ b/source/manual/logic_nodes/values/vector/resize_vector.rst @@ -0,0 +1,28 @@ +.. _ln-resize_vector: + +.. figure:: /images/logic_nodes/values/vector/ln-resize_vector.png + :align: right + :width: 215 + :alt: Resize Vector Node + +======================== +Resize Vector +======================== + +Parameters +++++++++++ + +Resize To + Selected dimension for resizing. + +Inputs +++++++ + +Vector + Either fixed input XYZ values, or result from connected node. + +Outputs ++++++++ + +Vector + Resulting vector. diff --git a/source/manual/logic_nodes/values/vector/separate_xy.rst b/source/manual/logic_nodes/values/vector/separate_xy.rst new file mode 100644 index 00000000..2eb5253e --- /dev/null +++ b/source/manual/logic_nodes/values/vector/separate_xy.rst @@ -0,0 +1,25 @@ +.. _ln-separate_xy: + +.. figure:: /images/logic_nodes/values/vector/ln-separate_xy.png + :align: right + :width: 215 + :alt: Separate XY Node + +======================== +Separate XY +======================== + +Inputs +++++++ + +Vector + Either fixed input X and Y vector value, or a result from connected socket. + +Outputs ++++++++ + +X + Resulting X value. + +Y + Resulting Y value. diff --git a/source/manual/logic_nodes/values/vector/separate_xyz.rst b/source/manual/logic_nodes/values/vector/separate_xyz.rst new file mode 100644 index 00000000..81d7b058 --- /dev/null +++ b/source/manual/logic_nodes/values/vector/separate_xyz.rst @@ -0,0 +1,28 @@ +.. _ln-separate_xyz: + +.. figure:: /images/logic_nodes/values/vector/ln-separate_xyz.png + :align: right + :width: 215 + :alt: Separate XYZ Node + +======================== +Separate XYZ +======================== + +Inputs +++++++ + +Vector + Either fixed input values, or a result from connected node. + +Outputs ++++++++ + +X + Resulting X value. + +Y + Resulting Y value. + +Z + Resulting Z value. diff --git a/source/manual/physics/introduction.rst b/source/manual/physics/introduction.rst index f0fe7166..fb490947 100644 --- a/source/manual/physics/introduction.rst +++ b/source/manual/physics/introduction.rst @@ -9,49 +9,33 @@ What Is Physics? .. figure:: /images/Chapter6/Fig06-01.png -In the real world, the laws of physics govern everything from the smallest subatomic particle to the largest galaxy far, far away. -Luckily for us, we don't have to understand quantum mechanics, Newtonian physics, or Euclidean space in order to make a fun game. -A physics engine handles game events such as collision detection between objects, moves objects in a physically realistic way, -and even deforms objects as if they are made up of a soft material. +In the real world, the laws of physics govern everything from the smallest subatomic particle to the largest galaxy far, far away. Luckily for us, we don't have to understand quantum mechanics, Newtonian physics, or Euclidean space in order to make a fun game. A physics engine handles game events such as collision detection between objects, moves objects in a physically realistic way, and even deforms objects as if they are made up of a soft material. -A physics engine moves things based on a set of predefined rules so that you, the artist, don't have to manually animate every object interaction. -Compared to traditional keyframe animations, which are premade, the dynamic nature of the physics engine means that it is inherently non-deterministic -the motion of the object depends on the physical property of the object and its state in the physical world. -This unique property makes games that utilize real-time physics fun to play around with, if not unpredictable sometimes. +A physics engine moves things based on a set of predefined rules so that you, the artist, don't have to manually animate every object interaction. Compared to traditional keyframe animations, which are premade, the dynamic nature of the physics engine means that it is inherently non-deterministic. The motion of the object depends on the physical property of the object and its state in the physical world. This unique property makes games that utilize real-time physics fun to play around with, if not unpredictable sometimes. As usual, this chapter comes with a collection of example files that showcase what the physics engine can do. You can find them in the folder /chapters6/demos. Bullet Physics Library ---------------------- -UPBGE includes advanced physics simulation in the form of the Bullet Physics Engine (`Bullet Physics `__). -Most of your work will involve setting the right properties on the objects in your scene, then you can sit back and let the engine take over. -The physics simulation can be used for games, but also for animation. +UPBGE includes advanced physics simulation in the form of the Bullet Physics Engine (`Bullet Physics `__). Most of your work will involve setting the right properties on the objects in your scene, then you can sit back and let the engine take over. The physics simulation can be used for games, but also for animation. -UPBGE is based on rigid body physics, which differs significantly from the complementary set of tools available in the form of soft body physics simulations. -Though the UPBGE does have a soft body type, it is not nearly as advanced as the non-BGE soft body. -The inverse is even more true: it is difficult to get the non-BGE physics to resemble anything like a stiff shape. -Rigid body physics does not have, as an effect or a cause, any mesh deformations. -For a discussion on how to partially overcome this, see: `Mesh Deformations`_. +UPBGE is based on rigid body physics, which differs significantly from the complementary set of tools available in the form of soft body physics simulations. Though the UPBGE does have a soft body type, it is not nearly as advanced as the non-BGE soft body. The inverse is even more true: it is difficult to get the non-BGE physics to resemble anything like a stiff shape. Rigid body physics does not have, as an effect or a cause, any mesh deformations. For a discussion on how to partially overcome this, see: `Mesh Deformations`_. Overview -------- -Because physics is such an integral part of the Blender game engine, physics-related settings are found in many different places. -However scattered they might look at first glance, there is a pattern in this chaos. +Because physics is such an integral part of the Blender game engine, physics-related settings are found in many different places. However scattered they might look at first glance, there is a pattern in this chaos. The physics settings can be broken down into these sections: -* **World settings:** The world or global Physics Engine settings can be found in the :doc:`World Properties `, -which include the Gravity strength constant and some important engine performance tweaks. +* **World settings:** The world or global Physics Engine settings can be found in the :doc:`World Properties `, which include the Gravity strength constant and some important engine performance tweaks. .. figure:: /images/Chapter6/Fig06-02.png World Properties Editor -* **Object Physics settings:** Any game-engine object (mesh, lamp, camera, empty, and text) can be turned into a physical object. Once physics is enabled for an object, -it starts obeying the rules of the physics engine, transforming the object from a static object into something that falls, collides, tumbles, and deforms. -Figure 6.3 shows the Physics Properties Editor. +* **Object Physics settings:** Any game-engine object (mesh, lamp, camera, empty, and text) can be turned into a physical object. Once physics is enabled for an object, it starts obeying the rules of the physics engine, transforming the object from a static object into something that falls, collides, tumbles, and deforms. Figure 6.3 shows the Physics Properties Editor. .. figure:: /images/game_engine-physics-introduction-tab_header.png @@ -61,45 +45,36 @@ Figure 6.3 shows the Physics Properties Editor. See :ref:`game-engine-physics-types` in this chapter. -* **Material Physics settings:** The Material panel is not only a place where all the graphic magic happens; it also contains additional physics that control -how the surface of the object behaves. Settings such as surface friction can be found here. Because an object can have multiple materials, -material physics settings allow the artist to assign different surface materials for different parts of a single object. These seetings are meant to be used in -conjunction with the object physics settings, not replace it. Figure 6.4 shows the Material Properties Editor. +* **Material Physics settings:** The Material panel is not only a place where all the graphic magic happens; it also contains additional physics that control how the surface of the object behaves. Settings such as surface friction can be found here. Because an object can have multiple materials, material physics settings allow the artist to assign different surface materials for different parts of a single object. These seetings are meant to be used in conjunction with the object physics settings, not replace it. Figure 6.4 shows the Material Properties Editor. .. figure:: /images/Chapter6/Fig06-04.png Material Properties Editor -* **Constraints:** Physics constraints allow you to set up simple rules that the objects follow, rules such as tracking one object to another or limiting their range of motion. -With constraints, it's possible to realistically represent many of the structures that have a limited degree of motion, such as hinges, wheels, and chains. +* **Constraints:** Physics constraints allow you to set up simple rules that the objects follow, rules such as tracking one object to another or limiting their range of motion. With constraints, it's possible to realistically represent many of the structures that have a limited degree of motion, such as hinges, wheels, and chains. -It is imperative to understand that the Blender constraints generally do not work inside the BGE. -This means interesting effects such as *Copy Rotation* are unavailable directly. +It is imperative to understand that the Blender constraints generally do not work inside the BGE. This means interesting effects such as *Copy Rotation* are unavailable directly. Your options include: -- *Parenting* -- But not Vertex Parenting. -- *Rigid Body Joint* -- This is the one constraint that you can set up through the UI that works in the BGE. - It has several options, and can be very powerful -- see ITS page for a detailed description and demo blend-file. - Do not forget that you can loop through objects using ``bpy`` instead of clicking thousands of - times to set up chains of these constraints. -- *Rigid body joints on-the-fly* -- You can add/remove them after the BGE starts by using ``bge.constraints.createConstraint()``. - This can be good either to simply automate their setup, or to truly make them dynamic. +- *Parenting* - but not Vertex Parenting. +- *Rigid Body Joint* - this is the one constraint that you can set up through the UI that works in the BGE. + It has several options, and can be very powerful - see ITS page for a detailed description and demo blend-file. + Do not forget that you can loop through objects using ``bpy`` instead of clicking thousands of times to set up chains of these constraints. +- *Rigid body joints on-the-fly* - you can add/remove them after the BGE starts by using ``bge.constraints.createConstraint()``. This can be good either to simply automate their setup, or to truly make them dynamic. A simple demo can be viewed in: TODO_FIXME -- :doc:`Python Controllers ` -- As always, in the BGE, - you can get the most power when you drop into Python and start toying with the settings directly. - For instance, the *Copy Rotation* mentioned above is not hard -- - All you have to do is something to the effect of: +- :doc:`Python Controllers ` - as always, in the BGE, you can get the most power when you drop into Python and start toying with the settings directly. + For instance, the *Copy Rotation* mentioned above is not hard - all you have to do is something to the effect of: - .. code-block:: python - - own.worldOrientation = bge.logic.getCurrentScene().objects['TheTargetObject'].worldOrientation +.. code-block:: python + + own.worldOrientation = + bge.logic.getCurrentScene().objects['TheTargetObject'].worldOrientation .. figure:: /images/Chapter6/Fig06-05.png Object Constraints Properties Editor - * **Physics sensors and actuators:** Except for maybe the case of a Rube Goldberg machine, where everything happens in a predetermined manner, most games would be pretty boring if there were no way to make an object move at a user's command or to trigger a reaction when two objects collide. Actuators and sensors fulfill these two roles, respectively. Actuators are part of logic brick that carries out an action (such as applying a force @@ -148,8 +123,7 @@ Also note that you can see how the Bullet triangulation is working - *Yellow* -- Normals. - *Black* -- When in wireframe, this is your mesh's visual appearance. -If you want finer-grained control over the display options, -you can add this as a Python Controller and uncomment whichever pieces you want to see:: +If you want finer-grained control over the display options, you can add this as a Python Controller and uncomment whichever pieces you want to see: .. code-block:: python @@ -161,8 +135,7 @@ you can add this as a Python Controller and uncomment whichever pieces you want for d in debugs: bge.constraints.setDebugMode(d) -For all debug modes, API docs for ``bge.constraints``. - +For all debug modes, see API docs for ``bge.constraints``. Show Framerate and Profile -------------------------- @@ -287,7 +260,7 @@ This may, or not, be desired according to the situation. All you have to do to achieve this effect is to execute the following script: .. code-block:: python - + import bpy, bge bla bla bla @@ -298,7 +271,6 @@ or :kbd:`Ctrl-F12` to render it out as an animation. Note that you can also use Game Logic Bricks and scripting. Everything will be recorded. - Keyframe Clean-up +++++++++++++++++ @@ -306,7 +278,7 @@ Keyframe Clean-up Resulting recorded animation. -*Record Animation* keys redundant data (data that was did not change relative to the last frame). +*Record Animation* keys redundant data (data that did not change relative to the last frame). Pressing :kbd:`O` while in the *Dope Sheet* will remove all superfluous keyframes. Unwanted channels can also be removed. @@ -314,21 +286,19 @@ Unwanted channels can also be removed. Cleaned up recording. - Exporting --------- .bullet / Bullet Compatible Engines +++++++++++++++++++++++++++++++++++ -You can snapshot the physics world at any time with the following code:: +You can snapshot the physics world at any time with the following code: .. code-block:: python - import bge + import bge - bge.constraints.exportBulletFile("test.bullet") + bge.constraints.exportBulletFile("test.bullet") This will allow importing into other Bullet-based projects. See the -`Bullet Wiki on Serialization `__ -for more. +`Bullet Wiki on Serialization `__ for more. diff --git a/source/manual/python_components/getting_started/util_templates.rst b/source/manual/python_components/getting_started/util_templates.rst index 2d7ae453..8ae16158 100644 --- a/source/manual/python_components/getting_started/util_templates.rst +++ b/source/manual/python_components/getting_started/util_templates.rst @@ -6,7 +6,8 @@ Utils Templates These templates were created to help UPBGE users to create games or any kind of interactive things. Easy to use, easy to attach to your project. -.. figure:: /images/Python_Components/Fig-17.png +.. + figure:: /images/Python_Components/Fig-17.png To use, just select it from template label at script editor and you're done! You can use this template in your projects, even for commercial projects. You only need to give credits to Guilherme Teres Nunes (UnidayStudio) for this. It's very easy to use: Just load this script into your .blend file through template label (or paste it in the same folder that your .blend is), select the object that you want, and attach the script into the object's components using **Register Component** button. diff --git a/source/manual/tools/api_stubs.rst b/source/manual/tools/api_stubs.rst index 1ab14776..08025a0d 100644 --- a/source/manual/tools/api_stubs.rst +++ b/source/manual/tools/api_stubs.rst @@ -7,12 +7,9 @@ API Stubs What Are They? ============== -Python is a dynamically-typed language, but that doesn't mean you can't have -such quality-of-life features like auto-completion or type information for APIs, -which all modern IDEs provide. +Python is a dynamically-typed language, but that doesn't mean you can't have such quality-of-life features like auto-completion or type information for APIs, which all modern IDEs provide. -The only reason you can't have them for UPBGE projects is that the -relevant modules (namely, `bpy.*` and `bge.*`) are only available inside UPBGE. +The only reason you can't have them for UPBGE projects is that the relevant modules (namely, `bpy.*` and `bge.*`) are only available inside UPBGE. There are two possible options to deal with this problem. Firstly, you can `build UPBGE/Blender as a Python module `__, @@ -21,37 +18,32 @@ which would give your IDE the most accurate and up-to-date API information as po But it's not always easy to build UPBGE from source, especially if you are not familiar with the task. In this case, using API stubs could be a good alternative. -upbge-stubs +UPBGE-stubs =========== -An utility to generate Python API stubs from documentation files in reStructuredText format -called `BPY Stub Generator (bpystubgen) `__ can help us to get the -UPBGE python API stubs. +An utility to generate Python API stubs from documentation files in reStructuredText format called `BPY Stub Generator (bpystubgen) `__ can help us to get the UPBGE python API stubs. -The main usage of the program is to create Python API stubs from the documentation generated during the build -process of UPBGE so that an IDE can provide autocompletion support and type hints for relevant modules -like bpy or bge. +The main usage of the program is to create Python API stubs from the documentation generated during the build process of UPBGE so that an IDE can provide autocompletion support and type hints for relevant modules like bpy or bge. There are already a number of tools created with a similar goal in mind, notably `fake-bpy-module `__ and `fake-bge-module `__ which can be a good alternative to this project. -However, bpystubgen has a few advantages over the others: +However, ``bpystubgen`` has a few advantages over the others: -* It's very fast - Some of those tools may take over an hour to generate the entire stubs for Blender. But bpystubgen can do it under a minute (1,593 source documents). -* The generated stub modules preserve most of the source documentation, so you can use them as a manual as well. -* It generates PEP-561 compliant stub modules, so it's safe to include them in your runtime module path. -* Along with its fast execution speed, the project also provides well-organised API and test suites to make it easier to fix bugs or improve the output quality. +* It's very fast - some of those tools may take over an hour to generate the entire stubs for blender. but bpystubgen can do it under a minute (1,593 source documents). +* the generated stub modules preserve most of the source documentation, so you can use them as a manual as well. +* it generates pep-561 compliant stub modules, so it's safe to include them in your runtime module path. +* along with its fast execution speed, the project also provides well-organised api and test suites to make it easier to fix bugs or improve the output quality. -Using upbge-stubs +Using UPBGE-stubs +++++++++++++++++ -If you just want to use the API stubs, you can install them from PyPI without having to generate them yourself. -As for UPBGE, stubs are available for the upcoming 0.3 release, which you can install as follows: +If you just want to use the API stubs, you can install them from PyPI without having to generate them yourself. As for UPBGE, stubs are available for the 0.3 release, which you can install as follows: .. code-block:: python - $ pip install upbge-stubs==0.3.* + pip install upbge-stubs==0.3.* Once you install it via pip (or any other package manager you may prefer), you can configure the IDE of your choice as described in the project page @@ -69,4 +61,4 @@ Examples .. figure:: /images/Tools/tools-examples-02.png - Pop-up documentation support in VSCode \ No newline at end of file + Pop-up documentation support in VSCode diff --git a/source/manual/tutorials/getting_started/3D_basic_concepts.rst b/source/manual/tutorials/getting_started/3D_basic_concepts.rst index 4876d511..88c0d1a7 100644 --- a/source/manual/tutorials/getting_started/3D_basic_concepts.rst +++ b/source/manual/tutorials/getting_started/3D_basic_concepts.rst @@ -6,12 +6,9 @@ 3D Basics --------- -If you haven't used any 3D application before, the terms modeling, animation, and rendering might be foreign to you. So before you go off to create -the spectacular game that you always wanted to make, let's have a quick refresher on the basics of computer graphics. You don't have to endure the -boring section below if you are already know what RGB stands for and the difference between Cartesian and Gaussian. +If you haven't used any 3D application before, the terms modeling, animation, and rendering might be foreign to you. So before you go off to create the spectacular game that you always wanted to make, let's have a quick refresher on the basics of computer graphics. You don't have to endure the boring section below if you are already know what RGB stands for and the difference between Cartesian and Gaussian. -The knowledge in this section is universal and applies to all other 3D applications. So even if you are coming from a different application, the -same concepts drive all of them. +The knowledge in this section is universal and applies to all other 3D applications. So even if you are coming from a different application, the same concepts drive all of them. ----------------- Coordinate System @@ -21,35 +18,23 @@ Coordinate System :width: 33 % :align: right -We live in a three-dimensional world that has width, height, and depth. So to represent anything that resembles real life as a virtual world inside a -computer, we need to think and work in three dimensions. The most common system used is called the Cartesian coordinate system, where the three dimensions -are represented by X, Y, and Z, laid out as intersecting planes. Where the three axes meet is called the _origin_. You can think of the origin as -the center of your digital universe. A single position in space is represented by a set of numbers that corresponds to its position from the -origin: thus (2, -4, 8) is a point in space that is 2 units from the origin along the X axis, 4 units from the origin along the -Y axis, and 8 units up -in the Z direction. +We live in a three-dimensional world that has width, height, and depth. So to represent anything that resembles real life as a virtual world inside a computer, we need to think and work in three dimensions. The most common system used is called the Cartesian coordinate system, where the three dimensions are represented by X, Y, and Z, laid out as intersecting planes. Where the three axes meet is called the *origin*. You can think of the origin as the center of your digital universe. A single position in space is represented by a set of numbers that corresponds to its position from the origin: thus (2, -4, 8) is a point in space that is 2 units from the origin along the X axis, 4 units from the origin along the -Y axis, and 8 units up in the Z direction. ------------------------------------ Points, Edges, Triangles, and Meshes ------------------------------------ -Although we can define a position in space using the XYZ coordinates, a single point (or a "vertex," as it's more commonly known in computer graphics) -is not terribly useful; after all, you can't see a dot that is infinitesimally small. But you can join this vertex with another vertex to form a -line (also known as an "edge"). An edge by itself still wouldn't be very visible, so you create another vertex and join all three vertices together -with lines and fill in the middle. Suddenly, something far more interesting is created[md]a triangle (also known as a "face")! By linking multiple faces -together, you can create any shape, the result of which is called a "mesh" or "model." Figure below shows how a mesh can be broken down into faces, then edges, -and ultimately, as vertices. +Although we can define a position in space using the XYZ coordinates, a single *point* (or a :term:`vertex`, as it's more commonly known in computer graphics) is not terribly useful; after all, you can't see a dot that is infinitesimally small. But you can join this vertex with another vertex to form a *line* (also known as an :term:`edge`). An *edge* by itself still wouldn't be very visible, so you create another vertex and join all three vertices together with lines and fill in the middle. Suddenly, something far more interesting is created - a triangle (also known as a :term:`face`)! By linking multiple faces together, you can create any shape, the result of which is called a :term:`mesh` or :term:`model`. Figure below shows how a *mesh* can be broken down into *faces*, then *edges*, and ultimately, into *vertices*. .. figure:: /images/Chapter1/Fig01-06.jpg - Teapot, cube, face, edge and vertex. + Teapot, cube, face, edge and vertex -Why is the triangle so important? Turns out, modern computer graphics use the triangle as the basic building block for almost any shape. -A rectangular plane (also known as a _quadrangle_, or more commonly a _quad_) is simply two triangles arranged side by side. A cube is simply six -squares put together. Even a sphere is just made of tiny facelets arranged into a ball shape. +Why is the :term:`triangle` so important? Turns out, modern computer graphics use the *triangle* as the basic building block for almost any shape. A rectangular :term:`plane` (also known as a *quadrangle*, or more commonly a *quad*) is simply two triangles arranged side by side. A cube is simply six squares put together. Even a :term:`sphere` is just made of tiny facelets arranged into a ball shape. .. image:: /images/Chapter1/Fig01-07.jpg :width: 50 % - :alt: The same cylinder cap can be made up of triangles, quads, or an n-gon. + The cylinder cap can be made up of triangles, quads, or an n-gon :align: right In Blender, a mesh can be made from a combination of triangles, quads, or n-gons. The benefit of n-gons is their ability to retain a clean topology while modeling. @@ -63,7 +48,7 @@ the shape of the object, but the inside of the object is always "hollow." .. image:: /images/Chapter1/Fig01-08.jpg :width: 50 % - :alt: Surface normals are displayed as cyan lines protruding from the faces. + Surface normals are displayed as cyan lines protruding from the faces :align: right Another concept that a modeler will likely encounter is surface normals, or "normals" for short. Normal is a property of each face that indicates diff --git a/source/manual/tutorials/getting_started/blender_basic.rst b/source/manual/tutorials/getting_started/blender_basic.rst index ab5a99df..6d815f9e 100644 --- a/source/manual/tutorials/getting_started/blender_basic.rst +++ b/source/manual/tutorials/getting_started/blender_basic.rst @@ -395,29 +395,18 @@ way of preventing the interface from getting too cluttered. The "context" usually refers to one or a combination of the following: - **Active rendering engine:** Blender Render, Blender Games, and Cycles Render are the default three. -- **Active editor:** The active editor is defined as the window subdivision that the mouse -cursor is hovering over. Shortcut keys often have different effects, depending on which -editor the mouse is over. +- **Active editor:** The active editor is defined as the window subdivision that the mouse cursor is hovering over. Shortcut keys often have different effects, depending on which editor the mouse is over. - **Active object:** The active object is defined as the object that is most recently selected. -- **Selected object:** All the objects that have been selected (highlighted). Keep in mind -that there can be more than one selected object, but only one active object. -- **Editing mode:** Blender has six different modes of editing. Two of the most commonly -used are the Edit mode and the Object mode. In Object mode, you can manipulate objects as -a whole. In Edit mode, you can change the shape of a mesh. In each mode, there is a unique -set of tools and options at your disposal. You will learn about the other four modes -(Sculpt, Vertex Paint, Texture Paint, Weight Paint) in later chapters. +- **Selected object:** All the objects that have been selected (highlighted). Keep in mind that there can be more than one selected object, but only one active object. +- **Editing mode:** Blender has six different modes of editing. Two of the most commonly used are the Edit mode and the Object mode. In Object mode, you can manipulate objects as a whole. In Edit mode, you can change the shape of a mesh. In each mode, there is a unique set of tools and options at your disposal. You will learn about the other four modes (Sculpt, Vertex Paint, Texture Paint, Weight Paint) in later chapters. ---------- Datablocks ---------- -Often, a single Blender file contains hundreds of objects, each with different colors, -textures, and animations. How is all this organized? +Often, a single Blender file contains hundreds of objects, each with different colors, textures, and animations. How is all this organized? -Blender uses "data blocks" to represent content stored within a Blender file. Each -data block represents a collection of data or settings. Some common datablock types -you will encounter are Object datablock, Mesh datablock, Material datablock, Texture datablock, -and Image datablock. +Blender uses "data blocks" to represent content stored within a Blender file. Each data block represents a collection of data or settings. Some common datablock types you will encounter are Object datablock, Mesh datablock, Material datablock, Texture datablock, and Image datablock. .. figure:: /images/Chapter1/Fig01-32.png :figwidth: 30% @@ -425,11 +414,7 @@ and Image datablock. Datablock hierarchy. -In order to reduce the apparent complexity of the program, Blender further organizes -data blocks into hierarchies. At the top level are scenes, which can have a number of -worlds, each of which can have any number of objects (objects can be a mesh, a light, a camera, -and so on). If the object is a mesh, then a Mesh datablock is attached to it. If the object is -a light, then a Light datablock is attached to the object. +In order to reduce the apparent complexity of the program, Blender further organizes data blocks into hierarchies. At the top level are scenes, which can have a number of worlds, each of which can have any number of objects (objects can be a mesh, a light, a camera, and so on). If the object is a mesh, then a Mesh datablock is attached to it. If the object is a light, then a Light datablock is attached to the object. An example of a datablock hierarchy chain is shown in Figure 1.32: Scene > Object > Mesh > Material > Texture > Image @@ -452,15 +437,9 @@ that has been shared by three "users," as denoted by the number next to its name Parenting and Grouping ---------------------- -Grouping and parenting both allow you to introduce some form of order to the scene -by setting up arbitrary relationships between different objects. But grouping and -parenting work in different ways. +Grouping and parenting both allow you to introduce some form of order to the scene by setting up arbitrary relationships between different objects. But grouping and parenting work in different ways. -Parenting is used to establish links between multiple objects so that basic -transformations like location, rotation, and scaling are propagated from the -parent to its children. This way, any transformation applied to the parent is -automatically applied to all the children. Parenting is a useful way to "glue" -different objects together so they behave as one. +Parenting is used to establish links between multiple objects so that basic transformations like location, rotation, and scaling are propagated from the parent to its children. This way, any transformation applied to the parent is automatically applied to all the children. Parenting is a useful way to "glue" different objects together so they behave as one. To parent one object to another, simply select the object you want to be the child first. If more than one object is to be a child, select all of them now. Lastly, select the diff --git a/source/manual/tutorials/introducing_logic_bricks/move_object.rst b/source/manual/tutorials/introducing_logic_bricks/move_object.rst index d9ef66dd..8bf26cbc 100644 --- a/source/manual/tutorials/introducing_logic_bricks/move_object.rst +++ b/source/manual/tutorials/introducing_logic_bricks/move_object.rst @@ -2,19 +2,11 @@ Moving A Cube ============= -In this short tutorial we will introduce two essential elements for logic in UPBGE: logic -triggering and game properties. These elements allows the interactivity with the set up -objects. +In this short tutorial we will introduce two essential elements for logic in UPBGE: logic triggering and game properties. These elements allows the interactivity with the set up objects. -A **game property** (also known as variable) is a value that is kept inside a object, -allowing multiple uses. A common use of game properties is the ammount life of the player, -the current song playing, or anything else that can be useful to track for later use. +A **game property** (also known as variable) is a value that is kept inside a object, allowing multiple uses. A common use of game properties is the ammount life of the player, the current song playing, or anything else that can be useful to track for later use. -The **logic triggering** is the act of triggering some kind of event in the game. There's -lots of ways to trigger events in UPBGE, from detecting if a key is pressed to detecting an -object colliding with another, or even triggering events continuously without detecting -anything. After the detection of an trigger, an event can be happen, like a object to -move, a property be changed, etc. +The **logic triggering** is the act of triggering some kind of event in the game. There's lots of ways to trigger events in UPBGE, from detecting if a key is pressed to detecting an object colliding with another, or even triggering events continuously without detecting anything. After the detection of an trigger, an event can be happen, like a object to move, a property be changed, etc. ----------- Setup Scene @@ -96,10 +88,7 @@ To continue, perform the following steps: The property *fuel* added and the :ref:`sensor-property` properly filled. -This makes our Cube move only if the value of *fuel* is greater than ``0``. You can set the -property *fuel* to ``0`` and play the game, and you will see that the Cube will not move. -However, it would be good if we decrease the value of *fuel* as our Cube moves, until it -reaches ``0``. To do that, do the following steps: +This makes our Cube move only if the value of *fuel* is greater than ``0``. You can set the property *fuel* to ``0`` and play the game, and you will see that the Cube will not move. However, it would be good if we decrease the value of *fuel* as our Cube moves, until it reaches ``0``. To do that, do the following steps: - Add a :ref:`actuator-property` and connect it to the :ref:`controller-and`. - Set the mode of :ref:`actuator-property` to **Add**, its property to *fuel* and its value to ``-1``. diff --git a/source/manual/tutorials/introducing_logic_nodes/a_first_example.rst b/source/manual/tutorials/introducing_logic_nodes/a_first_example.rst index 921f4660..dc9c8441 100644 --- a/source/manual/tutorials/introducing_logic_nodes/a_first_example.rst +++ b/source/manual/tutorials/introducing_logic_nodes/a_first_example.rst @@ -1,3 +1,5 @@ +.. _ln-a_first_example: + =============== A First Example =============== @@ -7,7 +9,8 @@ We will print some text to the console when a keyboard key is pressed. This is t -------------- System Console -------------- -UPBGE uses system console / terminal to print info and error messages. To see those messages: + +UPBGE uses system console/terminal to print info and error messages. To see those messages: Windows users: @@ -15,10 +18,11 @@ Windows users: Linux and Mac users: -* start UPBGE via console / terminal - navigate to blender executable file, and run: -``./blender`` +* start UPBGE via console/terminal - navigate to blender executable file, and run:: +| + ``./blender`` -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_00_linux-terminal-run.png +.. figure:: /images/Tutorials/introducing_logic_nodes/00_terminal_run.png Run UPBGE on Linux or Mac terminal @@ -30,25 +34,25 @@ The *Logic Nodes* add-on comes preinstalled in UPBGE 0.3+. If not already, it ne * :menuselection:`Edit -> Preferences -> Add-ons` -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_01_edit-menu_preferences.png +.. figure:: /images/Tutorials/introducing_logic_nodes/01_edit_menu_prefs.png Navigate to Preferences -There, in *search / filter* field, filter for ``logic``, and check the box for *Logic Nodes+*. +There, in *search/filter* field, filter for ``logic``, and check the box for *Logic Nodes+*. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_02_preferences_filter_logic.png +.. figure:: /images/Tutorials/introducing_logic_nodes/02_prefs_filter_logic.png Search for 'logic' and check the box Click the little arrow, next to the check box, to expand the *Logic Nodes+* add-on menu, and in the :menuselection:`Preferences` click :menuselection:`Install or Update Uplogic Module` button. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_03_preferences_addons_logic-nodes-unfold.png +.. figure:: /images/Tutorials/introducing_logic_nodes/03_prefs_addons_ln_unfold.png Install or Update Uplogic Module .. note:: - This same :menuselection:`Preferences` menu can be used to report a bug - click on :menuselection:`Report a Bug` button (internet connection is required). The default web browser will open github.com web page. There, click :menuselection:`New issue` button, and follow the instructions. + This same :menuselection:`Preferences` menu can be used to report a bug - click on :menuselection:`Report a Bug` button (internet connection is required). The default web browser will open ``github.com`` web page. There, click :menuselection:`New issue` button, and follow the instructions. Houston, the eagle has landed. We're good to go. @@ -58,17 +62,17 @@ Creating a New Logic Tree Now let's get started. First we need to create a logic tree. Switch the *Editor Type* to the :menuselection:`Logic Node Editor`. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_04_editor.png +.. figure:: /images/Tutorials/introducing_logic_nodes/04_editor.png Select Logic Node Editor This editor is similar to the *Shader Editor* or *Geometry Node Editor*. Click on :menuselection:`New` and a new empty tree (named *Logic Node Editor* by default) will be created. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_05_new-logic-node-tree.png +.. figure:: /images/Tutorials/introducing_logic_nodes/05_new_ln_tree.png - Click :menuselection:`New` button + Click New button -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_06_n-panel-dashboard.png +.. figure:: /images/Tutorials/introducing_logic_nodes/06_n_panel_dashboard.png New empty Node Tree with side Dashboard @@ -78,7 +82,7 @@ Adding Nodes With mouse cursor inside *Logic Node Editor*, press :kbd:`Shift-A`, or click :menuselection:`Add` button in top header. This will pop-up a menu with all available *Logic Nodes*, organized in sub-menus. Go ahead and take a look at what is available. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_07_add-key-node.png +.. figure:: /images/Tutorials/introducing_logic_nodes/07_add_key_node.png Available Logic Nodes in Add menu @@ -88,14 +92,13 @@ For this example, we're looking for two nodes: the ``Key`` and the ``Print`` nod * **immediately** after that start typing, i.e. ``print`` - UPBGE is smart and will search for it; * if accidentally wrong node is selected, press :kbd:`ESC` to cancel, and repeat. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_08_shift-a-search-print-node.png +.. figure:: /images/Tutorials/introducing_logic_nodes/08_search_print_node.png Editor searches for node -.. note:: - - Beside finding the node, *Search* pop-up also shows in which *sub-menu / sub-sub-menu* the nodes are. +.. tip:: + Beside finding the node, *Search* pop-up also shows in which *menu/sub-menu* the nodes are. The ``Key`` node is a node of the **condition** type. These nodes do not actually do anything in-game; they either provide a condition, or can be used to check for a more complex set of conditions. @@ -103,7 +106,7 @@ The ``Print`` node is an **action** type node. These nodes actually do something Those two nodes need to be connected together. The ``Key`` node has an *If Pressed* output socket, colored red. Connect it (click-and-drag) to the *Condition* input socket of the ``Print`` node and enter "Hello World" in the text box at the bottom, next to *Value* input socket (blue sockets are for *strings*). Also, if not already, look at the ``Key`` node and you'll see that it expects user to choose a key. Click the bottom field and press :kbd:`SPACE` key, which will set that key as selected one. It should look something like this now: -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_09_nodes-added-connected.png +.. figure:: /images/Tutorials/introducing_logic_nodes/09_nodes_connected.png Logic Nodes added and connected @@ -120,11 +123,11 @@ following way: Example: if this tree is attached to 4 objects and user presses :kbd:`SPACE` key **once**, the message would be printed 4 times, once for each object. -To apply a tree to a cube, first a cube is added; select it and press :menuselection:`Apply to selected` button, in the *Dashboard* tab of side *N-panel*. Press :kbd:`N` to toggle *N-panel*, if it is hidden. +To apply a tree to a cube, first a cube is added; select it and press :menuselection:`Apply To Selected` button, in the *Dashboard* tab of side *N-panel*. Press :kbd:`N` to toggle *N-panel*, if it is hidden. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_10_dashboard_tree-apply-to-selected.png +.. figure:: /images/Tutorials/introducing_logic_nodes/10_apply_to_selected.png - Apply Logic tree to selected object + Apply logic tree to selected object .. warning:: @@ -132,7 +135,7 @@ To apply a tree to a cube, first a cube is added; select it and press :menuselec To see which objects have been applied with a *Logic Node* tree, scroll down the *Dashboard* tab, and check the *Tree applied to:* sub-panel at the bottom. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_11_dashboard_tree-applied-to.png +.. figure:: /images/Tutorials/introducing_logic_nodes/11_tree_applied_to.png Objects with applied Logic Node tree @@ -141,7 +144,7 @@ If needed, sub-panels can be rearranged: * for easier rearranging, first collapse sub-panels - click small arrow next to the sub-panel title; * click-and-drag top-right icon (4 by 2 dots) of sub-panel. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_12_rearange-n-sub-panel.png +.. figure:: /images/Tutorials/introducing_logic_nodes/12_rearange_n_sub_panel.png Collapsed and rearranged N-panel sub-panels @@ -150,7 +153,7 @@ What is left now is to run our example \'game\': * in *Render* panel of a *Properties* editor, click :menuselection:`Embedded Start` or :menuselection:`Standalone Start` (hotkey is :kbd:`P`) - the \'game\' shall start; * with \'game\' running, press :kbd:`SPACE` (or whichever keyboard key is assigned in ``Key`` node) once; -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_13_render-properties_embedded-start.png +.. figure:: /images/Tutorials/introducing_logic_nodes/13_embedded_start.png Start the game in Render panel @@ -160,14 +163,15 @@ Finally check the system console - it should have our message printed: * twice if logic tree was applied to two objects; * four times if logic tree was applied to two objects, and :kbd:`SPACE` was pressed twice etc. -.. figure:: /images/Tutorials/Introducing_Logic_Nodes/tutorials_introducing-logic-nodes_14_terminal_print-output.png +.. figure:: /images/Tutorials/introducing_logic_nodes/14_terminal_output.png System console/terminal output .. note:: - See top of this page for System Console info. + See top of this page for `System Console`_ info. The ``Print`` node prints to the system console only, not to the Python interactive console. This is a feature of Blender and is not changable. Press :kbd:`ESC` key to end the \'game\'. + diff --git a/source/manual/tutorials/introducing_logic_nodes/index.rst b/source/manual/tutorials/introducing_logic_nodes/index.rst index ab81e94d..8c8ca487 100644 --- a/source/manual/tutorials/introducing_logic_nodes/index.rst +++ b/source/manual/tutorials/introducing_logic_nodes/index.rst @@ -1,8 +1,8 @@ -.. _introducing_logic_nodes-index: +.. _introducing_ln-index: -+++++++++++++++++++++++ +============================= Introducing Logic Nodes -+++++++++++++++++++++++ +============================= .. toctree:: :maxdepth: 2 diff --git a/source/manual/tutorials/introducing_python/index.rst b/source/manual/tutorials/introducing_python/index.rst index 176f6c4f..cadd8dae 100644 --- a/source/manual/tutorials/introducing_python/index.rst +++ b/source/manual/tutorials/introducing_python/index.rst @@ -11,4 +11,3 @@ Introducing Python move_object play_animation group_instances - python_component diff --git a/source/manual/tutorials/introducing_shaders/index.rst b/source/manual/tutorials/introducing_shaders/index.rst deleted file mode 100644 index 8b137891..00000000 --- a/source/manual/tutorials/introducing_shaders/index.rst +++ /dev/null @@ -1 +0,0 @@ -