LightBulbSwitch.cs 901 B

123456789101112131415161718192021222324252627282930313233
  1. using UnityEngine;
  2. public class LightBulbSwitch : MonoBehaviour
  3. {
  4. public Light bulbLight;
  5. public Renderer bulbRenderer; // 灯泡玻璃的 Renderer
  6. public Color emissionColorOn = Color.yellow * 5f; // 开灯时发光颜色(亮度可乘以数值)
  7. public Color emissionColorOff = Color.black; // 关灯时不发光
  8. public bool isOn = false;
  9. private void Update()
  10. {
  11. ToggleLight();
  12. }
  13. public void ToggleLight()
  14. {
  15. //isOn = !isOn;
  16. bulbLight.enabled = isOn;
  17. if (isOn)
  18. {
  19. bulbRenderer.material.EnableKeyword("_EMISSION");
  20. bulbRenderer.material.SetColor("_EmissionColor", emissionColorOn);
  21. }
  22. else
  23. {
  24. bulbRenderer.material.SetColor("_EmissionColor", emissionColorOff);
  25. bulbRenderer.material.DisableKeyword("_EMISSION");
  26. }
  27. }
  28. }