Unity 打造簡易小地圖教學
文、查理
玩遊戲的時候常常需要小地圖,來提供玩家目前所在的位置,以及附近是否有怪物,或是任何寶物,特殊隱藏設定等。
遊戲小地圖要如何製作呢?
會不會非常的困難?
需要寫非常多的程式嗎?
如果使用UNITY製作,
只要幾行程式碼,就可以完成了~
也不需要做太多的設定
這都是因為UNITY提供了非常強大的各項功能,
首先我們可以到UNITY官方網站的ASSET STORE 素材商店,下載一個簡單的場景來做測試。
👉🏻 Unity 3D 打造遊戲地圖、學會遊戲開發技能,輕鬆掌握實境遊戲製作!
場景的功能,主要需要設定三個部分:
第一部分,在網頁尋找場景
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的內容
播放測試看看,按下鍵盤的方向鍵,即可開始移動我們的玩家物件,小地圖也會跟著移動了。
FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan
痞客邦Blog:http://lccnetvip.pixnet.net/blog