Giter Site home page Giter Site logo

lw64 / terrain3d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tokisangames/terrain3d

0.0 0.0 0.0 72.62 MB

An editable terrain system for Godot 4, written in C++

License: Other

Shell 6.40% C++ 62.79% Python 0.84% C 0.65% PowerShell 1.13% AppleScript 0.92% GDScript 22.38% GLSL 4.90%

terrain3d's Introduction

Terrain3D

An editable terrain system for Godot 4, written in C++.

Features

  • Written in C++ as a Godot gdextension plugin, which works with official engine builds
  • Geometric Clipmap mesh terrain (as used in The Witcher 3)
  • Up to 16k x 16k, sliced up in non-contiguous 1k regions (think multiple islands without paying for 16k^2 vram)
  • Up to 10 levels of detail (LODs)
  • Up to 32 textures
  • Sculpting, texture painting, texture detiling, paint colors or wetness
  • Supports importing heightmaps from HTerrain, WorldMachine, Unity, Unreal and any tool that can export a heightmap (raw/r16/exr/+)

See the Wiki for more details on project status, features, design, and usage.

Requirements

  • Supports Godot 4.0+
  • It builds on Windows, Linux, and OSX. Binaries available for Windows/Linux.

Installation & Setup

Run the demo

  1. Download the latest release and extract the files, or build the plugin from source.
  2. Run Godot, using the console executable so you can see error messages.
  3. Import the project folder and open it. Let it complain about importing errors and likely crash. Then restart Godot.
  4. If the demo scene doesn't open automatically, open demo/Demo.tscn. You should see a terrain. Run it. If you don't see terrain, look at the console for errors, and in Project Settings / Plugins to ensure that Terrain3D is enabled.

Install Terrain3D in your own project

  1. Copy addons/terrain_3d to your project folder in addons/terrain_3d.
  2. Open Godot and go through the first load process & crash. Restart if needed.
  3. In Project Settings / Plugins, ensure that Terrain3D is enabled.
  4. Create or open a scene and add a new Terrain3D node.
  5. Select Terrain3D in the scene tree. In the inspector, create a new Terrain3DStorage resource.
  6. Click the down arrow to the right of the storage resource and save it as a binary .res file. This is optional, but highly recommended. Otherwise it will save terrain data as text in the current scene file.
  7. Read the wiki to learn how to properly set up your textures, import data and more .

Getting Support

  1. Read through the Wiki, especially Troubleshooting.
  2. Search through the issues for known issues, or create a new one if you're sure it's not a duplicate.
  3. Join the Tokisan discord server and look for the Terrain3D section.

Credit

Developed for the Godot community by:

Architect Roope Palmroos, Outobugi Games
Project Manager Cory Petkovsek, Tokisan Games

And other contributors displayed on the right of the github page and in CONTRIBUTORS.md.

Geometry clipmap mesh code created by Mike J Savage. Blog and repository code released under the MIT license per email communication with Mike.

License

This plugin is released under the MIT license. See LICENSE.

terrain3d's People

Contributors

tokisangames avatar outobugi avatar painfulexistence avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.