Smooth Voxel Terrain Generation In Godot

Поделиться
HTML-код
  • Опубликовано: 4 фев 2025

Комментарии • 33

  • @TokisanGames
    @TokisanGames  5 лет назад +11

    Oops, the keyword is "Isosurface Extraction".
    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/

  • @Crisisdarkness
    @Crisisdarkness 5 лет назад +4

    Wow, this looks so cool, this channel is quite impressive, thank you, I'm glad to be on this channel. Based on this project, the possibilities of creating worlds are endless, and I have been impressed that information can be extracted from real maps, by means of that black and white texture.

  • @GamedevLlama
    @GamedevLlama 5 лет назад +6

    well done! Godot needs more of these videos to let people see what's already possible!

  • @johnnewton7401
    @johnnewton7401 5 лет назад +3

    You're doing some really cool stuff on your channel! Looking forward to more. I would definitely be interested in longer form, more in-depth tutorials or guides from you if you were ever interested in producing content like that! Cheers!

  • @Toskyval
    @Toskyval 5 лет назад +9

    Looks like the only ""limit"" of this tool is that you lose yourself in the 3D editor when you search the single area you wanna retouch with Godot 'brushes' :p
    Really dope btw, roguelike games in big roaming maps like Daggerfall Unity.

  • @emi_cpl
    @emi_cpl 5 лет назад +2

    Amazing video! keep it up :)

  • @FrancoisSchnell
    @FrancoisSchnell 5 лет назад +2

    Wow, very impressed, keep it up! :)

  • @ZZKJ396
    @ZZKJ396 5 лет назад +4

    Godot really needs this, potentially a much better solution that is shipped with Unity.

    • @KaletheQuick
      @KaletheQuick 5 лет назад

      Unity has a built in voxel engine?

  • @feriante777
    @feriante777 5 лет назад +2

    Really cool! Is possible to make an underwater effect with an area and activating fog and/or other post-processing effects. Also the character can enter on a fly mode simulating the swimming..

    • @TokisanGames
      @TokisanGames  5 лет назад

      Yes those are possible. I don't think Godot does volumetric fog yet, only distance/height fog so that might be challenging for the moment.

  • @KaletheQuick
    @KaletheQuick 5 лет назад +2

    I tried to hire the guy who made MapMagic and Voxeland to port them to Godot, but he didn't get back to me. Guess this will do.

  • @hekkibork
    @hekkibork 5 лет назад +3

    no -mans-Sky beta :D

  • @GamedevLlama
    @GamedevLlama 5 лет назад +2

    Also I'm not sure if auto changing the brightness on the real height map is an option, since the proportions of the gray values already are in a decent space?

    • @TokisanGames
      @TokisanGames  5 лет назад +1

      Yeah, if you want the real Finland I guess you should just leave it. But if you want an interesting terrain with peaks and valleys, you'll want to make use of the full tonal range as I did.

  • @Toskyval
    @Toskyval 5 лет назад +1

    Will be possible to use a mesh as a boolean to sculpt/subtract the voxel terrain? Like you make a tunnel shape in Blender, then use that tunnel mesh in the voxel terrain which will adapt to this mesh.

    • @TokisanGames
      @TokisanGames  5 лет назад

      I've not heard anything about constructive geometry like functionality being planned. However, you can currently generate tunnels fairly simply with code using the same add/remove functions I use in these videos. In this issue we show graphics demonstrating this: github.com/Zylann/godot_voxel/issues/72

  • @louiscs5943
    @louiscs5943 4 года назад +1

    can you "dig" squares in your app?

  • @voxelamateur
    @voxelamateur 5 лет назад +2

    Great!! btw, are terrain shadows being re-rendered each frame?

    • @TokisanGames
      @TokisanGames  5 лет назад +3

      Yes, there's nothing baked. Just one directional light. On the LOD terrain, my GTX 1060 runs at over 300 fps @ 1080p.

  • @deusxyz
    @deusxyz 5 лет назад +2

    Hey mate, is there a way to get the smoothed terrain but by using the original voxel data? Or did you use storage into 8 points like the original marching cubes algorithm?

    • @TokisanGames
      @TokisanGames  5 лет назад +1

      This module gets voxel data from a heightmap, a 3D noise function, or your can provide your own code like an SDF. This is similar to the original MC implementation which shows a sphere, cylinder, and sine wave SDFs. Data from the SDF is stored in a buffer, which is where modifications are made. The mesh is generated from that buffer.

    • @deusxyz
      @deusxyz 5 лет назад

      @@TokisanGames Thank you umm... i tried to interpret this but, well, is it stored as a byte per type like voxels (solid, and air for example), or is it stored in 8 bytes (per corner of the cubes)?
      Because i looked at the original marching cube over the years and tried implementing but most store the data in the points like this:
      catlikecoding.com/unity/tutorials/marching-squares/

    • @deusxyz
      @deusxyz 5 лет назад +1

      ​@@TokisanGames This demo inspires me a bit to make a game more realistic then simple cubes xD
      So far i've got basic terrain and i finally got it to work fast enough :D
      facebook.com/MrPenguinStudios/videos/401991750339119/

    • @TokisanGames
      @TokisanGames  5 лет назад

      @@deusxyz ​ If you want more info about the implementation and how the Voxels are stored, look at the source. I linked Zylann's github repository which has all the C++ code. Look at VoxelBuffer and VoxelBlock (a chunk).

    • @deusxyz
      @deusxyz 5 лет назад +1

      @@TokisanGames thank you, you are a legend.

  • @AFXSnares
    @AFXSnares 5 лет назад +2

    Torilla tavataan!

  • @WittyRpedU
    @WittyRpedU 5 лет назад +1

    how would you get a height of a voxel at a set X/Z location?

    • @TokisanGames
      @TokisanGames  5 лет назад

      The global height at X, Z is just Y. If you shoot a raycast down, it will return the vector3 position of the terrain, which includes the height as Y.

  • @metalim
    @metalim 5 лет назад +1

    What happened to third video in series? 2 weeks already.

    • @TokisanGames
      @TokisanGames  5 лет назад +1

      It's in process. Rome wasn't built in a day! 😉

  • @djdols3301
    @djdols3301 4 года назад

    does this work with gles 2?