Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

M Terrain plugin

An asset by mohsenph69
The page banner background of a mountain and forest
M Terrain plugin thumbnail image
M Terrain plugin thumbnail image
M Terrain plugin thumbnail image
M Terrain plugin thumbnail image
M Terrain plugin image holder but it is empty

Quick Information

0 ratings
M Terrain plugin icon image
mohsenph69
M Terrain plugin

This will allow you to create massive terrain, for open world games.This plugin is written in c++ in GDExtensionTerrain is divided into different region and the height map texture for region far away from terrain has lower resolution so take less space in VRAMThis also support grass system which you can use that for grass, or rock, Also grass system support collision which let you to create massive forest of tree with collision really fast (Grass is also Paintable)You can also bake navigation mesh from terrain (navigation mesh is also Paintable)Supporting sculpt brushSupport Height-map non destructible layersSupporting HolesSupporting WaterSupporting Color brush with different algorithm like Splat-mapping, Index mapping, bit-wise brush ...------------------------------------------------This release:Grass Data per instanceThe biggest update for this version is the grass data custom which you can send to grass! You can send these data to each instance of grass:You can send some random number unique for each grass instance, you can control this random number!You can send any image which you used in Terrain to grass, only a single color value depend on the position of the grass on terrain will be sended to grassYou can also send the grass creation time which you can calculate the age of grass and create a growing effect for grassThis update is not about grass data there are more features and bug fixesOther changesNow if you add an image in terrain data and you do not declare that in terrain Shader, that image will remain only on RAM memory, and you can read from that and use that in various things! (One use of that is to send that data to grass)Optimizing grass update in run-timeFixing the color paint issueThis time the color which you paint will appear in the background of each layer in paint panel (only for color-brush and channel-painter)Detecting OpenGL or compatibility mode and changing the Shader code for that so it will work as you start a new-project (If you create a terrain with Vulkan and then change to OpenGL you need to fix the Shader code by yourself as some Shader code which works for Vulkan does not work for OpenGL)In this release we have a road system! but it is just a start!

Supported Engine Version
4.3
Version String
0.16.0
License Version
MIT
Support Level
community
Modified Date
9 months ago
Git URL
Issue URL

Only for M Terrain Plugin release

The main repo is Here https://github.com/mohsenph69/Godot-MTerrain-plugin

README mountain_lake

README alien_planet

README Screenshot_20230707_104154

Please read before using this plugin

Using this plugin require to learn some concept about terrain, This terrain plugin will not work out of the box, so I really suggest to read the wiki which I add recently added, I will add more stuff to wiki but for now I wrote the main concept that you need to know.

Also watching this video will be helpful: https://www.youtube.com/watch?v=PcAkWClET4U

And then this video shows how to use use height brushes to modifying the terrain: https://www.youtube.com/watch?v=e7nplXnemGo

Video about Texture painting: https://www.youtube.com/watch?v=0zEYzKEMWR8

patreon

You can support me with patreon Click here

Features

  • Tested with terrrain up to size 16km X 16 km
  • Supporting grass system Even with collission for things like trees (Grass is paintable)
  • Suppoting baking navigation system from terrain (navigation mesh is paintable)
  • Terrain sculptur
  • Color brush which support different algorithm (splatmapping, bitwise, index mapping ...)

README Screenshot_20230719_144752

download

To downalod the latest release use this link: https://github.com/mohsenph69/Godot-MTerrain-plugin/releases

README Screenshot_20230719_144757

build by yourself

First clone this repo on your local machine, so you need godot-cpp to exist in GDExtension folder so you can build that, godot-cpp is added as a submodule in this project so to put that inside GDExtension folder only thing you need to do after cloning this repo is runing this code

git submodule update --init --recursive

This will automaticly pull godot-cpp into GDextension folder, After that go inside GDExtension folder and use scons to build this project

This will allow you to create massive terrain, for open world games.

This plugin is written in c++ in GDExtension

Terrain is divided into different region and the height map texture for region far away from terrain has lower resolution so take less space in VRAM

This also support grass system which you can use that for grass, or rock, Also grass system support collision which let you to create massive forest of tree with collision really fast (Grass is also Paintable)

You can also bake navigation mesh from terrain (navigation mesh is also Paintable)

Supporting sculpt brush
Support Height-map non destructible layers
Supporting Holes
Supporting Water

Supporting Color brush with different algorithm like Splat-mapping, Index mapping, bit-wise brush ...

------------------------------------------------
This release:



Grass Data per instance
The biggest update for this version is the grass data custom which you can send to grass! You can send these data to each instance of grass:

You can send some random number unique for each grass instance, you can control this random number!
You can send any image which you used in Terrain to grass, only a single color value depend on the position of the grass on terrain will be sended to grass
You can also send the grass creation time which you can calculate the age of grass and create a growing effect for grass
This update is not about grass data there are more features and bug fixes

Other changes
Now if you add an image in terrain data and you do not declare that in terrain Shader, that image will remain only on RAM memory, and you can read from that and use that in various things! (One use of that is to send that data to grass)
Optimizing grass update in run-time
Fixing the color paint issue
This time the color which you paint will appear in the background of each layer in paint panel (only for color-brush and channel-painter)
Detecting OpenGL or compatibility mode and changing the Shader code for that so it will work as you start a new-project (If you create a terrain with Vulkan and then change to OpenGL you need to fix the Shader code by yourself as some Shader code which works for Vulkan does not work for OpenGL)

In this release we have a road system! but it is just a start!

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
M Terrain plugin icon image
mohsenph69
M Terrain plugin

This will allow you to create massive terrain, for open world games.This plugin is written in c++ in GDExtensionTerrain is divided into different region and the height map texture for region far away from terrain has lower resolution so take less space in VRAMThis also support grass system which you can use that for grass, or rock, Also grass system support collision which let you to create massive forest of tree with collision really fast (Grass is also Paintable)You can also bake navigation mesh from terrain (navigation mesh is also Paintable)Supporting sculpt brushSupport Height-map non destructible layersSupporting HolesSupporting WaterSupporting Color brush with different algorithm like Splat-mapping, Index mapping, bit-wise brush ...------------------------------------------------This release:Grass Data per instanceThe biggest update for this version is the grass data custom which you can send to grass! You can send these data to each instance of grass:You can send some random number unique for each grass instance, you can control this random number!You can send any image which you used in Terrain to grass, only a single color value depend on the position of the grass on terrain will be sended to grassYou can also send the grass creation time which you can calculate the age of grass and create a growing effect for grassThis update is not about grass data there are more features and bug fixesOther changesNow if you add an image in terrain data and you do not declare that in terrain Shader, that image will remain only on RAM memory, and you can read from that and use that in various things! (One use of that is to send that data to grass)Optimizing grass update in run-timeFixing the color paint issueThis time the color which you paint will appear in the background of each layer in paint panel (only for color-brush and channel-painter)Detecting OpenGL or compatibility mode and changing the Shader code for that so it will work as you start a new-project (If you create a terrain with Vulkan and then change to OpenGL you need to fix the Shader code by yourself as some Shader code which works for Vulkan does not work for OpenGL)In this release we have a road system! but it is just a start!

Supported Engine Version
4.3
Version String
0.16.0
License Version
MIT
Support Level
community
Modified Date
9 months ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers