Unity--小地图

  在实现小地图功能之前首先明白说明是Render Texture,或者Render Texture的作用是什么,其实Render Texture是一种特殊的Texture类型,在Unity中,看到的图片通常都是作为Texture被加载和使用的。,因此Render Texture也可以理解为就是一张图片。

  那么为什么说它特殊呢,因为Render Texture的图片来源不是靠外部放进unity项目中,而是通过摄像机渲染当前所看见的场景所得到的,如果给Camera组件中的Render Texture组件进行赋值,那么摄像机对象所见的图像渲染到这个纹理上,而不是直接传递到屏幕上。

明白了什么是Render Texture后就开始小地图的制作

(1)首先搭建一个简单的场景

(2)创建一个新的摄像机(注意要把Audio Listener移除,因为一个场景里面只需要一个Audio Listener)再在assets中创建一个Render Texture,并把该Render Texture赋值给新摄像机的Target Texture

(3)把新摄像机的投影模式改为正交,并且把其调整到垂直正上方(或者是你想要实现的小地图的角度)(注意调整摄像机到当前视角可以直接使用快捷键Ctrl+Shift+F)

 (4)随后创建画布Canvas,再在画布上创建你需要的小地图的图片(注意这里是Raw Image也就是原始图像)(Raw Image和Image最大的区别就在于Image是显示Sprite或Texture2D等纹理,而Raw Image则直接显示Texture或RenderTexture。)

(5)调整好小地图(Raw Image)大小和位置后,就把之前创建的Render Texture赋值给Raw Image即可

最终效果:

 以上是实时小地图图的渲染,即玩家和大地图在小地图中不变,可以根据指定在小地图中显示对应的图标

 方法大致和上方相同,可以在上方的基础上进行添加新的图标

(1)给每个物体添加一个小地图的Icon,包括背景也可以替换(这里就没替换)(添加的新图标需要更改为单独的layer层)

(2) 这里就只需要把新摄像机的剔除遮罩(摄像机渲染哪些图层)(指定渲染Icon层)就可以达到指定图标效果(这里因为没有设定背景,因此背景为灰色)

最终效果:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值