Create a 3D TERRAIN with Godot Tutorial | TerraBrush Alpha Release
ฝัง
- เผยแพร่เมื่อ 6 มิ.ย. 2024
- This is the first Alpha release of my pluginTerraBrush for Godot.
I hope it will be useful for you!
You can download the plugin here : github.com/spimort/TerraBrush
Want to support me?
ko-fi.com/spimort
Thanks to @KenneyNL for the awesome assets!
kenney.nl/
#godot #plugin #terrain #gamedev - วิทยาศาสตร์และเทคโนโลยี
I think it is a good thing godot doesn't have its own terrain system , because the community is really killing it specially talented ppl like spimort
Hahah that's true! Community is killing it! Thank you 😎!
Looks great! Thank you for your time and energy, can't wait to try it
Thank you! 🙂 Let me know if you do!
Thanks for your generosity! Hopefully LOTS of aspiring indie developpers will use it, give feedback, even help it make it better and it could somewhat become a real big thing!
I hope it will help a lot of people 😁! Thank you! 😍
Watching this changed my life, thank you!
Awesome, I'm so happy to hear that! 😎
Thank you very much. This is exactly my dream plug-in and what I need most at the moment. As a novice independent developer, this is simply an artifact!
Heck yeah!! 😁
Wow, thanks for the video and the plugin!
You are more than welcome 😁!
man i've been scouring for ages just to find a way to sample ground textures for color and use that for grass, the fact that you have that included for this plugin is insane and i love you
Thanks a lot! I'm so glad you like it 😊
oh hell yeah! this is amazing that you made this opensource.
Let's go! 🤘
Can't wait to give this a spin. TY!
Awesome! Let me know if it fits your needs! 😎
Looks great. Thank you so much
Thank you! 😎
yo this is so sick, thank you for releasing this man you are a legend
edit: especially for free, you are awesome. create a kofi or something man you deserve support.
Thank you so much! 😎
There is a kofi link is the github, just in case 🤘!
ko-fi.com/spimort
Yay im going to try this when i wake up tomorrow :D
Awesome! let me know if you like it! 😎
Oh snap. Exactly what I was looking for
That's awesome! 🥳
Best addon as far. Great job
Thank you ! 😎
excellent, mate! thank you!
Thank you! 😎
Incredible work my friend! Working great, only little problem I am having is the textures look blurry/too grainy when looking at from a longer distance.
Thank you! 😎
That's interesting. Could you share a screenshot of the issue? I have a discord server if you want to join (link in the bio), it would be easier to help you 🙂
Love the shortcuts
I love them too! 😁 Thank you!
Wow I just tried it out and I'm surprised how easy it is to use. I kinda hated working with terrain in Unreal and Unity but this was so simple to set up and use. Thank you so much for making this!
Hey wow, that's an awesome comment! I'm glad you enjoy it 😎!
@@spimortdev Is there a way to change the sampling mode of the textures to nearest? I want to use pixelated textures for my game but I can't really find a setting or figure it out in the code.
@@sventomasekThis was in fact a pretty requested feature! I completed it today, version 0.3.16Alpha should include a way to enable nearest filter!
I hope this helps! 🙂
@@spimortdev Yes that works great. Thanks!
@@sventomasekawesome! 😎
Thank you very much for sharing
This is gonna be huge! Thanks a lot for releasing it
Awesome 😎
Thank you, good work.
Thank you! 😎
Hey thanks I’ve only just started game development and I really needed terrain so thank you I will one day build my dream game
That's awesome! Can't wait to see what you build with it 😎!
@@spimortdev one question how do you save your project not the ingame progress like save the node and all its children.
Like the node and the children
@@GorartsyYou mean for the plugin? All of this is being saved in images that are being sent to shaders at the end 🙂
@@spimortdev oh ok I don’t really understand but I’ll try
Great stuff! Does the plugin allow for building terrains programmatically as well?
Thank you! 😊
You could probably modify the heightmaps in runtime so I believe it is, but I haven't tryed it!
Good job! Très prometteur!
Hey merci 😎!
Awesome video! 1 question though. Is it possible to add a collision shape to the trees? Thanks
Of course! Make a scene with your tree model and add a collision inside of this scene. Then, select this scene and add it to TerraBrush 🙂.
Feel free to join my discord server if needed, I'd be happy to help you! (Link should be in the Bio)
I was a bit perplexed by water, thinking it just made uneven surface water, until I figured out that it controls it's own depth in the settings rather than the terrain. That changed everything. Unfortunately it's distracting me from other projects! That's all your fault! 😉 But honestly, it's probably the best terrain system on the asset store so far as features, but would love to see it as a GDExtention . I'm going to try implementing underwater shader for the camera with GetPositionInformation, but Perhaps that will be a feature at some point? Having simple interaction and information functions are really nice and simpler than most other implementations I've used. ♥
Thank you so much! I'm glad you like it 😊. This project has been distracting me from my main project for quite a bit too now haha, I know what it is!
I was looking to handle the project as a GDExtension while keeping it in C# (I love C#, sorry about that) but it's a work in progress, a pretty hard task.
For the underwater thing, sky is the limit! You can open an issue on Github, so we don't forget about it (it does not mean that it will be a thing soon but at least it will be listed 🙂). Contributions are also welcomed if you have something you want to include.
Again, so happy you like it 🙂!
Hello fellow plugin developer, keep going contributing to the Godot community! I'm developing a procedural geometry plugin
Hey that's awesome! Do you have a link for it? 🙂
thank you!
This looks awesome, congrats and thank you! It's made with C#, does that mean I can only use it with a game made with C# or can I use it to build a level and still code my game in GD Script? Thanks!
Thank you ! 😎
Both languages can be mixed together (and even interact with each other!). There are no draw back that I'm aware of to use the .net version.
You can refer to this portion of the documentation :
docs.godotengine.org/en/stable/tutorials/scripting/cross_language_scripting.html
What I would like to see is a tool like this which can be used inside a game itself as a terra forming device for a strategy game for leveling land for build roads and villages. Or as a perlin noise generating settings mechanism for setting the parameters for a procedurally created environment for game play.
It would be really fun!
Technically Godot itself is a game, so it would be possible with some tweak 🙂
I am so happy after watching this video ❤🎉🎉🎉
I'm glad you like it 😎!
First of all, great plugin. The best thing about Godot is the community and open source character. This has probably been said in other places, but you should put the Godot version required somewhere prominent; probably the ReadMe around the How To Use section. I tried to add this to a project that was written in Godot_v4.1.1 and it didn't build. It was an easy fix that didn't take me long, but I could see someone getting stuck.
Hey thank you!
That's a good point, I should put it in the readme!
I'll do it in the future versions 🙂
@lucas.dickinson how did you solve it tho? I think I'm struggling with a simillar issue and can't figure out what's wrong.
@@user-em7it2bp3wit's hard to tell without seeing the project bu try to install the last version of dotnet SDK maybe!
I really love this, one thing I've noticed is there seems to be no way to scale the textures themselves. If I have high-resolution textures, the terrain makes them really big.
Hey thank you! I'm glad you like it 😎!
Have you tried to use the texture detail setting?
Also, I have a discord server if needed, we could talk about it. The link should be in the bio.
I've messed around with it but every value appeared to do the same thing.@@spimortdev
Did you hit the update button when you were changing it?
First of all lovely addon... Now bro I have a question. How to add navigation mesh to the terrain? I just added the nav mesh as usual, but it only gives me flat mesh not the mesh as the terrain surface.
I'm glad you like it! 🙂
I used twitter to answer your question here! Let me know if it works for you!
twitter.com/spimortdev/status/1739748161197838636
@@spimortdev Many Thanks bro...
What software did you use to create this tutorial?? I like the keyboard annotations you show!
Thank you! 😎
I used Davicin Resolve for the editing part, but the keys in the video are from keyviz (they look good!)
github.com/mulaRahul/keyviz
Thank you!!!@@spimortdev
hey, I'm using terrabrush in a game me and my buddy are making, but its low poly textures and I'm noticing I can't change the sampling of the terrain textures to nearest for a nice pixelated and crisp look. it would be nice to see some sampling settings added to the texture settings for terrabrush. thanks spimort!
Hey that's awesome!
Can't wait to see what you make with it! 🥳
For the sampling, I'd be happy to add that can of feature!
Could you open an issue on Github so I can keep track of it (and so we don't forget about it).
Also, if you have issues, I have I discord server were we can talk (feel free to join, nothing mandatory 😉). The link is somewhere in my bio.
Thanks a lot, im a beginner so idk if taking this kind of shortcuts is okay or not, but im really struggling with terrain creation in my project, id say overall level creation. I've been searching for tutorials on how to build levels in godot and there's not a lot of them, some use GridMaps which limits your building or difficults your modeling (imo), others just paste the models inside and the scene tree ends up looking like a mess. I dont know whats the way to go about this.
I'd say that using a terrain plugin is probably the best idea yes 🙂.
If you have questions, feel free to join my discord server, maybe I can help you.
The link should be somewhere in the bio.
Great plugin. I tried it today and I must say it is great and feels so polished. I have quick question about the size. is it possible to make a terrain that has a width different than the length ?
Hey thank you! 😎
I'm really happy you like it!
Not at the moment but I have some ideas for that
Btw, I just released an update like right now, introducing the clipmaps LOD 🙂!
th-cam.com/video/BardvKC0HF0/w-d-xo.html
@@spimortdev I've watched it already because I have notifications on for your channel :). I love the LOD optimization. I don't personally think it will be useful in my case because my RTS game has a top down view and cannot see a big portion of the terrain at the same time anyway. But I'm sure a lot of people will find extremely useful for performance. That gets me thinking though. For games that are not in first person or 3rd person, it might be nice to add the option to define the resolution of the mesh cells as something bigger than 1x1 meters. But I guess for that we could just scale the whole terrain object ? I don't know but either way, I really love what you've been able to achieve and I'm here to watch it mature into something even more amazing. Well done.
@@my2cents795
Thank you so much 😎
So cool if you use it in a top down RTS!
And yes, it is already possible to do it, I did not show case it but there is a "LOD Initial Cell Width" option available 🙂.
That drives the size of the first cells in the middle.
@@spimortdev Ahh, I missed that somehow. Great to see the option already exists. Great stuff. Congrats for the 0.2 release and all the best for what's to come!
thank you soo much you are awesome but there’s a small problem that is there’s no water texture in the water section so what should i do i want the water texture .😅
Thank you so much 😎!
The water shader is composed of several parameters that you can fill. If you look at the demo project, you see a DefaultWaterResource which contains all the parameters I used for the demo scene.
Let me know, does that fit your needs 🙂?
One of my main worries with Godot is that terrain creation would be a nightmare, not a nightmare, thanks!
Thank you! 🙂
Tbh, that's the main reason why I did this addon, because I was unhappy about the tools available!
@@spimortdev Hello again,
This may not be the spot to ask this but I hit a bit of a roadblock with the tool and thought that you might have some insight. I've tried modify the tool to generate a grid of zones from randomly picked zone resource files and although they get properly entered into the Zones array, it seems like each .tres zone resource file can only be loaded once. When I tried to enter the same zone file twice in the editor, the zone positions got set equal no matter what. Would you know of a way to have the tool load the same zone twice in different locations? If not, don't sweat it.
Thanks in advance!
@@picklechinazzboi2991It's because the resource file is the same for Godot which means, it's the same object reference. If you want to create zones like that, make sure that you duplicate the resource by also duplicating the images inside of them, otherwise, each zones will share the same information.
If needed, feel free to join my discord server (link in the bio) 🙂
@@spimortdev Thanks a bunch man!
thanks alot.
no problem! 😎
I'm using 4.2.1 and when i wanted to export i encounter an error:
addons\terrabrush\ButtonInspectorPlugin.cs (1 issues)
The type or namespace name 'EditorInspectorPlugin' could not be found (are you missing a using directive or an assembly reference?) (6,46)
Oh thank you! I realize now that there is a small thing missing for the export!
I'll definitely fix it (I'll try to open an issue on GitHub today).
Thank you for using it and reporting this issue 😊!
can i ask you why the map is teleporting under me? did i miss something? Its loading chunks and the river follows me weird
Humm, that's hard to tell without seeing your project 🫤
If needed, you can join my discord server (link in the bio), I'd be happy to help you!
How can I set visibility range for objects like tree and stone and all and LOD?
Make sure you create a scene with your mesh first. And then, in the scene, on the mesh itself, check under "GeometryInstance3D", there is a "Visibility Range" section.
This will allow you to control the visibility of your objects (this way, TerraBrush does not need to manage it, Godot does it itself.)
For the LOD of the object, in the import options of the mesh (double click on it), in the right panel, there is an option to "Generate LODs".
I hope this helps!
If needed, feel free to join my discord server, I'd be happy to help you!
@@spimortdev Thanks man that helped me a lot, you are great! Myan.
Is it possible to use a height map for a terrain?
Yes! The whole system is based on heightmap 🙂 tho, right now there are no easy way to import a heightmap as is (maybe this is something I'll do in the future).
What you can do right now is to convert your heightmap to a RFloat image texture resource. When it's done, you place it under a zone heightmap 🙂
Suggestion: Do so if you select a brush witch is not round it will rotate evrytime you click and move your mouse so that the terrain ore the texture wont be the same evrytime at a brush. Can you olso add so that you can control how deep the water ore the lake is? Is there collision? Pls do the icon the same colore as the otherones in the 3dnode. I love the terrain tool i will try it now thx :D. I cant import the plugin!
I was thinking about doing the brush rotation, we'll see 🙂
And yes, you can control how deep is the water!
And yes, there are collisions!
Make sure you run the .net version of Godot :)
@@spimortdevthank you i will try with the .net version
@@spimortdev nvm it works
Do you have a discord server?@@spimortdev
@@twin_835x alright, cool! Feel free to join my discord server if you need help, I'd be happy to help you! The link should be available somewhere in my bio 🙂!
Is it possible to bake lightmap for this terrain?
I never tried (sorry, I'm not used to lightmaps), but if it's not the case, feel free to open a Github issue so we don't forget about this 🙂
when i went to tools to enable c# it wasn't there
Make sure you install the dotnet SDK 🙂
dotnet.microsoft.com/en-us/download/dotnet/8.0
c# solution doesn't appear in Project, tools. How do you obtain it?
Make sure you download the .net version of Godot 🙂
@@spimortdev Still having problems, but I'll check if community can help me with it 👍
@@Ftradorex-oficial feel free to join my discord server, I'd be happy to help you (the link should be somewhere in my TH-cam bio) 🙂
@@spimortdev Finally got the solution. So, I needed the .Net file and the .Net SDK latest version. Glad that Godot community helped. Now time to test the plugin!
@@Ftradorex-oficial Awesome! Let me know how it goes 😎!
Is this works in runtime?
Yes, absolutely! I use it in my own game 🙂
There is a demo project in the repository that you can run.
This is also showcased in my Twitter post here :
twitter.com/spimortdev/status/1738059788699783342
Вроде прикольная вещь, но у меня из-за этого очень сильно лагает(
does it work with godot 4.2.2 ? cause i've tried to use it but it says "Unable to load addon script from path: 'res://addons/terrabrush/Plugin.cs'. This might be due to a code error in that script.
Disabling the addon at 'res://addons/terrabrush/plugin.cfg' to prevent further errors."
Yes, it works with 4.2.2 🙂 make sure to use Godot .net and to hit the hammer button to compile the project !
Also, if it's not done, make sure to install dotnet SDK
it says i cant enable the plugin with error "Unable to load addon script from path: 'res://addons/terrabrush/Plugin.cs'."
Make sure to "compile" the project first using the Hammer button close to the play button 🙂
If needed, feel free to join my discord server, I'll help you with it!
I tried to use your plugin and it not letting me enable it at all. It wont let me enable it and gives me a warning on my own project. Warning is this: " Unable to load addon script from path: 'res://addons/terrabrush/Plugin.cs'. This might be due to a code error in that script.
Disabling the addon at 'res://addons/terrabrush/plugin.cfg' to prevent further errors."
---------
I follow along and did the exact what you did in this video, downloaded the new version Godot V4 2.1 mono that supports #c. Same version of yours with NET. I dragged the folder into a new project, not enabling even after I did the create C# thing like you did in this video, I even tried using the demo that came with it and that isn't working and says the add on is disabled. :c It wont even let me click on the enable box at all in the demo.
I even tried re downloading it, and Im still getting the same problem. Im not sure what I did wrong here.
Hey! I'm sorry to hear that you had issues with it!
The usual solution when this happens is to make sure you build the project after importing the add-ons, but clicking the hammer button.
If this does not help, feel free to join my discord server, I'd be happy to help you with it (link should be in the bio) 😊!
@@spimortdev I forgot to update this comment. XD I already solve it with your help on discord. Also the problem was I didnt have NET installed. Thanks for the help again. ^-^