I'm working on a voxel game, and I would like to add different properties to the voxels, which are visualised by an extra (transparent) diffuse texture on the voxel's default one.

Voxels could have multiple properties attached to them, and if they do have, their textures are combined. ( = all of the property textures are shown in some order)


  • no property: no extra texture, only the default

  • "voxel is damaged": crack texture is masked on the default one

  • "voxel has gems in itself": gem texture is masked on the default one

  • "voxel has gems" + "voxel is damaged" : crack texture > gem texture > default

How is this implementable in an efficient way?

  • \$\begingroup\$ My current solution is that I just add another transparent material to its Renderer component's material list. But that will result in +1 draw call, isn't it? \$\endgroup\$ – Tudvari Jan 10 at 10:39

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.