Open CHIESOFTWARE opened 3 years ago
Which kind of collisions are you using? Do you use VoxelBoxMover
or Godot's collision system?
I have not moved any option, since the first time I put the node the collisions work fine. I have not pressed the check button to generate collisions.
the problem started by adding an extra node to the scene, I am using the voxel game example.
So you are using VoxelBoxMover
, I guess.
If you take a look how this one works, you will see that helper is tied to a specific terrain. If you want to switch to another terrain, you have to send that other terrain instead when this is called:
_box_mover.get_motion(get_translation(), motion, aabb, terrain_node)
terrain_node
needs to change. If you didn't, it will still point at the original.
oh ok i will try and let you know , thanks !, give me some time to check
By the way I have another question, how can I get the position of the blocks in the world generator that uses noise 3d ?, unlike the script generator this does not have a function where it returns the origin in voxel or the buffer.
how can I get the position of the blocks in the world generator that uses noise 3d ?
What are you doing exactly? This class is not scriptable. Are you trying to modify it?
In C++ the information is stored in a VoxelBlockRequest
struct, the origin is vailable as input.origin_in_voxels
I want to use the class to create irregular and strange terrain under the ground. I'm not trying to modify it, I just want to access the information to assign a specific block depending on the height, like in the terrain voxel example.
Could you make an example of how to do that with a script?
the examples I have found take into account each block, I see that in the example you work with areas, and then you modify the blocks of the surface.
You want to make caves?
I don't think this class can help, but noise in general is what you could use.
I can't really make an example because it will be just one way with its own pros and cons. Everyone wants some different stuff, and world gen is a bit like cooking within a 3D grid of values so... dunno what you expect. Reasoning in 2D could help. The example in blocky_game
turns 2D noise into a heightmap using a threshold, I suppose 3D noise would also use a threshold of some kind to decide that some voxels should be overriden as air when noise values are above it?
This is outside the topic of your initial issue though
If this is off topic, I apologize for that, I just couldn't find the information I needed in the module documentation.
Yes I suppose I could try that, I have tried that before but did not get the desired result.
As for caves, yes I want something like caves, but seeing the terrain created by the noise generator I thought that's just what I want. I'm trying to get a specific result for the shape of the planet.
I don't want to take more of your time, you are very kind to answer and clarify my doubts, although it was not what I initially wrote for.
i test what you said about collision and work fine, thanks men, and thanks for this module.
I honestly don't know if I'm doing something wrong or there is just a bug, but I couldn't find another way to solve the problem.
My idea is to create several small and cubic planets in the style of minecraft, my solution is to use a voxel terrain node for each planet and adjust the limits of the node.
everything works except the collisions of the second node( I'm testing with two nodes for now ).
What should I adjust to make them work with more than one voxel terrain node in the same scene?