Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added alternate key binding setting and updated documentation #509

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
* Sven Cannivy [@svencan](https://github.com/svencan)
* Scott Davis [@scottdavis](https://github.com/scottdavis)
* [@jesus-g20](https://github.com/jesus-g20)
4 changes: 2 additions & 2 deletions doc/api/class_terrain3dassets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Methods
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`get_texture_uv_scales<class_Terrain3DAssets_method_get_texture_uv_scales>`\ (\ ) |const| |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`save<class_Terrain3DAssets_method_save>`\ (\ ) |
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save<class_Terrain3DAssets_method_save>`\ (\ path\: :ref:`String<class_String>` = ""\ ) |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_mesh_asset<class_Terrain3DAssets_method_set_mesh_asset>`\ (\ id\: :ref:`int<class_int>`, mesh\: :ref:`Terrain3DMeshAsset<class_Terrain3DMeshAsset>`\ ) |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Expand Down Expand Up @@ -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:`🔗<class_Terrain3DAssets_method_save>`
:ref:`Error<enum_@GlobalScope_Error>` **save**\ (\ path\: :ref:`String<class_String>` = ""\ ) :ref:`🔗<class_Terrain3DAssets_method_save>`

Saves this texture list resource to disk, if saved as an external ``.tres`` or ``.res`` resource file.

Expand Down
2 changes: 1 addition & 1 deletion doc/api/class_terrain3dinstancer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Method Descriptions

|void| **add_instances**\ (\ global_position\: :ref:`Vector3<class_Vector3>`, params\: :ref:`Dictionary<class_Dictionary>`\ ) :ref:`🔗<class_Terrain3DInstancer_method_add_instances>`

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

Expand Down
28 changes: 14 additions & 14 deletions doc/api/class_terrain3dmaterial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,19 @@ Methods
.. table::
:widths: auto

+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_material_rid<class_Terrain3DMaterial_method_get_material_rid>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_shader_param<class_Terrain3DMaterial_method_get_shader_param>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_shader_rid<class_Terrain3DMaterial_method_get_shader_rid>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`save<class_Terrain3DMaterial_method_save>`\ (\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_shader_param<class_Terrain3DMaterial_method_set_shader_param>`\ (\ name\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`update<class_Terrain3DMaterial_method_update>`\ (\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_material_rid<class_Terrain3DMaterial_method_get_material_rid>`\ (\ ) |const| |
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_shader_param<class_Terrain3DMaterial_method_get_shader_param>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_shader_rid<class_Terrain3DMaterial_method_get_shader_rid>`\ (\ ) |const| |
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save<class_Terrain3DMaterial_method_save>`\ (\ path\: :ref:`String<class_String>` = ""\ ) |
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_shader_param<class_Terrain3DMaterial_method_set_shader_param>`\ (\ name\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`\ ) |
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`update<class_Terrain3DMaterial_method_update>`\ (\ ) |
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+

.. rst-class:: classref-section-separator

Expand Down Expand Up @@ -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:`🔗<class_Terrain3DMaterial_method_save>`
:ref:`Error<enum_@GlobalScope_Error>` **save**\ (\ path\: :ref:`String<class_String>` = ""\ ) :ref:`🔗<class_Terrain3DMaterial_method_save>`

Saves this material resource to disk, if saved as an external ``.tres`` or ``.res`` resource file.

Expand Down
3 changes: 2 additions & 1 deletion doc/classes/Terrain3DAssets.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@
</description>
</method>
<method name="save">
<return type="void" />
<return type="int" enum="Error" />
<param index="0" name="path" type="String" default="&quot;&quot;" />
<description>
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.
</description>
Expand Down
3 changes: 2 additions & 1 deletion doc/classes/Terrain3DMaterial.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
</description>
</method>
<method name="save">
<return type="void" />
<return type="int" enum="Error" />
<param index="0" name="path" type="String" default="&quot;&quot;" />
<description>
Saves this material resource to disk, if saved as an external [code skip-lint].tres[/code] or [code skip-lint].res[/code] resource file.
</description>
Expand Down
1 change: 1 addition & 0 deletions doc/docs/games.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
30 changes: 18 additions & 12 deletions doc/docs/user_interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,32 +27,38 @@ First, select the Region Tool (first one: square with a cross), and click the gr

The following mouse and keyboard shortcuts are available.

*Note*: Touchscreen users will see an `Invert` checkbox on the settings bar which acts like <kbd>Ctrl</kbd> to inverse operations.
**Maya Users:** The <kbd>Alt</kbd> 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`.

**Touchscreen Users:** will see an `Invert` checkbox on the settings bar which acts like <kbd>Ctrl</kbd> to inverse operations.


### General Keys
* <kbd>LMB</kbd> - Click the terrain to positively apply the current tool.
* <kbd>Ctrl + LMB</kbd> - **Inverse** the tool. Removes regions, height, color, wetness, autoshader, holes, navigation, foliage.
* <kbd>Shift + LMB</kbd> - Change to the **Smooth** sculpting tool if shift is the _only_ modifier pressed.
* <kbd>Ctrl + Z</kbd> - Undo. You can also view the operations in Godot's `History` panel.
* <kbd>Ctrl + Shift + Z</kbd> - Redo.
* <kbd>Ctrl + S</kbd> - Save the scene and all data.
* <kbd>Shift + LMB</kbd> - Change to the **Smooth** sculpting tool.
* <kbd>Ctrl + Z</kbd> - **Undo**. You can view the entries in the Godot `History` panel.
* <kbd>Ctrl + Shift + Z</kbd> - **Redo**.
* <kbd>Ctrl + S</kbd> - **Save** the scene and all data.

### Sculpting Specific
* <kbd>Alt + LMB</kbd> - **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).
* <kbd>Alt + LMB</kbd> - **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).
* <kbd>Ctrl + Alt + LMB</kbd> - **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**.

* <kbd>LMB</kbd> - Operate within the set slope.
* <kbd>Alt + LMB</kbd> - Operate outside the set slope.
* <kbd>Ctrl + Alt + LMB</kbd> - Inversely operate outside the set slope. eg. Remove color or foliage outside the defined slope setting.
* <kbd>LMB</kbd> - Add within the defined slope.
* <kbd>Ctrl + LMB</kbd> - Remove within the defined slope.
* <kbd>Alt + LMB</kbd> - Add outside the defined slope.
* <kbd>Ctrl + Alt + LMB</kbd> - Remove operate outside the defined slope.

### Instancer Specific
* <kbd>LMB</kbd> - Add the selected mesh instance to the terrain.
* <kbd>Ctrl + LMB</kbd> - Remove instances of the selected type.
* <kbd>Ctrl + Shift + LMB</kbd> - Remove instances of any type.
* <kbd>Ctrl + Shift + LMB</kbd> - Remove instances of **any** type.


---
Expand Down
Loading