制作小地图

**

制作小地图

1.preject面板下右键新建一个rander Texture

2.在人物上方创建图标

3.更改图标图层

4.改变主相机属性面板Culling Mask中可以看到的东西

5.调整摄像机照射范围

6.创建Raw image

7.将前面创建的rander Texture赋值给Raw image

8.创建副相机

9.将rander Texture赋值给副相机

10.更改主人物的图层

11.改变副相机属性面板Culling Mask中可以看到的东西
在这里插入图片描述
创建一个脚本
using UnityEngine;
using System.Collections;

public class MiniMapCameraFollow : MonoBehaviour {

private Transform playerTra;
private float xMin;
private float xMax;
private float zMin;
private float zMax;

// Use this for initialization
void Start () 
{
    //自动计算边界值
    GameObject player = GameObject.FindGameObjectWithTag("Player");
    GameObject ground = GameObject.FindGameObjectWithTag("Ground");
	playerTra = GameObject.FindGameObjectWithTag("Player").transform;

    Vector3 playerSize = player.GetComponent<MeshFilter>().mesh.bounds.size;
    Vector3 groundSize = ground.GetComponent<MeshFilter>().mesh.bounds.size;
    Vector3 playerScale = player.transform.localScale;
    Vector3 groundScale = ground.transform.localScale;

    float cameraSize = GameObject.FindGameObjectWithTag("MiniMapCamera").GetComponent<Camera>().orthographicSize;

    float x = groundSize.x * groundScale.x / 2 - playerSize.x * playerScale.x / 2 - cameraSize / 2;
    float z = groundSize.z * groundScale.z / 2 - playerSize.z * playerScale.z / 2 - cameraSize / 2;

    xMin = -x + ground.transform.localPosition.x;
    xMax = x + ground.transform.localPosition.x;
    zMin = -z + ground.transform.localPosition.z;
    zMax = z + ground.transform.localPosition.z;
}

// Update is called once per frame
void Update () 
{
    float x = Mathf.Clamp(playerTra.localPosition.x,xMin,xMax);
    float z = Mathf.Clamp(playerTra.localPosition.z,zMin,zMax);
    transform.position = new Vector3(x,5,z);
}

**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值