简介:
在Unity场景切换的时候,可以用RawImage很简单的制作场景的淡入淡出过渡。
新建RawImage,覆盖全屏,在UI顶层,然后拖到脚本上
代码比较简单,如下:
public class SceneFadeInOut : MonoBehaviour { public float fadeSpeed = 1.5f; public bool sceneStarting = true; private RawImage rawImage; void Awake() { rawImage = GetComponent<RawImage>(); } void Start() { } void Update() { if (sceneStarting) StartScene(); } private void FadeToClear() { rawImage.color = Color.Lerp(rawImage.color, Color.clear, fadeSpeed * Time.deltaTime); } private void FadeToBlack() { rawImage.color = Color.Lerp(rawImage.color, Color.black, fadeSpeed * Time.deltaTime); } void StartScene() { FadeToClear(); if (rawImage.color.a < 0.05f) { rawImage.color = Color.clear; rawImage.enabled = false; sceneStarting = false; } } void EndScene() { rawImage.enabled = true; FadeToBlack(); if (rawImage.color.a > 0.95f) { SceneManager.LoadScene(0); } } void OnDestroy() { } }