小地图制作

来源:互联网 发布:java 生成json对象 编辑:程序博客网 时间:2024/05/17 04:28
1:建立地形以及人物,设置地形Layer为MiniMap
2:新建RnderTexture
3:新建Camera,此摄像机的内容就是显示图片的,将 TargetTexture设置为上面的Rendertexture
4: 设置camera的ClearFlags,Cullingmask,Projection
5:NGUI创建一个Texture,Texture的纹理设置为我们刚才的RnderTexture
6:新建材质,新建一个Shader文件,输入内容如下
Shader "Transparent/Mask"  {     Properties     {        _MainTex ("Base (RGB)", 2D) = "white" {}        _Mask ("Culling Mask", 2D) = "white" {}        _Cutoff ("Alpha cutoff", Range (0,1)) = 0.1     }     SubShader     {        Tags {"Queue"="Transparent"}        Lighting Off        ZWrite Off        Blend Off        AlphaTest GEqual [_Cutoff]        Pass        {                    SetTexture [_Mask] {combine texture}           SetTexture [_MainTex] {combine texture, previous}        }     }  }  


7:将材质拖入到Texture对应的材质上,设置背景图片和裁切图片
8:Texture新建一个精灵,设置为小箭头
9:新建脚本,内容如下:
using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour {    //主角的Transform;    private Transform playerTransform;    //小地图上显示主角的sprite的Transform;    public Transform miniMapArrow;    //显示地图的摄像机的Transform;    public Transform carm;    //预留控制摄像机到主角的高度以供玩家调节小地图大小;    public float hight = 6.89f;    void Start () {        //实例化;        playerTransform = this.transform;        //sprite的tag可自行调节        miniMapArrow = GameObject.FindGameObjectWithTag("Min").transform;    }    void Update()    {        //设置摄像机的位置让其一直处于主角正上方。        carm.transform.position = new Vector3(playerTransform.position.x, playerTransform.position.y+hight, playerTransform.position.z);        //让sprite的旋转方向和主角的面向一致,忽略第六步的可以删除,角度根据模型的设计自行调节        miniMapArrow.rotation = Quaternion.Euler(0, 0, -playerTransform.rotation.eulerAngles.y+180);    }}
10:人物走动的时候,我们可以看到,地图移动了,小地图就实现了
0 0
原创粉丝点击