stride3d / stride

Stride Game Engine (formerly Xenko)
https://stride3d.net
MIT License
6.45k stars 933 forks source link

Terrain System #54

Open HeadClot opened 6 years ago

HeadClot commented 6 years ago

Hello, Would it be possible to get a terrain system in Xenko?

This has been on the road map for a while and It would be great if we had this in the engine. This would be useful for large scale open world games as well. :)

NewNodeGames commented 6 years ago

Can be a nice feature. Also you can try ANT Landscape add-on from Blender or the displace modifier with a heightmap.

DW01 commented 6 years ago

What sort of terrain system would we use? Heightmaps are tried and true but I have yet to see any real contender take up voxel-based terrain, so it might be worth investigating.

jmkinzer commented 6 years ago

I have done a fair amount of reading and some implementation here. After some more foundational issues are addressed I could see myself creating a plugin. Note there are huge number of ways to go about this so this is definitely something that should lie outside the core engine.

As far as voxels go: heightmaps are vastly more efficient so only worth-while if you really need the kind of terrain topology voxels support. Eric Lengyel's C4 (and now Tombstone) engine has for years had marching cubes with LOD ("transvoxel"). There are more expensive but more appealing approaches such as dual-countering. Again, lots of options.

aaronfranke commented 6 years ago

If you wish to do voxel-based terrain, a system such as Godot's GridMap class could be implemented.

jmkinzer commented 6 years ago

GridMap is a mesh-based level design tool. Not related to voxels in any way.

NewNodeGames commented 6 years ago

Update about terrains: You can create a heightmap based terrain with actual version. With a plane mesh selected go to model settings and scale it and increase tesselation values (equivalent to subdivisions in Blender). Then go to material settings and in Displacement choose displacement map. Select a displacement or heightmap texture and move intensity parameter and others...

SimantoR commented 5 years ago

I think a multi terrain system would be a better approach. Games can have vastly different requirements based on design and having a multi purpose terrain system seems like a nice way to go at it. I hate Unity3D terrain system because it doesn’t slice up the terrain for baking purposes. Personally i would make a terrain system based on heightmaps that automatically chunks up the terrain for baking purposes, or atleast applies multiple lightmaps on one large terrain

HeadClot commented 4 years ago

Looks like PR https://github.com/xenko3d/xenko/pull/561 solves this issue :)

Going to close this as soon as it is merged :)

Eideren commented 4 years ago

Not quite, you can't depict caves and such with height maps