Unity 游戏光明之光笔记
第一章 欠缺场景

  1. 导入资地形、地貌资源,新建场景,导入地形、地貌prefab
  2. 设置相机与视线匹配
    选中主摄像机,点选菜单栏中GameObject > Align With View
  3. 增加灯光
    Direction light > Intensity 光照强度

  1. 增加鼠标指针
    File > Build Settings > Player Settings

  2. 增加水面

  1. 实现镜头迟缓拉近的成果
public float speed = 10;    //设置速度private float endZ = -20;   //设置完结坐标void Start () {        void Update () {        //判断坐标小于完结坐标        if (transform.position.z < endZ) {            //还没有达到目标地位,须要挪动            transform.Translate( Vector3.forward*speed*Time.deltaTime);        }    }
  1. 增加雾
    Window > Rendering > Lighting Settings > other Settings
  2. 应用UGUI和红色背景给场景增加渐显成果
    增加UI >image 给image增加Canvas Group 组件
    增加一个管制渐显的脚本,在主摄像头中增加办法,其余的动画成果相似这样制作 press的动画成果能够应用timeline制作

    UIFadeTest.Instance.UIShow();
    public float fadeSpeed = 10; //速度    private CanvasGroup canvasGroup;    private float alpha = 1.0f;    private static UIFadeTest instance;    //设置单例    public static UIFadeTest Instance    {        get { return instance; }    }    void Start()    {        instance = this;        canvasGroup = this.gameObject.GetComponent<CanvasGroup>();    }    // Update is called once per frame    void Update()    {        if (alpha != canvasGroup.alpha)        {    canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, alpha, fadeSpeed * Time.deltaTime);            if (Mathf.Abs(canvasGroup.alpha - alpha) < 0.01f)            {                canvasGroup.alpha = alpha;            }        }    }      public void UIShow() {        alpha = 0;        canvasGroup.blocksRaycasts = false;    }}
  1. 增加鼠标点击事件
    在点击Press后显示按钮,先让newgame和loadgame按钮不激活
    private bool isAnyKeyDown = false;//示意是否有任何按键按下    private GameObject buttonContainer;    void Start()    {        buttonContainer = this.transform.parent.Find("buttonContainer").gameObject;    }    // Update is called once per frame    void Update()    {        //断定没有按键按下        if (isAnyKeyDown == false)        {            //如果按下显示案件            if (Input.anyKey)            {                {                    ShowButton();                }            }        }        //开始和加载按钮显示办法        void ShowButton()        {            buttonContainer.SetActive(true);            this.gameObject.SetActive(false);            isAnyKeyDown = true;        } }

newgame和loadgame按钮鼠标事件
1 游戏数据的保留,和场景之间游戏数据的传递应用 PlayerPrefs
2 场景的分类
2.1 开始场景
2.2 角色抉择界面
2.3 游戏玩家打怪的界面,就是游戏理论的运行场景

 //开始新游戏    public void OnNewGame() {        PlayerPrefs.SetInt("DataFromSave", 0);         // 加载咱们的抉择角色的场景 2    }    //加载曾经保留的游戏    public void OnLoadGame() {        PlayerPrefs.SetInt("DataFromSave", 1); //DataFromSave示意数据来自保留        //加载咱们的play场景3    }
  1. 给开始场景增加背景声音和按钮点击的声音
    在主摄像机增加BGM音乐

    在newgame和loadgame按钮上别离增加playsound脚本