So, forgive me if some of the terminology is wrong, I am just getting started with Unity again and I can't remember the proper names. I'm also on my phone, so I didn't have unity in front of me when I posted this question.

I am beginning work on a voxel based game. Everything in the game will be models constructed of 64 by 64 cubes. I would like to, with the code given, say, a 4096 bit array, be able to construct a model in the game with those cubes. I know that you can programmatically add models that you have imported into unity, but I want to make contiguous meshes programmatically, with highest performance being the goal. I do not want a certain amount of little 1x1 cube meshes positioned right next to each other, but specifically one model.

Is this possible?

  • 1
    \$\begingroup\$ Yes, it's possible. You can use the Mesh class to dynamically create whatever shapes you want. The efficient construction of a mesh from a list of voxels is not trivial though, so a complete solution is likely to be too long for an answer. My advice would be to make a start yourself, and if you run into trouble, ask a question specific to the snag you've hit. \$\endgroup\$ – DMGregory Dec 1 '15 at 15:41
  • \$\begingroup\$ "Is this possible?" is just a yes or no question; you should ask "how?" \$\endgroup\$ – jhocking Jan 1 '16 at 1:41

I would suggest checking out AlexStv's Voxel Tutorial. It's written for C# in Unity3d, has been iterated upon several times, and covers everything from generating the meshes and texture up through setting up collisions and integrating a first-person camera.


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.