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 agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.