Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
TokisanGames committed Dec 8, 2024
1 parent f150806 commit 81b7807
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 34 deletions.
27 changes: 16 additions & 11 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,27 @@ Project Leads
* Roope Palmroos [@outobugi](https://github.com/outobugi)

Contributors
* Tom Coxon [@tcoxon](https://github.com/tcoxon)
* Emerson Rowland [@XTarsia](https://github.com/XTarsia)
* Tom Coxon [@tcoxon](https://github.com/tcoxon)
* Loïc Chen (陳明佑) [@painfulexistence](https://github.com/painfulexistence)
* Lorenz Wildberg [@lw64](https://github.com/lw64)
* Jacob Coughenour [@jacobcoughenour](https://github.com/jacobcoughenour)
* Roman Shapiro [@rds1983](https://github.com/rds1983)
* Skyrbunny [@SlashScreen](https://github.com/SlashScreen)
* Malidos [@Malidos](https://github.com/Malidos)
* SlashScreen [@SlashScreen](https://github.com/SlashScreen)
* Dekker3D [@Dekker3D](https://github.com/Dekker3D)
* [@stakira](https://github.com/stakira) / [@lfxu](https://github.com/lfxu)
* [@directedchaossoftware](https://github.com/directedchaossoftware)
* Brian [@epitaque](https://github.com/epitaque)
* Matt [@FishOfTheNorthStar](https://github.com/FishOfTheNorthStar)
* [@jeffercize](https://github.com/jeffercize)
* 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)
* [@artoonu](https://github.com/artoonu)
* Sean Otto [@seanj29](https://github.com/seanj29)
* Benjamin Wolff [@benjiwolff](https://github.com/benjiwolff)
* Feiyun Wang [@feiyunw](https://github.com/feiyunw)
* [@jesus-g20](https://github.com/jesus-g20)
* Scott Davis [@scottdavis](https://github.com/scottdavis)
* [@jesus-g20](https://github.com/jesus-g20)
* Raven [@az-raven](https://github.com/az-raven)
* [@jeffercize](https://github.com/jeffercize)
* Matt [@FishOfTheNorthStar](https://github.com/FishOfTheNorthStar)
* Brian [@epitaque](https://github.com/epitaque)
* [@directedchaossoftware](https://github.com/directedchaossoftware)
* [@stakira](https://github.com/stakira) / [@lfxu](https://github.com/lfxu)
* Sven Cannivy [@svencan](https://github.com/svencan)

12 changes: 2 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,9 @@ See [Project Status](https://terrain3d.readthedocs.io/en/stable/docs/project_sta

1. Read the [Installation & Upgrades](https://terrain3d.readthedocs.io/en/stable/docs/installation.html) instructions.

2. For support, read [Getting Help](https://terrain3d.readthedocs.io/en/stable/docs/getting_help.html) or join our [Discord server](https://tokisan.com/discord).
2. For support, read [Getting Help](https://terrain3d.readthedocs.io/en/stable/docs/getting_help.html) and join our [Discord server](https://tokisan.com/discord).

3. Watch the tutorial videos:

**Installation, Setup, Basic Usage**

[![Using Terrain3D - Part 1](https://i.ytimg.com/vi/oV8c9alXVwU/hqdefault.jpg)](https://youtu.be/oV8c9alXVwU)

**Texture Painting, Holes, Navigation, Advanced Usage**

[![Using Terrain3D - Part 2](https://i.ytimg.com/vi/YtiAI2F6Xkk/hqdefault.jpg)](https://youtu.be/YtiAI2F6Xkk)
3. Watch the [tutorial videos](https://terrain3d.readthedocs.io/en/stable/docs/tutorial_videos.html).


## Credit
Expand Down
4 changes: 2 additions & 2 deletions doc/docs/collision.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ However, note that `get_height()` above will [interpolate between vertices](http

```gdscript
var region: Terrain3DRegion = terrain.data.get_regionp(global_position)
if region and not region.is_deleted:
if region and not region.is_deleted():
var img: Image = region.get_height_map()
for y in img.get_height():
for x in img.get_width():
Expand All @@ -65,7 +65,7 @@ However, note that `get_height()` above will [interpolate between vertices](http

### Getting The Normal

After getting the height, you may also wish to get the normal with `Terrain3DData.get_normal(global_position)`. The normal is the vector3 pointing perpendulcar to the terrain face.
After getting the height, you may also wish to get the normal with `Terrain3DData.get_normal(global_position)`. The normal is a Vector3 that points perpendulcar to the terrain face.


### Visualizing Collision
Expand Down
4 changes: 3 additions & 1 deletion doc/docs/games.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ Terrain3D is being used in the following games. To add yours, submit it to the #

| Game | Studio | Description |
|------|--------|-------------|
| [Out of the Ashes](https://tokisan.com/out-of-the-ashes/) | [Tokisan Games](https://twitter.com/TokisanGames) | Story driven medieval adventure
| [Out of the Ashes](https://store.steampowered.com/app/2296950/Out_of_the_Ashes/) | [Tokisan Games](https://twitter.com/TokisanGames) | Story driven medieval adventure
| [Memora Wanderer](https://twitter.com/Maytch) | Maytch | Cute nostalgic RPG
| [No Gasoline](https://store.steampowered.com/app/2835350/No_Gasoline/) | [Mount Retro](https://twitter.com/mountretro) | Co-Op/Solo, Adventure-Simulation-Puzzle
| [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
| [Forg](https://store.steampowered.com/app/2807130/Forg/) | [Crow Games](https://www.youtube.com/@crowgamesdev) | FPS tower defense
| [open-fpsz](https://gitlab.com/open-fpsz/open-fpsz) | [anyreso](https://mastodon.gamedev.place/@anyreso) | Open-source, Tribes-like FPS multiplayer shooter

## Tech Demos

Expand Down
1 change: 1 addition & 0 deletions doc/docs/import_export.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Currently importing and exporting is possible via code or our import tool. We wi
Notes:
* You can import multiple times into the greater world map by specifying different positions. So you could import multiple maps as separate islands or combined regions.
* It will slice and pad odd sized images into region sized chunks (default is 256x256). e.g. You could import a 4k x 2k, several 1k x 1ks, and a 5123 x 3769 and position them so they are adjacent.
* If you're importing a large file, increase the region size first. You only get 1024 regions (32x32) so you need a region size greater than image width / 32.
* You can also reimport to the same location to overwrite anything there using individual maps or a complete set of height, control, and/or color.

5) Specify any desired `height_offset` or `import_scale`. The scale gets applied first. (eg. 100, -100 would scale the terrain by 100, then lower the whole terrain by 100).
Expand Down
7 changes: 6 additions & 1 deletion doc/docs/navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,16 @@ If you have a very large scene in, for example, an open world RPG, it's better t

1. Create a NavigationRegion3D node for each town, each with their own NavigationMesh resources (i.e. unique, not shared).
2. Define the [`filter_baking_aabb`](https://docs.godotengine.org/en/stable/classes/class_navigationmesh.html#class-navigationmesh-property-filter-baking-aabb) on each nav mesh, so that it only bakes objects within its own area.
3. To use the same Terrain3D node with multiple NavigationRegion3D, set up the nav meshes to use one of the [`SOURCE_GEOMETRY_GROUPS_*` modes](https://docs.godotengine.org/en/stable/classes/class_navigationmesh.html#class-navigationmesh-property-geometry-source-geometry-mode) instead of the default `SOURCE_GEOMETRY_ROOT_NODE_CHILDREN`, and add the Terrain3D node to the group.
3. To use the same Terrain3D node with multiple NavigationRegion3Ds, change the nav meshes to use one of the group modes [`SOURCE_GEOMETRY_GROUPS_*` modes](https://docs.godotengine.org/en/stable/classes/class_navigationmesh.html#class-navigationmesh-property-geometry-source-geometry-mode), add the Terrain3D node to that group and bake. Alternatively, using the default `SOURCE_GEOMETRY_ROOT_NODE_CHILDREN` mode, add Terrain3D as a child of one NavigationRegion3D and bake navigation with the Terrain3D menu. Then move it as a child of the next and bake.


## Common Issues

### Navigation won't generate where foliage instances have been placed.

Change [NavigationMesh.parsed_geometry_type](https://docs.godotengine.org/en/stable/classes/class_navigationmesh.html#class-navigationmesh-property-geometry-parsed-geometry-type) from `Mesh Instance` (visual) to `Static Colliders`.


### NavigationMeshSourceGeometryData3D is empty. Parse source geometry first.

The engine produces this error if there's nothing for a NavigationRegion3D to generate a nav mesh from. The most likely cause, if you're using Terrain3D, is that you haven't painted any parts of the terrain as navigable.
Expand Down
9 changes: 5 additions & 4 deletions doc/docs/texture_prep.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,11 @@ You can use our built in tool to pack textures for you.

1. At the top of your viewport, click the `Terrain3D Tools` menu, then `Pack Textures`.
2. Select your textures for albedo and height.
3. Optionally, also select textures for normal and roughness.
4. Optionally, convert a DirectX normal map to OpenGL.
5. Click `Pack Textures As...` and save the resulting PNG files to disk.
6. Go to the Import tab and one at a time, select your new PNG files, specify the following settings and click `reimport`.
3. Optionally, select textures for normal and roughness.
4. Optionally, convert a DirectX normal map to OpenGL, or smoothness to roughness map.
5. Optionally, enable Orthogonalise normals if you see a reflective checkerboard pattern appear when using detiling.
6. Click `Pack Textures As...` and save the resulting PNG files to disk.
7. Go to the Import tab and one at a time, select your new PNG files, specify the following settings and click `reimport`.
* `Mode: VRAM Compressed`
* Optional: `High Quality: On` if you wish BPTC instead of DXT5.
* `Normal Map: Disabled`
Expand Down
43 changes: 38 additions & 5 deletions doc/docs/tutorial_videos.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,45 @@
Tutorial Videos
==================

*Note: Some instructions in the videos may be out of date. Be sure to review this documentation for the latest. Be aware you can select the appropriate documentation version in the menu.*
*Note: Some instructions in the videos may be out of date. Be sure to review the documentation for the latest info. Be aware you can select the appropriate documentation version in the menu.*

**Using Terrain3D Part 1: Installation, Setup, Basic Usage**
## Using Terrain3D Part 1

[![Using Terrain3D - Part 1](https://i.ytimg.com/vi/oV8c9alXVwU/hqdefault.jpg)](https://youtu.be/oV8c9alXVwU)
Covers:
* Installation from Github
* Setup (storage is out of date, specify a directory now)
* Basic Usage

**Using Terrain3D Part 2: Texture Painting, Holes, Navigation, Advanced Usage**
<iframe width="560" height="315" src="https://www.youtube.com/embed/oV8c9alXVwU?si=0kTuPwnHHwBmHsss" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

[![Using Terrain3D - Part 2](https://i.ytimg.com/vi/YtiAI2F6Xkk/hqdefault.jpg)](https://youtu.be/YtiAI2F6Xkk)
---

## Using Terrain3D Part 2

Covers:
* Texture Painting
* Autoshader
* Material Settings
* Occlusion Culling
* Holes
* Navigation
* Mesh intersection flickering (e.g. for ocean planes)
* Advanced Usage

<iframe width="560" height="315" src="https://www.youtube.com/embed/YtiAI2F6Xkk?si=9wVwk3ZLd7CmxfR5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

---

## Terrain3D v0.9.3a New Features - Tutorial 3

Covers:
* Asset library installation
* Platform updates
* Region features like splitting and grid
* Asset Dock
* Detiling
* Instancer
* Tool bar changes and tool settings
* Alpha stamping

<iframe width="560" height="315" src="https://www.youtube.com/embed/fsigwCL0m3U?si=sQThKVVN3At-3jkE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

0 comments on commit 81b7807

Please sign in to comment.