LuxURPCustomShaderGUI.cs 1008 B

1234567891011121314151617181920212223242526272829
  1. using UnityEngine;
  2. using UnityEditor;
  3. public class LuxURPCustomShaderGUI : ShaderGUI
  4. {
  5. public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)
  6. {
  7. base.OnGUI(materialEditor, properties);
  8. Material material = materialEditor.target as Material;
  9. MaterialProperty _Emission = ShaderGUI.FindProperty("_Emission", properties);
  10. if (_Emission.floatValue == 1.0f) {
  11. material.globalIlluminationFlags = MaterialGlobalIlluminationFlags.BakedEmissive;
  12. }
  13. else {
  14. material.globalIlluminationFlags = MaterialGlobalIlluminationFlags.BakedEmissive;
  15. material.globalIlluminationFlags |= MaterialGlobalIlluminationFlags.EmissiveIsBlack;
  16. }
  17. // Needed to make the Selection Outline work
  18. if (material.HasProperty("_MainTex") && material.HasProperty("_BaseMap") ) {
  19. if (material.GetTexture("_BaseMap") != null) {
  20. material.SetTexture("_MainTex", material.GetTexture("_BaseMap"));
  21. }
  22. }
  23. }
  24. }