【Unity3D_常用模块】 MiniMap 小地图
2015-09-16 10:50
615 查看
模块功能:MiniMap小地图,主要用于各类RPG游戏的预览地图。
所需资源:
1.maskShader.shader:用于做Mask遮罩(也可用uGUI自带的mask,但是边缘会出现锯齿,故放弃,如若有想看效果比较效果的网友,自行尝试,这里就不做演示了)
2.原理:用一个Camera跟随player,实时照射Player为中心的画面,渲染到rendererTexture上,再用maskShader对其进行遮罩,最终通过RawImage显示到画面上。
操作步骤:
步骤一:添加Layer层级。
Map:地图层级,可用于存放地图,背景等。
MapFlag,存放NPC,已经玩家角色的图标,标示。
步骤二:.制作界面对象.
1:Canvas->MiniMap(RawImage):用于显示MiniMap地图
2:BackGruond(SpriteRenderer):游戏地图背景,游戏背景
3:Player(SpriteRenderer):玩家角色()
4:Player->CullingMaskCamera(Camera):跟随玩家,只渲染玩家标示以及地图,地图背景等。
5:Player->Flag(SpriteRenderer):玩家图标,标示。
步骤三:资源制作:
1:创建Render Texture,命名为:MiniMap
2:创建Material,命名为Mat_CullingMask,并选用UIEx->Default-Mask这个shader,再将遮罩资源(Mask.png)拖拽至MaskTexture这个参数上。
步骤四:参数设置:
1:BackGround:选中BackGround,拖拽背景资源infiniteBg至BackGround的SpriteRenderer第一个参数上,再Transform->Position的参数设置为0,0,0
2:Main Camera:
主要操作这4个参数:
1.Clear Flags:选中Depth only
2.Clling Mask:取消渲染MapFlag层
3.设置projection的参数为Orthographic正交模式
4.Size:设置大小为2.4
步骤五:设置MiniMap,选中Canvas->MiniMap,将步骤三中制作的资源拖拽到相应参数上,将MiniMap移至右上角
步骤六:选中Player->CullingMaskCamera
1.ClearFlags:Depth only
2.CullingMask:只渲染Map,MapFlag这两个层级
3.拖拽步骤二中创建的资源MiniMap至TargetTexture参数上
4.Size设置为1
5.最后设置Transform->Position 的参数为0,0,-10
画面效果已经呈现出来了。。来来来,继续
最后一步:
1.选中Player,对其参数进行调整,选中Sprite,目前选中Knob测试,颜色任意
1.0选中Player->Flag,对其参数进行调整,选中Sprite,目前选中Knob测试,颜色任意,设置layer层级为MapFlag,Transform->Position参数:0,0,0
目前为止,功能已经完成,PlayerController就不写了,可以通过拖拽着Player这个GameObject在屏幕中任意移动模拟PlayerController的操作,就可以在右上
角看到MiniMap的效果了。
项目下载地址:
链接:http://pan.baidu.com/s/1sjLylu1
密码:j063
/*****************************************************************************************************************************************************************************/
若有疑问,请直接评论。
备注:该教程是在另一个帖子上看到的。在我自己测试完成时候,顺手关了,忘记记录下网址,深感内疚。
再次申明:此贴转载非原创,望原作者海涵。
1.创建RenderTexture
所需资源:
1.maskShader.shader:用于做Mask遮罩(也可用uGUI自带的mask,但是边缘会出现锯齿,故放弃,如若有想看效果比较效果的网友,自行尝试,这里就不做演示了)
2.原理:用一个Camera跟随player,实时照射Player为中心的画面,渲染到rendererTexture上,再用maskShader对其进行遮罩,最终通过RawImage显示到画面上。
操作步骤:
步骤一:添加Layer层级。
Map:地图层级,可用于存放地图,背景等。
MapFlag,存放NPC,已经玩家角色的图标,标示。
步骤二:.制作界面对象.
1:Canvas->MiniMap(RawImage):用于显示MiniMap地图
2:BackGruond(SpriteRenderer):游戏地图背景,游戏背景
3:Player(SpriteRenderer):玩家角色()
4:Player->CullingMaskCamera(Camera):跟随玩家,只渲染玩家标示以及地图,地图背景等。
5:Player->Flag(SpriteRenderer):玩家图标,标示。
步骤三:资源制作:
1:创建Render Texture,命名为:MiniMap
2:创建Material,命名为Mat_CullingMask,并选用UIEx->Default-Mask这个shader,再将遮罩资源(Mask.png)拖拽至MaskTexture这个参数上。
步骤四:参数设置:
1:BackGround:选中BackGround,拖拽背景资源infiniteBg至BackGround的SpriteRenderer第一个参数上,再Transform->Position的参数设置为0,0,0
2:Main Camera:
主要操作这4个参数:
1.Clear Flags:选中Depth only
2.Clling Mask:取消渲染MapFlag层
3.设置projection的参数为Orthographic正交模式
4.Size:设置大小为2.4
步骤五:设置MiniMap,选中Canvas->MiniMap,将步骤三中制作的资源拖拽到相应参数上,将MiniMap移至右上角
步骤六:选中Player->CullingMaskCamera
1.ClearFlags:Depth only
2.CullingMask:只渲染Map,MapFlag这两个层级
3.拖拽步骤二中创建的资源MiniMap至TargetTexture参数上
4.Size设置为1
5.最后设置Transform->Position 的参数为0,0,-10
画面效果已经呈现出来了。。来来来,继续
最后一步:
1.选中Player,对其参数进行调整,选中Sprite,目前选中Knob测试,颜色任意
1.0选中Player->Flag,对其参数进行调整,选中Sprite,目前选中Knob测试,颜色任意,设置layer层级为MapFlag,Transform->Position参数:0,0,0
目前为止,功能已经完成,PlayerController就不写了,可以通过拖拽着Player这个GameObject在屏幕中任意移动模拟PlayerController的操作,就可以在右上
角看到MiniMap的效果了。
项目下载地址:
链接:http://pan.baidu.com/s/1sjLylu1
密码:j063
/*****************************************************************************************************************************************************************************/
若有疑问,请直接评论。
备注:该教程是在另一个帖子上看到的。在我自己测试完成时候,顺手关了,忘记记录下网址,深感内疚。
再次申明:此贴转载非原创,望原作者海涵。
1.创建RenderTexture
相关文章推荐
- unity3D 小地图
- Unity摄像机的使用一:双游戏地图或设置小地图
- [UnityUI]简易的小地图制作
- [Unity-14] Unity3d中使用摄像机制作实时显示小地图
- unity 通过摄像机模拟实现小地图
- [Unity3d]小地图的制作
- Bing Maps进阶系列五:通过DeepEarth的MiniMap控件为Bing Maps扩展迷你小地图
- unity3d实现场景小地图制作
- 雷达小地图制作
- UE4 仿巫师小地图功能实现
- 小地图实现方式
- Three.js 添加小地图
- unity 从头开始制作类dota2小地图
- UE4如何制作小地图
- [Unity3d插件KGFMapSystem]非常不错的小地图的制作
- unity小地图制作和方向导航
- leaflet和minimap切换时图层保持一致
- Unity3D 小地图 (2) 以角色为中心点等比例映射地图
- Unity3D 小地图 (1) 等比例映射
- 发个招聘贴,魔都求手游C++后端,UNITY前端,开发实习生