Specifically, is it possible to generate a 3D mesh/terrain that is capable of producing holes that can connect from one part of the mesh to another?

Example: https://www.youtube.com/watch?v=cjAywUh5m2s&t=86s


The BGE does not generate anything. It loads all mesh data from .blend.

Therefore you can generate your mesh within Blender save it inside the blend and load it from there.

This is pretty static (a fixed number of meshes). There are various methods to hide this limitation:

  • combine different "patches" to build an object with variations (Example: puzzle, grid tiles). This works with any structural design and can have any detail (from large patches to very tiny ones). It is important that patches fit together.

  • manipulate the mesh vertices in-game to get variations of the same mesh (Example: terrain as height-map. This does not match your requirements as it is not possible to create bridges and loops.). The basic idea is to ensure the mesh does not look exactly the same as the original. Therefore the limited number of available mesh-"types" is not noticeable that easy.

Both methods can be combined. E.g. you can have an height-map mesh but add bridges and loops as patches on top of it.

  • $\begingroup$ Hmm, okay. It might still be possible, it would just take some creativity and careful placement. Using a grid system there could be a random chance of adding a cave entrance, then that could add another piece to the tunnel (below the starting plane) with the chance of a left turn, right turn, T, X, straight, or an exit that leads to a new plane. It wouldn't be complex by any means, but it could be interesting to explore. I did have some ideas about creating dynamic skyscrapers like this where each floor was different and locked together. $\endgroup$ – Zenet Feb 14 '17 at 6:46
  • $\begingroup$ Might make a fun game if a few different elements like this are put together. Thanks for the answer. I'll keep these methods in mind for future projects :) $\endgroup$ – Zenet Feb 14 '17 at 6:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.