unity簡易小地圖的實現(NGUI)


首先,我們在場景中添加一個攝像機叫做minimapCamera, 把上面的Audio Listener組件去掉,調整攝像機位置,將其置於角色正上方,如圖

新建一個Texture我們叫做minimapTexture,作為minimapCamera的Target Texture

在UI Root下面新建一個Simple Texture叫做minimap,將剛才的minimapTexture賦值給minimap的Texture屬性,創建兩個按鈕用於放大和縮小視野

給minimap添加一個腳本Minimap,控制小地圖有關功能

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class Minimap : MonoBehaviour 
 5 {
 6     private Camera minimapCamera;
 7     private Transform player;
 8     private Vector3 offsetPosition;
 9     // Use this for initialization
10     void Start () 
11     {
12         minimapCamera = GameObject.FindGameObjectWithTag(Tags.MINIMAP_CAMERA)
13             .GetComponent<Camera>();
14         player = GameObject.FindGameObjectWithTag(Tags.PLAYER).transform;
15         offsetPosition = minimapCamera.transform.position - player.position;
16     }
17 
18     void Update()
19     {
20         minimapCamera.transform.position = offsetPosition + player.position;
21     }
22     public void ZoomInButtonClick()
23     {
24         minimapCamera.fieldOfView += 10;
25     }
26 
27     public void ZoomOutButtonClick()
28     {
29         minimapCamera.fieldOfView -= 10;
30     }
31 }

通過改變minimapCamera的fieldOfView的值來控制小地圖視野的縮放,通過設置與角色距離保持不變來實現相機跟隨角色

 

在小地圖中像某些Npc通常以圖標方式顯示出來,怎么實現這個要求呢?

我們可以在npc模型上方新建一個Quad,並賦予相應的圖標貼圖,然后所有Npc創建一個layer NPC,所有圖標創建一個layer

NpcIcon,在主攝像機上渲染NPC層,在小地圖攝像機上渲染NpcIcon層即可

 

最終效果


免責聲明!

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



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