Unity 3DRPG笔记:基础知识(一)

261 阅读1分钟

SceneFader 场景转换的渐入渐出

一、用户界面

Timeline,可以用来制作castthing,比如一个场景触发,播放动画,播放过程玩家无法操作人物,播放指定动画,显示字母等

image.png

需要选中物体创建timeline image.png

拖拽物体到timeline左边的资源库,创建animation track image.png

然后创建Animation Track因为player有Animator,可以直接拖拽赋值 image.png

然后把player动画拖到timeline上 修改动画播放模式Loop image.png

二、脚本编程

拿到控制权 PlayableDirector director; image.png

用找类的方式找到函数值: director = FindObjectOfType<PlayableDirector>()

控制时间线播放(Timeline): director.Play();

时间线播放完执行NewGame函数 director.Stopped+=NewGame

不要在场景转换时将其销毁 DontDestroyOnLoad (gameObject)

协程套协程的方式实现渐入渐隐

    public IEnumerator FadeOutIn()
    { 
        yield return FadeOut (fadeOutDuration);
        yield return FadeIn  (fadeInDuration);
    }
    public IEnumerator FadeOut(float time)
    { 
        while (canvasGroup.alpha !=1) 
        {
            canvasGroup.alpha += Time.deltaTime / time;
            yield return null;
        }
    }
    public IEnumerator FadeIn(float time)
    {
        while (canvasGroup.alpha !=0)
        {
            canvasGroup.alpha -= Time.deltaTime / time;
            yield return null;
        }
    }