nav分隔線 nav分隔線

Unity 打造簡易小地圖教學

icon_fb icon_twitter icon_google
Unity 打造簡易小地圖教學

文、查理

 

玩遊戲的時候常常需要小地圖,來提供玩家目前所在的位置,以及附近是否有怪物,或是任何寶物,特殊隱藏設定等。

 

遊戲小地圖要如何製作呢?
會不會非常的困難?
需要寫非常多的程式嗎?

 

如果使用UNITY製作,
只要幾行程式碼,就可以完成了~

也不需要做太多的設定

 

這都是因為UNITY提供了非常強大的各項功能,

首先我們可以到UNITY官方網站的ASSET STORE 素材商店,下載一個簡單的場景來做測試。

 

 

場景的功能,主要需要設定三個部分:

 

第一部分,在網頁尋找場景

 

網頁尋找場景

 

 

Unity Asset Store > 3D類別,搜尋:SCENE,PRICING(價格):0 (免費)

 

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

 

在Project(素材庫),按下 Create按鈕,增加一個Render Texture

 

將Camera(小地圖相機)的畫面指定給貼圖,

在Hierarchy(物件清單),點選Camera(小地圖相機)物件,再將Project(素材庫)的New Render Texture

拖曳到Inspector(屬性)欄位Target Texture的內容。

 

Target Texture

 

將Camera(小地圖相機)的畫面貼圖,指定給小地圖圖片,

在Hierarchy(物件清單),點選Raw Image(小地圖圖片)物件,再將Project(素材庫)的New Render Texture

拖曳到Inspector(屬性)欄位Texture的內容

 

播放測試看看,按下鍵盤的方向鍵,即可開始移動我們的玩家物件,小地圖也會跟著移動了。

 

complete

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策