Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- public static class MaterialUtility
- {
- public static void SetAlpha(this Material m, float newAlpha)
- {
- var color = m.GetColor("_Color");
- color.a = newAlpha;
- m.SetColor("_Color", color);
- }
- public static void ChangeMaterialToTransparent(this Material material)
- {
- ChangeMaterialToTransparent(material, (int)UnityEngine.Rendering.RenderQueue.Transparent);
- }
- public static void ChangeMaterialToTransparent(this Material material, int renderQueue)
- {
- material.SetInt("_Mode", 3);
- //material.SetOverrideTag("RenderType", "Transparent");
- material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
- material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
- material.SetInt("_ZWrite", 0);
- material.DisableKeyword("_ALPHATEST_ON");
- material.DisableKeyword("_ALPHABLEND_ON");
- material.EnableKeyword("_ALPHAPREMULTIPLY_ON");
- material.renderQueue = renderQueue;
- }
- public static void ChangeMaterialToFade(this Material material)
- {
- ChangeMaterialToFade(material, (int)UnityEngine.Rendering.RenderQueue.Transparent);
- }
- public static void ChangeMaterialToFade(this Material material, int renderQueue)
- {
- material.SetInt("_Mode", 2);
- //material.SetOverrideTag("RenderType", "Transparent");
- material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
- material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
- material.SetInt("_ZWrite", 0);
- material.DisableKeyword("_ALPHATEST_ON");
- material.EnableKeyword("_ALPHABLEND_ON");
- material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
- material.renderQueue = renderQueue;
- }
- public static void ChangeMaterialToOpaque(this Material material)
- {
- ChangeMaterialToOpaque(material, (int)UnityEngine.Rendering.RenderQueue.Geometry);
- }
- public static void ChangeMaterialToOpaque(this Material material, int renderQueue)
- {
- material.SetInt("_Mode", 0);
- //material.SetOverrideTag("RenderType", "Opaque");
- material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
- material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
- material.SetInt("_ZWrite", 1);
- material.DisableKeyword("_ALPHATEST_ON");
- material.DisableKeyword("_ALPHABLEND_ON");
- material.EnableKeyword("_ALPHAPREMULTIPLY_ON");
- material.renderQueue = renderQueue;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement