SoftMask_Demo.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. namespace Coffee.UISoftMask.Demos
  6. {
  7. public class SoftMask_Demo : MonoBehaviour
  8. {
  9. [SerializeField] RawImage[] softMaskBufferViewer;
  10. [SerializeField] SoftMask[] softMask;
  11. [SerializeField] Text text;
  12. [SerializeField] GameObject title;
  13. // Use this for initialization
  14. void OnEnable()
  15. {
  16. title.SetActive(true);
  17. text.text = string.Format("GPU: {0}\nDeviceType: {1}\nShaderLevel: {2}\nUVStartsAtTop: {3}",
  18. SystemInfo.graphicsDeviceName,
  19. SystemInfo.graphicsDeviceType,
  20. SystemInfo.graphicsShaderLevel,
  21. SystemInfo.graphicsUVStartsAtTop);
  22. for (int i = 0; i < softMask.Length; i++)
  23. {
  24. softMaskBufferViewer[i].texture = softMask[i].softMaskBuffer;
  25. }
  26. }
  27. public void SetWorldSpase(bool flag)
  28. {
  29. if (flag)
  30. {
  31. GetComponent<Canvas>().renderMode = RenderMode.ScreenSpaceCamera;
  32. GetComponent<Canvas>().renderMode = RenderMode.WorldSpace;
  33. transform.rotation = Quaternion.Euler(new Vector3(0, 6, 0));
  34. }
  35. }
  36. public void SetScreenSpase(bool flag)
  37. {
  38. if (flag)
  39. {
  40. GetComponent<Canvas>().renderMode = RenderMode.ScreenSpaceCamera;
  41. }
  42. }
  43. public void SetOverlay(bool flag)
  44. {
  45. if (flag)
  46. {
  47. GetComponent<Canvas>().renderMode = RenderMode.ScreenSpaceOverlay;
  48. }
  49. }
  50. }
  51. }