- Home /
Make material always culled.
Is there a way to make a material that will always be invisible (ie. anything using it will not be rendered). Simply setting the material to be completely transparent might not save as much processing.
Answer by phxvyper · May 11, 2015 at 01:25 AM
If you don't want any attempt at rendering it at all:
You can disable any component attached to a game object by setting the enabled
property to false
.
gameObject.GetComponent<Renderer>().enabled = false;
If you still want the camera to attempt to render it:
You can change the Alpha of a material's color to 0 (transparent):
someMaterial.color.a = 0;
Sources:
http://docs.unity3d.com/ScriptReference/Material-color.html
http://docs.unity3d.com/ScriptReference/GameObject-renderer.html
Will it truly cull the material, or will it try to render a transparent mesh... Basically, anything with the material should in theory behave as if it had its mesh renderer disabled, except that only parts with that material are disabled, not the whole thing.
@RLin I didn't completely understand that you wanted it to just not render.
I added some new info in my answer. The game object itself will exist in space, but it will not render.
I guess that was unclear. I'll explain the whole thing. I create sketchup models and import them. The trouble is, sketchup always exports back faces even if export two-sided faces is not checked. To fix this, I made all faces I wanted to cull a single material. Because it is the same mesh, disabling the mesh renderer will disable parts that are still supposed to be rendered.
In that case I think you're out of luck. $$anonymous$$aybe you can import it into another program like 3ds max or maya (there are free copies provided by autodesk) and modify the materials from there, then export from there.
Your answer
Follow this Question
Related Questions
How to set pre-render properties to UGUI Image? 0 Answers
Material doesn't have a color property '_Color' 2 Answers
OUYA Rendering Problem 0 Answers
HDRP shadergraph material not visible in renderTexture if render pass is set to After post process 0 Answers
Determining render order by position 1 Answer