-
-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues regarding getting terrain data #83
Comments
Overall, some of this are things already reported, that could be added to the module to help accomplish them, and other things are up to you. |
No rush, I was just asking as I more or less completed the road system and think about how I can make it work with voxel system having noise as main source but tweaking it for roads and buildings. Thanks for your answers, it is more or less clear now. Would be nice to have some foliage aid though as parsing meshes is too expensive to be realistic and VoxelLodTerrain does not support raycasting, so kind of surface helper would be nice. Detour can help with this though which will need some heavy coding and I think an overkill in this case as the info should be available from voxel system (getting all voxels having open surface, i.e. voxel querying for attributes). Or at least voxel tagging with custom data would be nice too for example for fx (i.e. walking on sand surface should produce sand particles, walking on snow or mud should produce footprints, etc.) so having kind of quieyable database would be nice. Detour will be needed anyway to detect climbable areas and ledges and other surface characteristics but that is usually done in smaller scope than whole terrain chunk... If that is soemthing which can be effectively implemented outside the module would be nice to know some idea. |
It does if you have collision shapes, but it doesn't if all you have is voxel data. It's possible to implement, though. If you don't need high precision even a naive method can be easy enough.
I think so? But maybe not if you use a texture array (might be workable with an atlas). |
About water - precisely I want to find a limited surface object which is a triangulatable contour of water surface which will be generated and area object which will add cube with underwater shader when camera is considered submerged. These come in various sizes because main source of height is noise. The reason to have water implemented this way is ability to modify geometry for boats to not have "water" inside them and simulate "proper" water physics. |
There are many methods to place objects, grass, trees, etc. You could use a multimesh for some things. Here's a method to add grass.
This used to be true but not for a few months. Where did you get this information? Did I leave this note in the docs somewhere? As long as you keep collision enabled, you can run a normal raycast. In fact, I think my fps_demo character uses a raycast collision shape. You could have your world builder script use raycasts to place objects on the terrain using raycasts. Start at a Y above the noise height_start + height_range and shoot down with large distances, or repeat at intervals until you hit something. Then shoot all around to get an idea of the landscape around the hitpoint (i.e. slope). Or you could drop objects from high up and just let the physics engine place them wherever they land. Trees have some logic to ensure they end upright. |
Well, that would add unwanted visual artifacts. Also this does not solve
cave floor placement.
Also particle method (as well as multimesh) is costly on rendering for some
reason and does not work on GLES2 renderer of Godot.
Manual batching of grass into mesh works quite well but requires all
coordinates at once, so my question would be about how
to get all floor coordinates with normal facing up enough to consider these
a floor. Would be nice to know that.
As I understand that might belong to stream code, but have no idea about
how I could use these effectively. Would be nice
to know proper consistent architecture for this.
…On Sat, Nov 9, 2019 at 11:59 PM Cory Petkovsek ***@***.***> wrote:
There are many methods to place objects, grass, trees, etc.
You could use a multimesh for some things.
Here's a method to add grass.
https://www.youtube.com/watch?v=uMB3-g8v1B0
VoxelLodTerrain does not support raycasting
This used to be true but not for a few months. Where did you get this
information? Did I leave this note in the docs somewhere? As long as you
keep collision enabled, you can run a normal raycast. In fact, I think my
fps_demo character uses a raycast collision shape.
You could have your world builder script use raycasts to place objects on
the terrain using raycasts. Start at a Y above the noise height_start +
height_range and shoot down with large distances, or repeat at intervals
until you hit something. Then shoot all around to get an idea of the
landscape around the hitpoint (i.e. slope).
Or you could drop objects from high up and just let the physics engine
place them wherever they land. Trees have some logic to ensure they end
upright.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#83?email_source=notifications&email_token=AAABPUZFF75IKONNCZRHV5TQS4QBVA5CNFSM4JLFATIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDUPCII#issuecomment-552136993>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAABPU747L7YPFCLTW6EOGTQS4QBVANCNFSM4JLFATIA>
.
|
I'll close this for now because although some things are relevant, subject is too broad / lists many different things that should be their own issue. |
Hi @Zylann, thank you for your great tool!
I need a few specific things so I ask you to pause for a bit and answer my poorly formed questions.
I create terrain for my game. Your smooth voxel terrain works great, but I need more.
Where should I look to do that?
2.1 get height information for road to match terrain so to be able to put city streets in there,
so to avoid too rough areas.
2.2 be able to smooth-out terrain to match road (not penetrate it).
what would be best approach?
The text was updated successfully, but these errors were encountered: