Unity3D新手教學,讓你十二小時,從入門到掌握!(二) [轉]


繼續上一講的內容,首先呢,
為了接下來要做的小游戲,在這里我要小小的修改一下移動的代碼。

public class PlayerMove : MonoBehaviour {

    //定義移動的速度
    public float MoveSpeed = 8f; void Start () { } void Update () { //如果按下W或上方向鍵 if(Input.GetKey(KeyCode.W)||Input.GetKey(KeyCode.UpArrow)) { MoveForward(); } if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) { MoveBack(); } if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { MoveLeft(); } if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { MoveRight(); } } void MoveForward() { this.transform.Translate(Vector3.forward * MoveSpeed * Time.deltaTime); } void MoveBack() { this.transform.Translate(Vector3.back * MoveSpeed * Time.deltaTime); } void MoveLeft() { this.transform.Translate(Vector3.left * MoveSpeed * Time.deltaTime); } void MoveRight() { this.transform.Translate(Vector3.right * MoveSpeed * Time.deltaTime); } }

這樣寫是為了便於以后可以自由的擴展功能,而且便於管理。

那么,現在我們要為下面要做的游戲做一個小小的策划。

  • 首先。我們要做一個3D版的是男人就下一百層。
  • 第二。我們需要三個可以跳躍的方塊:向左移動的、向右移動的、不動的。
  • 第三。為了增加游戲難度,我們要設置方塊只能停留數秒就消失。
  • 第四。可移動的方塊踩到后就要停止運動。
  • 第五。人物沒有跳躍能力,只能前后左右。

OK,策划暫時就是這樣,那么,我們就從方塊開始入手。
三個方塊,不動的方塊我們就用現在的地板為模型,Ctrl+D復制出來一個,然后改名為StaticCube。然后接着復制出兩個,分別命名為LeftCube、RightCube。

將這些方塊按階梯式布局,以便測試,然后運行游戲,可以看到,Player下去以后就再也上不來了。2333333

這里寫圖片描述

現在,我們開始讓木塊動起來。

那么,木塊的代碼我們要怎么寫?總不會寫兩個吧?向左一個單獨的代碼,向右一個單獨的代碼?
在我們沒有更好的思路之前,先按着這個思路我們繼續進行。。。

新建兩個C#腳本,分別命為LeftCubeMove與RightCubeMove。在這里寫Cube的移動代碼。以Left為例:

public class LeftCubeMove : MonoBehaviour { //定義Cube的初始移動速度 public float CubeSpeed = 1f; void Start () { } void Update () { //使Cube的移動速度每一幀都增加 CubeSpeed += 0.1f; //使Cube以CubeSpeed為速度向左移動 this.transform.Translate(Vector3.left * CubeSpeed * Time.deltaTime); } }

然后將這兩個腳本分別托給相應的Cube,運行游戲,可以看到Cube自己開始移動了。

那么我們怎樣才能做到Player落在Cube上,Cube就停止移動呢?

所以問題來了,我們怎樣判斷Player是否落在Cube上了呢?

在這里我為大家做個解釋:這就好比我在背后打你一拳,你並沒看到,但是你知道有人打你,你為什么知道有人打你呢?因為你能感覺到,你是一個具有感覺能力的人。

所以,我們要讓Cube也有具有感覺,那就是為Cube添加碰撞器。
在我們新建Cube的時候,Unity會自動為Cube添加一個Box Collider,
那么我們需要做的就是將Is Trigger選上,這個是觸發器。

這里寫圖片描述

至於如何檢測碰撞,我會在下一講繼續為大家講解。

在這一講結束前,我來教大家一個高大上的投影調法。

首先點擊我們的光源:Directional light,然后右邊有一個Light的選項面板,可以看到有Shadow Type的選項,這個的意思是陰影類型。
將他設置為:Soft Shadows

這里寫圖片描述

然后將下面聯動出來的Resolution(分辨率)設置為Very Hight Resolution(非常高的分辨率)。

這里寫圖片描述

然后大家就可以看到非常清晰的影子了。

大家也可以在設計師圖中找到光源,去調整光的投射角度,可以更好的找到游戲的體驗效果。

好了,這一講到此結束,謝謝大家的關注。

第一講鏈接:Unity3D新手教學,讓你十二小時,從入門到掌握!(一)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM