Тёмный
No video :(

How To Make A 3D Voxel Terrain In Godot Engine 3.1-3.2 Tutorial 

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

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

 

23 авг 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 94   
@TokisanGames
@TokisanGames 4 года назад
Pre-built binaries: tokisan.com/godot-binaries/ Join my discord for updates on my current game, Out of the Ashes: tokisan.com/discord See pics and details here: tokisan.com/out-of-the-ashes/
@Thkaal
@Thkaal 4 года назад
Was just about to start compiling when I saw this......thank you.
@GhostRiderSpiritOfVengeance
@GhostRiderSpiritOfVengeance 3 года назад
You sir are a legend. Ive hopped around several game engines for one that I am needing and its because of your tutorial and demos that led me to try Godot. If yo uhave a discord server id love to be apart of it
@TokisanGames
@TokisanGames 3 года назад
Check out my current Godot game here, discord link at the bottom, which which I just opened it up to the public. tokisan.com/out-of-the-ashes/
@JustAnotherAlchemist
@JustAnotherAlchemist 4 года назад
Tumbling blocks algo + octree LOD + hydrodynamic terrain erosion and this would be king.
@omarouassif9981
@omarouassif9981 4 года назад
+1 for the pre-built binaries !
@MattRandall160
@MattRandall160 4 года назад
awesome video! pre-built binaries were a life saver! thank you
@eran3161
@eran3161 4 года назад
This is so awesome. I implemented the marching cubes algorithm in gdscript just for fun sake, but it was soooo slow.
@ZZKJ396
@ZZKJ396 4 года назад
Stellar work guys!
@theemperiumofkek1362
@theemperiumofkek1362 4 года назад
YEEEEEEEEEEESSSSSSSSSSSSSSSSSSSSSSSSSSs
@TokisanGames
@TokisanGames 4 года назад
Lol, enjoy!
@SYBIOTE
@SYBIOTE 4 года назад
I saw the ue4 voxel and was in love now I can live the dream
@androdebian
@androdebian 4 года назад
with this will be easy to do a Worms 3D game :D
@robertt396
@robertt396 3 года назад
Thank you so much!!! Phenomenal.
@bananaman9869
@bananaman9869 2 года назад
Cool!
@viniguerrero
@viniguerrero 4 года назад
Awesome video! Just have to questions, 1. The only way to paint grass and water is by shaders? 2. What's the proper way to place stuff in the map if you only see it runtime? Thanks in advance!
@TokisanGames
@TokisanGames 4 года назад
In the video I show water. That is just a plane that cuts through the terrain and has a basic blue reflective shader on it. Not voxels at all. Took me 15 minutes to make. Grass, you could follow Bastiaan's grass tutorial, which should work fine. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-uMB3-g8v1B0.html Probably many other methods for grass or water available. You can place objects in the editor at run time just as I moved the camera around towards the end of the video. Add an object, run the scene, move the camera where you can see, then move the object where you want.
@viniguerrero
@viniguerrero 4 года назад
@@TokisanGames oooh I get it now, okay, that's really awesome, thanks for the tips, been watching this channel every day now👏😀
@tuckertcs
@tuckertcs Год назад
Very neat! However there doesn't seem to be an option for blocky terrain anymore. Using the non-LOD VoxelTerrain node, it is smooth by default and there's nothing in the properties for the blocky style.
@TokisanGames
@TokisanGames Год назад
You'll have to talk with Zylann. It's been years since I built it. Looking at the code, the blocky mesher has not been removed and the documentation still shows it's an option.
@formaffinity
@formaffinity 4 года назад
Cool stuff! Is it possible to make the terrain (height map included) tileable? That way, instead of running into draw distance issues it's just repeating the landscape?
@TokisanGames
@TokisanGames 4 года назад
The landscape already repeats the height map. As you move toward the horizon, more sections are built. You're always in the center. With VoxelLodTerrain, you can extend the view distance very far which means the heightmap is tiled within your view many times.
@formaffinity
@formaffinity 4 года назад
@@TokisanGames Is there a way to view the terrain within Godot viewport (without playing the scene)? Would like to position polygon objects/buildings visually. Or how would you go about doing that? Really fun to play with so far, the pre-built binaries are super helpful. Is there an advantage to compiling it ourselves?
@TokisanGames
@TokisanGames 4 года назад
@@formaffinity The in editor option is disabled as it's not stable yet. You can run your game, reduce window sizes, switch back to the editor window and place your objects by editing the position and rotation in the editor. Compiling yourself allows you to learn more about the engine, get more up to date versions, or add other modules to it.
@meredocu
@meredocu 4 года назад
thanks dude! really help me out
@artemiogaming22vods98
@artemiogaming22vods98 4 года назад
thank you!!!!
@Theaksten
@Theaksten 4 года назад
Superb video. Sub'd!
@hippiehippiehippiehippie
@hippiehippiehippiehippie 3 года назад
This is amazing. How do you save your changes for next time you open the world?
@TokisanGames
@TokisanGames 3 года назад
I think Zylann created a function for it, but I've never used it. You'll have to explore the issues or look through the code to learn about it.
@hippiehippiehippiehippie
@hippiehippiehippiehippie 3 года назад
@@TokisanGames Thanks for the quick reply on such an old video. I haven't managed to find how to access the save function yet. So far my workaround has been to save all changes made to the map in an Array and load chunks of changes when the player reaches places he's already been
@Chevifier
@Chevifier 3 года назад
My Instant thought is No Mans Sky's terrain tool XD
@bencepozsar4858
@bencepozsar4858 4 года назад
Can I make objects (for example a wall) with this to be destructible?
@vladimir-sama
@vladimir-sama 3 года назад
Is there a way to implement custom chunk loading? I have searched the documentation but cant find it, I also need to create custom procedural generation by applying multiple noises to the terrain (2D noise, then 3D noise removing voxels), if I am over complicating this please tell me, and thank you for your time
@TokisanGames
@TokisanGames 3 года назад
You'll need to ask Zylann on the repo, and may need to dive into customizing the module in C++ to achieve what you want.
@developerdeveloper67
@developerdeveloper67 3 года назад
Since you seem to have used Godot quite a bit, how do you think the Gdscript performance compares with a game made in Unity? (for big games)
@TokisanGames
@TokisanGames 3 года назад
Search for benchmarks online. For things like voxel generation, C# has been shown to be up to 12x faster, C++ up to 93x faster. Godot can use all three. A better metric is how easily you can fix or work around the bugs in the engine. Having been working on a decent sized game in Godot, in the future, I would only make something big in UE. Not Unity. Not Godot. Not any of the new upcoming, untested engines. I would only use an engine that the developers use to produce games. UE alone qualifies.
@developerdeveloper67
@developerdeveloper67 3 года назад
@@TokisanGames Thanks for your response, but I have to say I don't agree UE is the only answer. Look at Unity, 7 days to die is made in Unity, so is The Forest, Empyrion, and many other open world games were made in Unity, so I think if anything, Unity is the most battle-tested engine. The beauty of Godot I think tho is the ability you have that if you are really invested in a project and there is a bug with the engine, you can take the time to dig deeper and find a way to fix it, with Unity, you will always be at the mercy of the unity developers to fix the engine bugs, it's a black box.
@MasterJkpatrick
@MasterJkpatrick 4 года назад
Thanks for this tutorial, I tried downloading the Linux x64 binaries (on debian) and I got: ./Godot_v3.2.2rc+cd8d43_x11.64: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./Godot_v3.2.2rc+cd8d43_x11.64) The 3.2 Alpha version does work though
@me2beats313
@me2beats313 4 года назад
Cool:)
@robertoaguiar6230
@robertoaguiar6230 4 года назад
Would it be possible to render smooth voxels near the camera and leave far away ones? Would it make it faster?
@TokisanGames
@TokisanGames 4 года назад
Leave far away ones blocky you mean? No. The mesher is either entirely smooth or blocky. Smooth uses levels of detail for increased performance for distant landscape, which is the right way to do it.
@robertt396
@robertt396 3 года назад
Is there anyway to shrink the voxels further on the non-smooth setting? Like the smooth texture but... with fine cubes?
@TokisanGames
@TokisanGames 3 года назад
I haven't used it in a while, so I don't know if Zylann has added that feature. I'm not aware of it. Review the current docs in his repo or ask there to see.
@robertt396
@robertt396 3 года назад
@@TokisanGames Looks like you can as of Jan 29th from a blog post asking him. Cool
@ZandrichMynhardt
@ZandrichMynhardt 3 года назад
VoxelStreamImage is not an available stream option in either vanilla or LoD; what's the workaround? I really want to slap a heightmap onto this. Edit: Smooth mesh also seems to be missing. I initially suspected I'd kicked the wrong binary, but, that's not the case. Running the March 2020 x64 binary for Windows - 3.2.2rc+cd8d43 Edit: Temporary fix = revert to binary from November 2019 Edit: Using the old binary, how would I restrict/scale the generation according to the finite HM image I've imported? It's relatively large, so it seems like Godot's voxel generation is compressing it into really steep heights. The newer binary includes an ISO option, as well as the option of setting the height range; I'd like to set similar parameters using the old (working) binary.
@TokisanGames
@TokisanGames 3 года назад
In the newer binaries the name of the class is now VoxelGeneratorHeightmap. All of my demos from my github repository work with the new binaries, so use and learn from them. See my website for which git revision works with which binary version. For detailed questions about the module, read the docs and open an issue on unanswered questions in Zylann's Godot voxel github repository.
@ZandrichMynhardt
@ZandrichMynhardt 3 года назад
@@TokisanGames I think I've tried VoxelGeneratorHeightmap and VoxelGeneratorImage, with no voxel output. I vaguely remember trying out the project examples (for the new binary, not old), which DID generate the map as shown in your video. I'll give it a go later tonight when everything's out of the way. Thanks for the feedback!
@Thkaal
@Thkaal 4 года назад
Can the voxelterrain node be used as an actor? Like a space ship that gets parts blown off?
@TokisanGames
@TokisanGames 4 года назад
No. Currently it builds as an infinite, paged mesh that builds around 0,0,0 and is not movable. A separate, movable node is on the wishlist.
@jaws8621
@jaws8621 2 года назад
I cannot for the life of me find a way to make buomes. Anyone have some resources?
@Delouser69
@Delouser69 6 месяцев назад
Thanks for making these videos. Is there any way to contact/connect with you?
@TokisanGames
@TokisanGames 6 месяцев назад
I'm available in our discord server which is linked in the youtube channel.
@SuperJrKing
@SuperJrKing 4 года назад
For the Blocky mesh, is there any way to add custom mesh voxels like for example an fence, or tree trunk. I would like to be able to make trees like RLMinecraft or just basic grass. How would I do so if possible?
@TokisanGames
@TokisanGames 4 года назад
At the moment, you can only add cubes with the terrain node. You'll have to manage the placement of your own meshes on top.
@SuperJrKing
@SuperJrKing 4 года назад
Thank you
@wapiti3895
@wapiti3895 4 года назад
could voxel be used for as rigidbody or it only works has static ones currently ?
@TokisanGames
@TokisanGames 4 года назад
The voxel terrain is a static body. The nodes only support infinite, paged, terrain generation. On the wishlist is a node that can create an independent, movable, non-terrain voxel object. But that hasn't been implemented yet.
@ZylannMP3
@ZylannMP3 4 года назад
The voxel meshing classes are available to the scripting API so in theory, with a bit of scripting, you can voxelize an arbitrary chunk as a mesh if you like, and turn that into a regular RigidBody with a MeshInstance.
@ZylannMP3
@ZylannMP3 4 года назад
@@wapiti3895 all I said is doable with GDScript, that's what I meant by scripting :)
@Galomortalbr
@Galomortalbr 4 года назад
awesome man,, you should had click baited using mine craft on the title
@officialfoxelgames
@officialfoxelgames 4 года назад
Alright, kinda tried to use your demo but it's missing something.. Also How would you go about generating different types of voxel depending on the height or randomly chose those?
@TokisanGames
@TokisanGames 4 года назад
Missing what? Did you use my binaries or build the engine yourself. If the latter the engine is going through major changes right now and not stable. As for different types of voxels peruse the Github Issues on Zylann's repo for discussions on that topic.
@officialfoxelgames
@officialfoxelgames 4 года назад
@@TokisanGames I've downloaded your demo and it somehow doest let me open your scenes, it spit out a error about it being the wrong data-ending :confused: anyways i saw you're going to make new prebuilt binaries any info on that?
@TokisanGames
@TokisanGames 4 года назад
@@officialfoxelgames DM me on twitter or file an issue on my github repository so we can work through it. Also see my notes here: tokisan.com/godot-binaries
@TokisanGames
@TokisanGames 4 года назад
Please try my new binaries just released. You can use them with the latest branch of my demo.
@funnytimeoofman8855
@funnytimeoofman8855 4 года назад
Quick question. New to coding but would I be able to change the texture of the voxels and assign different properties to voxel blocks? (For example, for making biomes or different types of stone and grass, lava voxels and have different properties (lava burns you)
@TokisanGames
@TokisanGames 4 года назад
You can add different materials for different blocky voxels. For smooth voxels, you only get one material at the moment. However with shaders you can create multiple materials based on factors like angle or height.
@funnytimeoofman8855
@funnytimeoofman8855 4 года назад
@@TokisanGames Thank you. I am like the smooth voxels but not being able to make different materials. I know it's possible as Deep Rock Galactic had something like that despite it being a different engine. Thank you so much again for developing this.
@funnytimeoofman8855
@funnytimeoofman8855 4 года назад
What's the difference between smooth and block voxels? Besides one being smooth and the other being blocky
@TokisanGames
@TokisanGames 4 года назад
@@funnytimeoofman8855 Blocky voxels are used in the VoxelTerrain node. It looks different, provides multiple materials, has a few other technical differences. VoxelLodTerrain is much faster and provides a far greater view distance, but is smooth only.
@TokisanGames
@TokisanGames 4 года назад
@@funnytimeoofman8855 Deep Rock Galactic probably used shaders, which you can do here. In the first few seconds, and in my other videos you can see footage of a landscape with grass on top and rock on the sides.
@hashtagornah
@hashtagornah 4 года назад
will VoxelLODTerrain be supporting block type in the future?
@TokisanGames
@TokisanGames 4 года назад
The discussion has been around moving VT to block type exclusively, VLT smooth exclusively and each doing their own thing well. No discussion about LOD for blocky as of yet.
@hashtagornah
@hashtagornah 4 года назад
@@TokisanGames pardon me for asking another question, but in the features not supported list it said importing voxel data is not supported, will this eventually be added? Or is there some way to import a .vox file? A file type that could be parsed and imported to retain an objects voxel data? This would be exclusive to blocky of course.
@hidemat5141
@hidemat5141 4 года назад
Do you think one can implement the marching cubes algorithm with this module?
@TokisanGames
@TokisanGames 4 года назад
*Marching cubes? It is already implemented. That's how the voxels are smooth. See my smooth voxels video.
@hidemat5141
@hidemat5141 4 года назад
@@TokisanGames ohhh that's cool. Is there a way to make it not smooth while still using the marching cubes? For example to get hard edges?
@TokisanGames
@TokisanGames 4 года назад
@@hidemat5141 At the moment it's either blocky voxels, or voxels smoothed by marching cubes.
@rodericklagunas4788
@rodericklagunas4788 4 года назад
When GDNative port?
@chaostheory8340
@chaostheory8340 3 года назад
I downloaded the bits and It says unexpected end of file.
@TokisanGames
@TokisanGames 3 года назад
Although that's not nearly enough information to help you with, make sure you're using the commit version of my demo that matches the binaries on my site.
@chaostheory8340
@chaostheory8340 3 года назад
@@TokisanGames actually i think i figured it out. It didn't accure to me i had to download a modified goddot. So i download the 2020 3.2.2 then the 64 version. afterwards i imported the comit on the modified godot. Thanks for your help
@whoeverofhowevermany
@whoeverofhowevermany 3 года назад
Just a normal greeting and using a real human first name instead of saying your name is your username? Sweet
@classicguy7813
@classicguy7813 4 года назад
But why is blender not enough? What is related to this in game making?
@TokisanGames
@TokisanGames 4 года назад
Using blender to create terrains gives you a mesh. You can't modify it in a a game engine without a lot of programming. A voxel system allows the user to modify the mesh in game.
@williamtemple4331
@williamtemple4331 4 года назад
well this just sucks. I am using Godot Engine v3.2.2.rc.custom_build.cd8d43714 and apparently there has been some rather dynamic changes since this video was created as I do not have a "voxelstreamimage" but I do have a "voxelstreamfile" and a "voxelgeneratorheightmap" so my project is dead in the water befor I can even get it started
@TokisanGames
@TokisanGames 4 года назад
You can build your own binaries. The process is not complicated and well documented. Hardly enough to kill your project. There are far greater challenges coming in your journey than building the engine. My binaries and demo are there to get one started trying it out, not necessarily for production ready games.
@jamian_eg0istique
@jamian_eg0istique 6 месяцев назад
I don't like that for godot people just making free addons but don't explain how to make it on your own and even how to change their addons.
@TokisanGames
@TokisanGames 6 месяцев назад
I'm not sure I understand what you mean. You don't like that people make free addons for you to use? Instead, you'd rather we spend our time teaching you how to make your own addons or change them? The Godot docs already show how to make addons. Search "making plugins" in the documentation. As for modifying any existing open source plugin (like our newest Terrain3D), any developer can do that. You need to know how to program, which is out of scope for my tutorials. There are plenty of classes and videos online that can teach you how to program.
Далее
Yana bir yangi qo'shiq YORAM BIYO | Yaqin kunlarda
00:57
#JasonStatham being iconic
00:38
Просмотров 342 тыс.
Using Terrain3D in Godot 4 - Part 1
23:48
Просмотров 45 тыс.
I Made My First Game in Godot in 3 Weeks...
26:21
Просмотров 314 тыс.
I made an EVEN BETTER Minecraft
12:30
Просмотров 325 тыс.
Making a Voxel Engine from SCRATCH (w/ Destruction)
14:31
The biggest lie in video games
15:18
Просмотров 1,8 млн
I Tried To Beat Minecraft Backwards
18:53
Просмотров 1,4 млн
I Optimised My Game Engine Up To 12000 FPS
11:58
Просмотров 646 тыс.
I Created a Game Engine Just to Optimise This
4:50