关于unity:Unity-游戏黑暗之光笔记第一章-完善场景

51次阅读

共计 1905 个字符,预计需要花费 5 分钟才能阅读完成。

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 脚本

正文完
 0