All Projects β†’ sboron β†’ terrain-tool-godot4

sboron / terrain-tool-godot4

Licence: MIT license
GODOT 4 3D Terrain Editor (C# Plugin)

Programming Languages

C#
18002 projects
GDScript
375 projects

Projects that are alternatives of or similar to terrain-tool-godot4

DungeonTemplateLibraryUnity
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 51 (+131.82%)
Mutual labels:  terrain, terrain-generation
Procedural-Terrain-Generation
3D computer graphics program in C++ OpenFrameworks of a procedural terrain generator based on simplex noise with camera movement and real-time adjustable parameters from the GUI
Stars: ✭ 18 (-18.18%)
Mutual labels:  terrain, terrain-generation
Dungeontemplatelibrary
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 595 (+2604.55%)
Mutual labels:  terrain, godot
Thalatta
An open source terrain generation suite.
Stars: ✭ 37 (+68.18%)
Mutual labels:  terrain, terrain-generation
SimpleErosion
Simple C++ implementatoin of particle-based hydraulic erosion on a square grid
Stars: ✭ 64 (+190.91%)
Mutual labels:  terrain, terrain-generation
Cartographer
A GPU powered Terrain editor and renderer for Godot Engine
Stars: ✭ 216 (+881.82%)
Mutual labels:  terrain, godot
AsLib
🎨: RPG map maker (paint tool)
Stars: ✭ 82 (+272.73%)
Mutual labels:  terrain, terrain-generation
Blendpeaks
A free and open source addon for Blender. It creates mountain peaks.
Stars: ✭ 78 (+254.55%)
Mutual labels:  terrain, terrain-generation
VoxelTerrain
This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.
Stars: ✭ 37 (+68.18%)
Mutual labels:  terrain, terrain-generation
Weltenschaft
Open-Source terrain generator πŸ—ΊοΈ
Stars: ✭ 41 (+86.36%)
Mutual labels:  terrain, terrain-generation
destructible terrain demo
A simple demo on how to create destructible terrain on Godot.
Stars: ✭ 23 (+4.55%)
Mutual labels:  terrain, godot
VoronoiIsland
🏝: Voronoi Island
Stars: ✭ 15 (-31.82%)
Mutual labels:  terrain, terrain-generation
GodotTerrainEditorPainter
Heightmap based terrain editor plugin for GODOT with vertex color based terrain shader painting
Stars: ✭ 23 (+4.55%)
Mutual labels:  terrain, godot
godot-kotlin
Kotlin Native bindings for Godot Engine
Stars: ✭ 11 (-50%)
Mutual labels:  godot
godothub client
GodotHub Client Class, Multiplayer and network messaging for Godot
Stars: ✭ 16 (-27.27%)
Mutual labels:  godot
rabbit-hole
An experimental voxel engine.
Stars: ✭ 39 (+77.27%)
Mutual labels:  terrain
Persistence
Plugin para almacenar datos de forma persistente en Godot Engine 3
Stars: ✭ 20 (-9.09%)
Mutual labels:  godot
godot-shotgun-party
An evolving multiplayer project for Godot Engine 3.
Stars: ✭ 171 (+677.27%)
Mutual labels:  godot
godot-plugin-refresher
Adds a dropdown and refresh button combo to the toolbar for instantly toggling off/on a plugin. Enables faster workflows for Godot plugin developers.
Stars: ✭ 104 (+372.73%)
Mutual labels:  godot
godot
πŸ§›πŸ»β€β™‚οΈ Dark theme for Godot Engine
Stars: ✭ 24 (+9.09%)
Mutual labels:  godot

GODOT 4 3D Terrain Editor (C# Plugin) (GPU Based)

Tool is written for prototyping in c# but will be converted to c++ for the godot core.

Needs a master godot 4 build with mono!

Read at first

The terrain is splited in a patch grid (int x, int y) to make the terrain on the fly extensible. Each patch has a constant number of 16 chunks. Each chunk have a chunk size of power of 2 - 1.

Install

  1. Copy all files to addons/TerrainPlugin
  2. Enable it
  3. Have fun :-)

Screenshots

Construction of Terrain Editor Construction of Terrain Editor 2

Currently supported

  • Sculpting
    • Holes
    • Flatten
    • Noise
    • Sculpting
    • Smoothing
  • Painting
    • On each splatmap channel
  • Brushes
    • Smooth, Linear, Spherical, Tip by given radius, strength and fallof
  • Importing and exporting heightmaps and splatmaps for 16bit raw images (industrial default)

Import formats

Currently the tool supports 4 kinds of importing heightmaps.

  • R16
    • Importing heightmaps by a 16 Bit (L8) Format (Industrial deault)
  • RGBA8_Half
    • Importing heightmaps by a RGBA 8Bit Image which splitted the height on the RED and GREEN Channel (16bit)
  • RGBA8_NORMAL
    • Is the format which the editor is using (RED = 8 bit height, GREEN = +8 extrabit, BLUE = normal.x, ALPHA = normal.z)
  • RGB_FULL
    • Importing heightmaps by a RGB 8Bit Image which is using 24bit (Mapbox used that one)

Mapbox Support

  • Adding a custom node "TerrainMapBox3D" which can downloading datas directly from mapbox and draw it as a terrain

Internal format

  • Heightmap
    • Format: RGBA8
    • Channel R: 8 bit Height
    • Channel G: +8 extrabit Heigt
    • Channel B: Normal X
    • Channel A: Normal Z
    • Normal.ONE = HOLE
  • Splatmaps
    • Format: RGBA8
    • Channel R to A = Layer 0 - 3

Visual Shader Nodes

  • TerrainGeneratorNode for Vertex Shader
    • Node to generation vertex, normals, binormals and tangents for the fragment shader based on the heightmap
  • TerrainAntiTilingNode for Fragment Shader
    • Effecting the uv rotation of a TerrainTexturePack to reduce the tiling by small randomly rotation
  • TerrainDepthBlendingNode for Fragment Shader
    • Mixing two TerrainTexturePacks by a given mix value in depth
  • TerrainTexturePack and TerrainTextureUnpack for Fragment and Vertex Shader
    • Returns a Transform (mat4) by using Albedo, Normal, Roughness, AO and Heightmap.
  • TerrainDefaultMaterial for Fragment Shader
    • Returns the default material for the editor
  • TerrainSplatmapData for Fragment Shader
    • Returns the value of a given splatmap layer

Todo

  • Setup automatic lod level by camera distance
  • Create blank terrain shader template by a button (create terrain shader)
  • Move to native
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].