Unity 打造簡易小地圖教學
文、查理
玩遊戲的時候常常需要小地圖,來提供玩家目前所在的位置,以及附近是否有怪物,或是任何寶物,特殊隱藏設定等。
遊戲小地圖要如何製作呢?
會不會非常的困難?
需要寫非常多的程式嗎?
如果使用Unity製作,只要幾行程式碼,就可以完成了,也不需要做太多的設定,這都是因為Unity提供了非常強大的各項功能,首先我們可以到Unity官方網站的Asset Store素材商店,下載一個簡單的場景來做測試。
場景的功能,主要需要設定三個部分:
第一部分,在網頁尋找場景
Unity Asset Store > 3D類別,搜尋:Scene,Pricing(價格):0(免費)
點選Polylised - Medieval Desert City項目,即可看到素材的相關預覽圖片或影片、版本、檔案大小等資訊。
將檔案的名稱複製後,即可開啟Unity軟體,在Unity裡下載檔案。
第二部分,下載場景
01. 在Unity開啟素材商店面板
Window > Asset Store
02. 註冊一個帳號
註冊並登入後,搜尋:Polylised - Medieval Desert City
03. 點選
點選該項目進入下載頁面後,先點選Download下載完成後,再點選Import匯入Project素材庫
第三部分,場景設定
01. 在Project(素材庫),展開Polylised - Medieval Desert City資料夾,再點開Demo資料夾,點擊2次Demo_01,打開範例場景檔。
02. 建立一個膠囊物件,當作玩家
GameObject > 3D Object > Capsule
03. 在Inspector(屬性)欄位設定玩家位置
Transform > Position X : 0 ,Y : 1, Z : -3
04. 在Hierarchy(物件清單),點擊2次Capsule(玩家物件),即可在Scene(場景視窗)快速切換到物件位置
05. 在Inspector(屬性)欄,點擊2次Core展開,將Main Camera(主相機)物件,拖曳到Capsule(玩家)物件上,讓Main Camera(主相機)物件成為玩家子物件,跟隨玩家移動,成為第一人稱視角。
點選Main Camera(主相機)物件,在Inspector(屬性)欄位設定位置
Transform > Position X : 0 ,Y : 2, Z : 0
這時候我們可以新增一個玩家控制的程式碼Movement,如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour {
public float speed = 10f;
public float rotateSpeed = 50f;
private Vector3 movement;
private float rotation;
void Update ()
{
movement.z = Input.GetAxis("Vertical") * speed * Time.deltaTime;
rotation = Input.GetAxis("Horizontal") * rotateSpeed * Time.deltaTime;
}
void FixedUpdate ()
{
transform.Translate(movement, Space.Self);
transform.Rotate(0f, rotation, 0f);
}
}
完成之後,再將程式碼拖曳到Capsule玩家物件上,播放測試看看,按下鍵盤的方向鍵,即可開始移動我們的玩家物件
小地圖的功能,主要需要設定三個部分:
第一部分:製作小地圖攝影機
GameObject > Camara
將Camera(小地圖相機)物件,拖曳到Capsule(玩家)物件上,讓Camera(小地圖相機)物件成為玩家子物件,跟隨玩家移動。
Camera(小地圖相機)物件,在Inspector(屬性)欄位設定位置在玩家正上方,並向下方觀看
Transform,
Position X : 0 ,Y : 150, Z : 0
Rotaition X : 90 ,Y : 0, Z : 0
Camera,
Projection : Orthographic
Size : 15
第二部分:製作小地圖圖片
開啟選單GameObject > UI > Raw Image
1. 在Inspector(屬性)欄位設定
Width:350(按鈕寬度)
Height:350(按鈕高度)
Pos X:-200(與右方的間距)
Pos Y:-200(與上方的間距)
2. Anchor Preset 設定為對齊右上角
3. 設定遊戲解析度,在Hierarchy(物件清單),點擊Canvas
UI Scale Mode : Scale With Screen Size(圖片文字隨著螢幕比例縮放)
Reference Resolution : X : 1920, Y : 1080(螢幕解析度)
第三部分:製作小地圖貼圖
在Project(素材庫),按下 Create按鈕,增加一個Render Texture
將Camera(小地圖相機)的畫面指定給貼圖,在Hierarchy(物件清單),點選Camera(小地圖相機)物件,再將Project(素材庫)的New Render Texture拖曳到Inspector(屬性)欄位Target Texture的內容。
將Camera(小地圖相機)的畫面貼圖,指定給小地圖圖片,在Hierarchy(物件清單),點選Raw Image(小地圖圖片)物件,再將Project(素材庫)的New Render Texture拖曳到Inspector(屬性)欄位Texture的內容
播放測試看看,按下鍵盤的方向鍵,即可開始移動我們的玩家物件,小地圖也會跟著移動了。