理论:
等比例映射:
1. 玩家的位置 - 大地图的位置 = 相对位置
2. X 方向的比例: 相对位置 x / 大地图的宽
Z 方向的比例: 相对位置 z / 大地图的长
3. 小地图(箭头)位置 X = 小地图的宽 * X 方向的比例
小地图(箭头)位置 Y = 小地图的高 * Z 方向的比例
4. 旋转 玩家的 Y 值 映射 小地图头像的 Z 值
此脚本挂在 Canvas 上。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LitMap : MonoBehaviour
{
Transform playerPos; // 玩家
Terrain terrainPos; // 地形
RectTransform arrow; // 小地图箭头
RectTransform parentRect; // 小地图
void Start()
{
// 通过标签查找对象
playerPos = GameObject.FindWithTag("Player").transform;
terrainPos = GameObject.FindWithTag("Terrain").GetComponent<Terrain>();
arrow = GameObject.FindWithTag("Arrow").GetComponent<RectTransform>();
// 小地图