Тёмный
No video :(

Terrain3D for Godot 4 - C++ Editable Terrain System 

Tokisan Games
Подписаться 4 тыс.
Просмотров 22 тыс.
50% 1

Terrain3D for Godot4 - C++ Editable Terrain System
We are releasing Terrain3D, an editable terrain system for Godot 4, written in C++.
Download the repository here:
github.com/Tok...
Join my discord server to chat about Terrain3D or our game, Out of the Ashes:
tokisan.com/dis...
See pics and details of Out of the Ashes here:
tokisan.com/out...
Follow me:
Email List: tokisan.com
Twitter: / tokisangames
Facebook: / tokisangames
#godotengine #godot #gamedev

Опубликовано:

 

23 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 139   
@KasperFrandsen
@KasperFrandsen Год назад
Amazing work. I really have no excuse not to update Waterways to Godot 4 now. I have a pretty strict deadline for work at the end of July, but after that I'll see what I can do about getting Waterways working well with this!
@TokisanGames
@TokisanGames Год назад
Great, looking forward to it. As you saw in the video, it works in gd4, but we do get a lot of errors in the console.
@yungson7869
@yungson7869 Год назад
Please do. I'm switching over all Godot 3 projects to Godot 4 completely. I feel much more comfortable knowing the editor is only getting better until Godot 5.
@iiTheBlackEagleii
@iiTheBlackEagleii Год назад
this is big, well done! i love godot but my biggest gripe has always been the lack of a built-in terrain system for 3D. I was going back and forth between importing terrain from blender or getting a low-poly tile set for terrain to build in Godot, both of which were taking a lot of time.
@juanmanuelcostello9510
@juanmanuelcostello9510 Год назад
Congratulations for this awesome and huge release. Indeed something the Godot community has been waiting for
@igorgiuseppe1862
@igorgiuseppe1862 Год назад
i love the transparency, unlike some companies who try to market their tech as being perfect and without any bugs, this presentation makes it clear what is work in progress, what wont be adressed and the current problems.
@compasscrafting1147
@compasscrafting1147 Год назад
This is really awesome! Not only that, but your generosity in releasing to the community. Thanks for the hard work.
@pietraderdetective8953
@pietraderdetective8953 10 месяцев назад
This is amazing! You're doing the Godot 4 community a great service with this tool. 👍🏻💯
@TokisanGames
@TokisanGames 10 месяцев назад
Thank you
@BramwellWilliams
@BramwellWilliams Год назад
Yesss I've been really excited for this 😊 great work!
@Chevifier
@Chevifier Год назад
This is really solid for whats there now. Cant wait to see what features you guys add in the future. Foliage painting should definitely be on top of the list. Would be nice to have object placing(painting) as a builtin feature instead of another plugin(Scatter), but its not necessary tbh.
@TokisanGames
@TokisanGames Год назад
Thanks. Use the right tool for the job. Doubling scatter functionality would be redundant and take our time away from terrain.
@Goldenfightinglink
@Goldenfightinglink Год назад
Thank you!! Amazing work! Will give some input on quest 2 performance real soon! The Auto LOD is a GODLY update
@stevedowning3892
@stevedowning3892 11 месяцев назад
Nice work, folks. Thanks for your efforts. I am a rank newb to Godot, having just installed it today, and to game development in general. Tools like this are a god-send
@KaletheQuick
@KaletheQuick Год назад
Neat! I'd been rooting for Zylann since you first showed off his plugins. But I guess he is focusing more on his voxel system now. I just hope some kind of standard appears. This one looks good!
@ThantiK
@ThantiK Год назад
Yeah, I think the terrain-punching would be a must for anyone dealing with caves/underground terrain design -- but this is exciting. Excited to play with it.
@ElMarcoh
@ElMarcoh Год назад
this is awesome, I was already thinking I had to implement something like this for a prototype, clipmap is great
@BastiaanOlij
@BastiaanOlij Год назад
Absolutely stunning work guys!
@abradotcs
@abradotcs Год назад
Looks very promising! Well done.
@Chaff_Games
@Chaff_Games Год назад
This looks amazing. Can't wait to see what it can do!
@oliverjunge8671
@oliverjunge8671 Год назад
Thank you for sharing your Terrain plugin with the community guys!
@nickpolet
@nickpolet Год назад
Extremely exciting. Great work to all involved.
@stasnorochevskiy
@stasnorochevskiy Год назад
It is just incredible to have such a powerful terrain system in Godot!
@yvanvan3729
@yvanvan3729 Год назад
Awesome job ! Thanks for sharing it with the Godot community.
@lukevost
@lukevost Год назад
Wow! Great work guys! ❤
@alexkt3400
@alexkt3400 Год назад
Amazing stuff fellas, thank you for your hard work!
@BeauSeymour
@BeauSeymour Год назад
This is incredible work :D
@Da_maul
@Da_maul Год назад
Holy nice, Bookmarked for when one of my games will need a terrain system.
@cleoden7862
@cleoden7862 Год назад
You work look more and more amazing!
@TokisanGames
@TokisanGames Год назад
Thanks!
@realjames1
@realjames1 Год назад
absolute madlads, tysm for your amazing work
@robertcosta6891
@robertcosta6891 Год назад
great work. thanks for sharing it to us.
@Red_Fox_Miro
@Red_Fox_Miro Год назад
I forgot that I had sub here. glad i did, good video
@DrOzzey
@DrOzzey Год назад
Amazing. Nice job!
@mohsenzare2511
@mohsenzare2511 Год назад
Nice Job, hope you success
@erikdong
@erikdong Год назад
Amazing 🎊 congratulations and thank you! 🍾🎉🎈
@maniksharma9736
@maniksharma9736 Год назад
Awesome plugin 🎉
@oussodzkh7372
@oussodzkh7372 10 месяцев назад
i was looking for a way to hide texture pattern repitition until you said there is a tool for painting over it,well thats one way to do it i guess ,thank you very much i hope your efforts go more noticed.
@TokisanGames
@TokisanGames 10 месяцев назад
Best option is to have multiple similar textures and paint them together in patterns (or use noise to identify). AAA games don't have large swathes of one texture. They are continually changing textures. Color variation or detiling methods can aide. Custom shaders with uniforms now fully work so you can add anything we don't provide in the base shader. I plan to add detiling and noise based patterns to an optional auto shader.
@oussodzkh7372
@oussodzkh7372 10 месяцев назад
@@TokisanGames oh I see I just started using godot as hobby lately and the community has been great so far, thanks for the enlightening comment best of luck on your development.
@pipeliner8969
@pipeliner8969 Год назад
This looks really cool
@LittleStupidGodoter
@LittleStupidGodoter 5 месяцев назад
BRAVO!!!
@Dragon20C
@Dragon20C 10 месяцев назад
Cant wait until this is bundled into godot!
@CRivlaldo
@CRivlaldo Год назад
Looks amazing! That’s a pity that roads have low priority 😢
@GDScriptDude
@GDScriptDude Год назад
Very good!
@yogendramanawat
@yogendramanawat Год назад
This is huge! ❤‍🔥
@radthadd
@radthadd Год назад
Woohoo!!!
@Daniel-zs1gk
@Daniel-zs1gk Год назад
Damn, that looks nice
@hawkgamedev
@hawkgamedev Год назад
you guys are the heroes we don't deserve!
@saul8510
@saul8510 Год назад
but needed.
@BluePhoenixGames1
@BluePhoenixGames1 11 месяцев назад
this is awesome
@MeshVoid
@MeshVoid Год назад
This is awesome!
@saul8510
@saul8510 Год назад
Well done.
@KRG30001
@KRG30001 11 месяцев назад
Sweet
@nort9689
@nort9689 Год назад
awesome 👍
@ijidau
@ijidau 9 месяцев назад
What's the benefit of GPU particles over MultiMesh instances for grass? You mentioned you would probably use particles, but I'm having a hard time figuring out what the difference would be.
@TokisanGames
@TokisanGames 9 месяцев назад
I've heard that internally they are very similar, one might use the other. But shaders vs MMI have very different interfaces to set them up.
@gokudomatic
@gokudomatic Год назад
Awesome. Even more than that, it's fabulous. I truly hope you'll maintain that component with next versions of Godot. That would really be a shame to lose such component. Question: is it possible to provide a custom noise generator?
@TokisanGames
@TokisanGames Год назад
We have started it. It needs to be a community supported project. Godot already has a FastNoise module, which I helped put in years ago. But it only generates 8-bit noise and you need 16-bit for heights to look good.
@gokudomatic
@gokudomatic Год назад
@@TokisanGames I understand well your intent, since I also made some components for Godot at some point, and I have the same line of thought to not be bound forever to some projects. I totally respect your will to let the community support the project, and I thank you anyway for the work so far. About the noise module, I'm not sure about what you mean. My idea was to be able to provide a custom made generator that is more complex than just a single FastNoise input. I would find it great to procedurally generate the terrain on the fly. But one single FastNoiseLite layer would not be enough, since it would not make credible lands and lakes by itself, no matter what kind of noise is used. Maybe I should ask in a different way. Is it possible to provide a custom heightmap datasource that can be programmatically generated?
@TokisanGames
@TokisanGames Год назад
@@gokudomatic Is it possible for me to write a procedural generator in the tool? Possible yes but low priority. Is it possible for you to generate your own heightmap however and insert it in programmatically? Yes read importer.gd or codegenerated.gd to see how to use the gdscript api.
@Zekium
@Zekium Год назад
Looks really impressive ! I haven't tried yet but I have a question : does this allow for extremely big maps to be made or does that require user's trickery to be done (dynamically playing with nodes) ?
@TokisanGames
@TokisanGames Год назад
Currently allows up to 16k^2. We're discussing the possibility of expanding that much larger up to 45k^2, 90k^2 or more but it's a low priority at the moment.
@jameso2290
@jameso2290 Год назад
I'm not exactly sure I understand the technical difference between the clipmap method and the use of chunks, because the demonstration here still shows the loaded area make jumps in what looks like "chunks". It just looks like smaller chunks essentially. Is there a video or article that better explains the pros and cons, and difference between the two?
@TokisanGames
@TokisanGames Год назад
When viewing the wire frame you saw lods, lower levels of detail or low resolution meshes extending out from the camera, and moving with the camera. That mesh is shaped by the GPU. You didn't see high resolution chunks of terrain fixed in place and created and destroyed by the CPU as the camera moves, and as was shown conceptually in the animation. You'll have to do some research on terrain system designs to learn of the different types. If you look in our wiki under system design you'll see a link about clipmaps from Mike Savage with animated clips. The Witcher 3 uses a clipmap terrain.
@jimmio3727
@jimmio3727 5 месяцев назад
Can you maybe explain why there's the 16k limit? I'll bet it's max texture size of 16384x16384 that is the limit, but I don't see why height data couldn't be passed as float array instead (now that GD4 supports it)..
@TokisanGames
@TokisanGames 5 месяцев назад
That's what is currently implemented. You can access more right now with vertex spacing. We're using texture arrays, which support up to 2048 layers on modern cards. With a 1k region size, 45km^2 could be supported without much work, and 90km with 2k region sizes. However, to be practical, Godot needs to finish supporting 64-bit ints, and working above 16km you really need a double precision build. Follow issues #77 and 159.
@GoGameDeveloper
@GoGameDeveloper Год назад
Baking the navigation server does not currently work, tested it with my RTS game and godot just crashes😅 But other than that works great, awesome work 😄
@TokisanGames
@TokisanGames Год назад
OK, thanks for the report. We'll have to analyze it further, later. We want to use the nav server in OOTA as well.
@DodgerEcho
@DodgerEcho 10 месяцев назад
And how do I upload my map, import, for example, my elevation map from the World Machine to Terrain3D, where is the importer located? Thank you.
@TokisanGames
@TokisanGames 10 месяцев назад
Importer is in the tools dir under addons. Please see the documentation. There's a page dedicated to importing. Come to discord for help.
@UltimatePerfection
@UltimatePerfection Год назад
Wish it was voxel-based so that stuff like overhands, land bridges, etc. would be easy to create. Still amazing work, but in this day and age, heightmap terrains are kinda obsolete.
@TokisanGames
@TokisanGames Год назад
You can add meshes for the few places you need an overhang as most games do. Witcher 3 uses heightmaps, is that obsolete? How about UE5 which Witcher 4 will use. Few games use voxels unless they are voxel specific as they are much slower than other terrains. If your game has that specific need, there's a voxel tool you can use. No need for us to make a voxel terrain when Zylann already has one.
@UltimatePerfection
@UltimatePerfection Год назад
@@TokisanGames What if you need overhangs everywhere?
@TokisanGames
@TokisanGames Год назад
@@UltimatePerfection Either buy high quality rock assets and reuse them to place overhangs everywhere, or use (and pay the performance hit) for a voxel terrain.
@BruceT-rg8bp
@BruceT-rg8bp 10 месяцев назад
it looks real...
@mar4ikkv532
@mar4ikkv532 11 месяцев назад
I have a question, why when i want to put my own texture i cannot because i need to make it DXT5 RGBA8 format, but how??
@TokisanGames
@TokisanGames 11 месяцев назад
Please read the wiki. There is a page that describes the exact process with free tools.
@redlinux34
@redlinux34 9 месяцев назад
@TokisanGames Hello. Help. I can't figure out how to add a texture to Terrain, an error appears in the console ./core/variant/variant_utility.cpp:905 - Terrain3DTexture::_is_texture_valid: Invalid format. Expected channel packed DXT5 RGBA8. See documentation for format. How to fix this?
@TokisanGames
@TokisanGames 9 месяцев назад
The wiki documentation describes how to make textures. The exact software and steps to do. You don't need to figure it out, just follow the directions. Please come to discord for help as I might not see comments.
@redlinux34
@redlinux34 9 месяцев назад
@@TokisanGames How can I find the link to Discord?
@TokisanGames
@TokisanGames 9 месяцев назад
@@redlinux34 It's in the description of this video.
@JohnStonexDj
@JohnStonexDj 6 месяцев назад
1. I imported Highmaps from Google maps as a PNG file in H-Terrain and Exported it to a RES file to import it in your Terrain 3D. Now I have the Problem that I want to smooth the "Pyramids Effekt" but the Smooth brush is to small. Can you implement a a Tool that is smoothing the complete terrain ( it`s a large terrain) like in Blender ( Modifiers -> Deform -> Smooth) 2. I missing a option to change the Size of the Terrain like in H-Terrain. I had to change the size of the PNG
@TokisanGames
@TokisanGames 6 месяцев назад
You can import PNG directly to our tool. But Godot can't read 16-bit PNGs and 8-bit looks like terraced garbage. EXR or R16 are appropriate for heightmaps, so if you got a 16-bit PNG convert to one of those. If you want to blur heightmaps, use any photo editing tool, which are designed for it. Set it to 16-bit mode first, then use exr for export. You can also scale up maps in the photoeditor. We'll build image editing tools in ours, but there are much more important features that are higher priority first. Still, we're not going to build photoshop into the terrain. The expectation should be that some external editing is necessary for all terrain systems.
@JohnStonexDj
@JohnStonexDj 6 месяцев назад
@@TokisanGames yeah 30 min after this comment I took Gimp and filter my Highmap so I dont have the Pyramides Effekt anymore :D Thanks yeah 8 Bit looks like shit :D
@Hodebrot
@Hodebrot 9 месяцев назад
i was trying to set up a NavigationRegion3D with Terrain3D, but it's not really working. I can't seem to be able to bake a NavMesh. Anyone have any ideas where to find more info or how to solve this?
@TokisanGames
@TokisanGames 9 месяцев назад
There is a PR with a temporary nav baker, and another person is working on a built in nav baker if you wait a week or so.
@SuomiGameHUB
@SuomiGameHUB 9 месяцев назад
Couldn't get it to work at all. The demo project opens, but nothing works and addon can't be enabled. Godot 4.1.
@TokisanGames
@TokisanGames 9 месяцев назад
We have hundreds of people using it successfully. Come in to discord for help. Can't do anything here.
@JaydenHolland-wo4fd
@JaydenHolland-wo4fd Год назад
Could this be used to make a 3D sandbox game, kinda like minecraft?
@TokisanGames
@TokisanGames Год назад
A sandbox playing with other systems with a static terrain, sure. A sandbox playing with a destructable terrain, use Zylann's voxel terrain. Look at my other videos.
@noiJadisCailleach
@noiJadisCailleach Год назад
How about destructability? Will there be something like that in the future?
@TokisanGames
@TokisanGames Год назад
Use Zylann's voxel terrain, which supports blocky or smooth voxels. See the other videos on my channel regarding it. This isn't the right tool for that, although it is possible with the API if you modify the heightmap image and force update.
@noiJadisCailleach
@noiJadisCailleach Год назад
@@TokisanGames Interesting. Thanks for the reply! Well, i mean, if this tool is better in general, why not take a stab at it and see if maybe it can have features you want, ya know? But i get your point. Still, I just checked out your recommendation and there was a Godot 4.1 compatibility update. Awesome! Subbed! Good stuff you have here.
@bubblemage
@bubblemage Год назад
question, why is this not as a vanilla thing for the godot engine? why do they not want terrain in godot? it's a very useful thing
@GoblinArmyInYourWalls
@GoblinArmyInYourWalls Год назад
I mean, there are tons of third party terrain generators, it's not exactly a priority for the core dev team.
@AldoGDev
@AldoGDev Год назад
​ @chrismcpherson7582 I hate this answer so much. A terrain generator MUST be a priority on all game engines.
@GoblinArmyInYourWalls
@GoblinArmyInYourWalls Год назад
@@AldoGDev why? When there are already so many tools that do it, WHY should the core dev team spend time and energy implementing it when it's been done to death already? I want godot to continue to improve the rendering and stability, not put in tools that I already have avaliable to me elsewhere, better than what they can ever possibly implement.
@AldoGDev
@AldoGDev Год назад
@@GoblinArmyInYourWalls Because if its not the core dev team, others won't spend time to build the ideal "terrain editor". Look at zylann plugin, you think it's working well right? Let me tell you that: it is absolutely not. You can't have more than 4 textures (don't even try multisplat16 or the array method), you can't use it with built-in godot navigation system, you can't do a lot of others things. Third party plugins are cool, but people do it on their free time, and they always build the tools for their own needs. So yes sorry but no, not a single 3rd party plugin available here is even close to the unity editor.
@GoblinArmyInYourWalls
@GoblinArmyInYourWalls Год назад
@@AldoGDev you do realize that "third party" doesn't mean exclusive to godot plug ins, right? Blender, World Creator, Houdini, World Machine, Gaia, Vue, Terragen, etc. Blender alone is EVERYTHING you need. You can sculpt terrain and you can use Geometry nodes, and there are tons of terrain specific plug ins, and the workload between it and godot is getting better all the time. The reason the core devs don't feel the need to prioritize it is BECAUSE ITS ALREADY THERE.
@redlinux34
@redlinux34 10 месяцев назад
Hi I would like a short tutorial on your plugin. thanks.
@TokisanGames
@TokisanGames 10 месяцев назад
Coming in a few weeks. I'm finishing some new features first that will be shown off.
@redlinux34
@redlinux34 10 месяцев назад
@@TokisanGames ok
@chrisharvey7461
@chrisharvey7461 6 месяцев назад
hey whats the current state of this add on, im leaving Unity this looks quite good
@TokisanGames
@TokisanGames 6 месяцев назад
Documentation has a status page. This channel has two newer videos recently released.
@Amaroq64
@Amaroq64 10 месяцев назад
3:16 "Exported games probably don't work." Does that mean games created using Terrain3d cannot be shipped?
@TokisanGames
@TokisanGames 10 месяцев назад
This video is from the initial release months ago. Exported games work fine now. See the front page of the wiki for updated status on various elements.
@Amaroq64
@Amaroq64 10 месяцев назад
@@TokisanGames Alright, thank you!
@elviokill
@elviokill Год назад
Shut up and take my money!!!
@TokisanGames
@TokisanGames Год назад
On the terrain, you get a discount, fine sir. However, we'll take your money when we release our game sometime between 2024 and 2099.
@canozcan5269
@canozcan5269 11 месяцев назад
How can I turn on edit tools on existing project
@TokisanGames
@TokisanGames 11 месяцев назад
You just need to install it properly in your project. Please go to the repository or discord for support, not here.
@friendlyfox2189
@friendlyfox2189 11 месяцев назад
can I use this to make a map like GTA with cities and stuff
@TokisanGames
@TokisanGames 11 месяцев назад
It provides a large terrain with texturing capabilities, so yes it can be your base.
@Ceisriel
@Ceisriel Год назад
What's the pros of using this instead of making terrain in blender or other softwares?
@lizardrain
@lizardrain Год назад
This system would be way more performant. Unless I'm missing something from your suggestion, making one giant open world mesh in Blender and importing it to Godot would be absolutely horribly laggy. You need a lot of in-engine code to keep things smooth, external 3D modelling software can't help with that at all.
@Ceisriel
@Ceisriel Год назад
​@@lizardrainpeople who do it in blender slice the world in many pieces, each piece with multiple LODs that are loaded based on the distance...which is pretty much the standard of open world games since the very first open world game ever ...it requires way less code than making a new terrain system in Godot or making a terrain system in any game engine and is very performant. If so many people tried to make so many ways to create terrain in Godot, there must be some pros and cons that's why I'm asking.
@TokisanGames
@TokisanGames Год назад
Workflow is of utmost importance in gamedev, esp with a team. When we're designing levels we need to sculpt the terrain, texture it, place foliage, around the houses, rocks and other meshes we're placing for a holistic look. Working on all of it simultaneously is 10x or 100x better than having to stop, edit and paint the mesh in another app and reimport. Blender import is fine for small games targeting lower end hardware.
@apkzando
@apkzando Год назад
Is it possible to reduce the terrain detail resolution?
@saul8510
@saul8510 Год назад
you can only reduce the size and the lod. atm.
@TokisanGames
@TokisanGames Год назад
Density of vertices at lod0 is always 1 currently. Change the number of lods and size in the clipmap settings.
@user-ns1nn6nl3j
@user-ns1nn6nl3j Год назад
have you thought about supporting holes?
@TokisanGames
@TokisanGames Год назад
Discussed in this video.
@Rogueixpresents
@Rogueixpresents 10 месяцев назад
tutorial how to use it? :O
@TokisanGames
@TokisanGames 10 месяцев назад
Coming in a few weeks after I finish some features in the next version.
@tutortomato
@tutortomato Год назад
So,it seems...when the Dev doesn't want to put terrain in the core,what we have here is still not work and subpar solution for a really crucial part of open world game. And they wondered why there is no large game made in Godot 😅
@saul8510
@saul8510 Год назад
why you say that, this is a good solution, it just an alpha yet, performance can still be further optimized tho.
@tutortomato
@tutortomato Год назад
@@saul8510 this is very good work,and I cannot thank them enough for it.If this addon keeps on being work and it will be the best for terrain. Godot may not aim to be unity or unreal but if the part of the engine feature are subpar,don't be bother to put it in the engine(particle system is one of them).
@TokisanGames
@TokisanGames Год назад
"Rome was not built in a day"
@tutortomato
@tutortomato Год назад
@@TokisanGames of course but they still lay the foundation brick by brick...when the core Dev outright reject terrain in the core.
@maximiliantaubert4669
@maximiliantaubert4669 Год назад
I just watched @mohsenzare2511 latest video where he mentioned the clipmap solution he'd heard about and here it is an hour later 😄
@DotaCraze-iu9iu
@DotaCraze-iu9iu 9 месяцев назад
Error Loading extension res://terrain_3d/terrain.gdextension? Please help
@TokisanGames
@TokisanGames 9 месяцев назад
Come in to discord for help. Can't do anything here. Read your console. Probably tells you more info.
@TheAmazingJimmy
@TheAmazingJimmy Год назад
If you want to punch holes in a mesh, could'nt you jut add some boolean math?
@TokisanGames
@TokisanGames Год назад
It's a bit more complicated than that. Visually is no problem. Collision is a big problem, but we have a solution.
@haugkjet1
@haugkjet1 Год назад
Amazing work! I was able to compile and run the latest (master) version on Linux. Seems to work!