diff --git a/AUTHORS.md b/AUTHORS.md index e4dcb426e..e7f20c544 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -23,4 +23,6 @@ Contributors * Raven [@az-raven](https://github.com/az-raven) * Ryan [@Ryan-000](https://github.com/Ryan-000) * Malido [@Malidos](https://github.com/Malidos) -* Sven Cannivy [@svencan](https://github.com/svencan) \ No newline at end of file +* Sven Cannivy [@svencan](https://github.com/svencan) +* Scott Davis [@scottdavis](https://github.com/scottdavis) +* [@jesus-g20](https://github.com/jesus-g20) \ No newline at end of file diff --git a/doc/api/class_terrain3dassets.rst b/doc/api/class_terrain3dassets.rst index 777e7ff9f..b5462298c 100644 --- a/doc/api/class_terrain3dassets.rst +++ b/doc/api/class_terrain3dassets.rst @@ -62,7 +62,7 @@ Methods +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedFloat32Array` | :ref:`get_texture_uv_scales`\ (\ ) |const| | +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`save`\ (\ ) | + | :ref:`Error` | :ref:`save`\ (\ path\: :ref:`String` = ""\ ) | +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_mesh_asset`\ (\ id\: :ref:`int`, mesh\: :ref:`Terrain3DMeshAsset`\ ) | +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -330,7 +330,7 @@ Returns the array of all uv scale values used in the texture assets, indexed by .. rst-class:: classref-method -|void| **save**\ (\ ) :ref:`🔗` +:ref:`Error` **save**\ (\ path\: :ref:`String` = ""\ ) :ref:`🔗` Saves this texture list resource to disk, if saved as an external ``.tres`` or ``.res`` resource file. diff --git a/doc/api/class_terrain3dinstancer.rst b/doc/api/class_terrain3dinstancer.rst index 4b8326bd8..ecae8ca84 100644 --- a/doc/api/class_terrain3dinstancer.rst +++ b/doc/api/class_terrain3dinstancer.rst @@ -90,7 +90,7 @@ Method Descriptions |void| **add_instances**\ (\ global_position\: :ref:`Vector3`, params\: :ref:`Dictionary`\ ) :ref:`🔗` -Used by Terrain3DEditor to place instances given many brush parameters. In addition to the brush position, it also uses the following parameters: asset_id, size, strength, fixed_scale, random_scale, fixed_spin, random_spin, fixed_angle, random_angle, align_to_normal, height_offset, random_height, vertex_color, random_hue, random_darken. All of these settings are set in the editor through tool_settings.gd. +Used by Terrain3DEditor to place instances given many brush parameters. In addition to the brush position, it also uses the following parameters: asset_id, size, strength, fixed_scale, random_scale, fixed_spin, random_spin, fixed_tilt, random_tilt, align_to_normal, height_offset, random_height, vertex_color, random_hue, random_darken. All of these settings are set in the editor through tool_settings.gd. .. rst-class:: classref-item-separator diff --git a/doc/api/class_terrain3dmaterial.rst b/doc/api/class_terrain3dmaterial.rst index 1c2768eae..d2b14c60b 100644 --- a/doc/api/class_terrain3dmaterial.rst +++ b/doc/api/class_terrain3dmaterial.rst @@ -89,19 +89,19 @@ Methods .. table:: :widths: auto - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`get_material_rid`\ (\ ) |const| | - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`get_shader_param`\ (\ name\: :ref:`StringName`\ ) |const| | - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`get_shader_rid`\ (\ ) |const| | - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`save`\ (\ ) | - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_shader_param`\ (\ name\: :ref:`StringName`, value\: :ref:`Variant`\ ) | - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`update`\ (\ ) | - +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_material_rid`\ (\ ) |const| | + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get_shader_param`\ (\ name\: :ref:`StringName`\ ) |const| | + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_shader_rid`\ (\ ) |const| | + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`save`\ (\ path\: :ref:`String` = ""\ ) | + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_shader_param`\ (\ name\: :ref:`StringName`, value\: :ref:`Variant`\ ) | + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`update`\ (\ ) | + +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -610,7 +610,7 @@ Returns the RID of the built in shader used with the Rendering Server. This is d .. rst-class:: classref-method -|void| **save**\ (\ ) :ref:`🔗` +:ref:`Error` **save**\ (\ path\: :ref:`String` = ""\ ) :ref:`🔗` Saves this material resource to disk, if saved as an external ``.tres`` or ``.res`` resource file. diff --git a/doc/classes/Terrain3DAssets.xml b/doc/classes/Terrain3DAssets.xml index 6c7c6604c..650556454 100644 --- a/doc/classes/Terrain3DAssets.xml +++ b/doc/classes/Terrain3DAssets.xml @@ -73,7 +73,8 @@ - + + Saves this texture list resource to disk, if saved as an external [code skip-lint].tres[/code] or [code skip-lint].res[/code] resource file. diff --git a/doc/classes/Terrain3DMaterial.xml b/doc/classes/Terrain3DMaterial.xml index 6bb43763e..17286baaa 100644 --- a/doc/classes/Terrain3DMaterial.xml +++ b/doc/classes/Terrain3DMaterial.xml @@ -31,7 +31,8 @@ - + + Saves this material resource to disk, if saved as an external [code skip-lint].tres[/code] or [code skip-lint].res[/code] resource file. diff --git a/doc/docs/games.md b/doc/docs/games.md index 53f4d45f5..6a4ae2603 100644 --- a/doc/docs/games.md +++ b/doc/docs/games.md @@ -11,6 +11,7 @@ Terrain3D is being used in the following games. To add yours, submit it to the # | [RotorSim](https://immaculate-lift-studio.itch.io/godot-flight-simulator-alpha) | [Immaculate Lift](https://www.youtube.com/channel/UC-9JixNs1FFE6T5DGwZ6O5Q) | Retro helicopter simulation | [B&E Ski](https://www.youtube.com/watch?v=pD8Ea3utz9o) | [Penguin Milk](https://bande.ski/) | Skiing game | [Sacred Forest](https://store.steampowered.com/app/2864350/Sacred_Forest/) | [Blekoh](https://www.youtube.com/@sacredforestgame) | Open world 3D pixel art RPG +| [Pest Apocalypse](https://store.steampowered.com/app/2506810/Pest_Apocalypse/) | [Kikimora Games](https://x.com/KikimoraGames) | Post-apocalyptic pizza delivery ## Tech Demos diff --git a/doc/docs/user_interface.md b/doc/docs/user_interface.md index bce9481df..bc316554d 100644 --- a/doc/docs/user_interface.md +++ b/doc/docs/user_interface.md @@ -21,39 +21,44 @@ The tools provide options for sculpting, texturing, and other features. Each but First, select the Region Tool (first one: square with a cross), and click the ground. This allocates space for you to sculpt and paint. +--- + ## Keyboard Shortcuts The following mouse and keyboard shortcuts are available. -*Note*: Touchscreen users will see an `Invert` checkbox on the settings bar which acts like Ctrl to inverse operations. +**Maya Users:** The Alt key can be changed to Space, Meta (Windows), or Capslock in `Editor Settings / Terrain3D / Config / Alt Key Bind` so it does not conflict with Maya input settings `Editor Settings / 3D / Navigation / Navigation Scheme`. -*Note*: If the "Alternate Key Bindings" option is enabled in the editor settings, RMB (Right Mouse Button) replaces the default Alt + LMB behavior. This allows sculpting operations to be performed with RMB. +**Touchscreen Users:** will see an `Invert` checkbox on the settings bar which acts like Ctrl to inverse operations. ### General Keys * LMB - Click the terrain to positively apply the current tool. * Ctrl + LMB - **Inverse** the tool. Removes regions, height, color, wetness, autoshader, holes, navigation, foliage. -* Shift + LMB - Change to the **Smooth** sculpting tool if shift is the _only_ modifier pressed. -* Ctrl + Z - Undo. You can also view the operations in Godot's `History` panel. -* Ctrl + Shift + Z - Redo. -* Ctrl + S - Save the scene and all data. +* Shift + LMB - Change to the **Smooth** sculpting tool. +* Ctrl + Z - **Undo**. You can view the entries in the Godot `History` panel. +* Ctrl + Shift + Z - **Redo**. +* Ctrl + S - **Save** the scene and all data. ### Sculpting Specific -* Alt + LMB - **Lift floors**. This lifts up lower portions of the terrain without affecting higher terrain around it. Use it along the bottom of cliff faces. See [videos demonstrating before and after](https://github.com/TokisanGames/Terrain3D/pull/409). +* Alt + LMB - **Lift floors**. This lifts up lower portions of the terrain without affecting higher terrain. Use it along the bottom of cliff faces. See [videos demonstrating before and after](https://github.com/TokisanGames/Terrain3D/pull/409). * Ctrl + Alt + LMB - **Flatten peaks**. The inverse of the above. This reduces peaks and ridges without affecting lower terrain around it. -### Slope Operations Specific +### Slope Filter + +The slope filter on the bottom settings bar limits operations based on terrain slope. Don't confuse this with the slope sculpting tool on the left toolbar. -These operations support slope: **Paint**, **Spray**, **Color**, **Wetness**, **Instancer**. +These operations support filtering by slope: **Paint**, **Spray**, **Color**, **Wetness**, **Instancer**. -* LMB - Operate within the set slope. -* Alt + LMB - Operate outside the set slope. -* Ctrl + Alt + LMB - Inversely operate outside the set slope. eg. Remove color or foliage outside the defined slope setting. +* LMB - Add within the defined slope. +* Ctrl + LMB - Remove within the defined slope. +* Alt + LMB - Add outside the defined slope. +* Ctrl + Alt + LMB - Remove operate outside the defined slope. ### Instancer Specific * LMB - Add the selected mesh instance to the terrain. * Ctrl + LMB - Remove instances of the selected type. -* Ctrl + Shift + LMB - Remove instances of any type. +* Ctrl + Shift + LMB - Remove instances of **any** type. ---