位置: 编程技术 - 正文

NGUI制作小地图(怎么做小地图)

编辑:rootadmin
原本只是想用unity自带的GUI功能实现魔兽世界的小地图效果,结果折腾了一个晚上。原来的思路如下:1. 根据玩家坐标,计算出应显示的地图缩略图部分(×);2. 用GUI遮罩将非白色的部分剔除(这样可以实现任意形状的小地图);3. 将地图框叠加到第二步中的纹理上;4. 将玩家指示物放置在地图中心,并根据当前玩家的Transform.Rotation计算出指示物的旋转角度; 在做到一半的时候发现GUI Texture只能使用Texture,无法使用Material,这也就意味着不能使用Shader做遮罩的剔除效果。在网上搜索了好久,发现有好多老外也在问相关的问题,但是就是没有很合适的解决方案。经过再三考虑之后,咬咬牙决定舍弃系统自带的GUI功能,使用第三方GUI插件。 其实之前也有了解过相关的插件,比如NGUI、EZGUI和IGUI之类的,只不过感觉如果太依赖第三方插件则会导致“知其然而不知其所以然”,所以也一直没去学习使用。工欲善其事必先利其器,既然已经决定要使用第三方插件了,那么选择一个趁手的当然是首要问题。通过比较最终选择了NGUI,NGUI的全称是Next – Gen UI(次世代界面),它提供了快速创建常用的2D控件的功能,如按钮、文本框、滚动条等,继承Unity所见即所得的优良传统,并实现了Draw Call的合并,以优化性能。 导入NGUI后会在主菜单中新增NGUI功能选项,方便快速调用它的功能。首先点击主菜单的“NGUI→Create a New UI”创建一个UI根对象。由于地图这些都是2D的,所以保持默认的设置创建Simple 2D Camera即可。 点击“Create Your UI”完成,在工程面板中就出现了UI Root(2D),其下面的所有UI对象都会按照指定的布局渲染到屏幕上,重命名为MiniMapView。Anchor(锚点)是用来定位的,保持默认的Center(居中)。 点击NGUI的“Atlas Maker”来创建一个图片集,输入名字MiniMap,选中工程面板中的地图缩略图,然后点击Create就可以了。 选中Panel,然后再选择使用NGUI菜单的“Create a Widget”在面板下面创建一个精灵。 到这里准备工作全部做好了: 可以看到NGUI其实只是在一个主相机视野看不到的地方创建需要显示的GUI,然后用另外一个正交投影相机将观察到的内容叠加到主相机上但是做小地图的时候并不希望它直接渲染到屏幕上,而是渲染到一张纹理上,这样才可以使用材质配合遮罩的Shader实现不规则的效果。所以还是先得在工程面板中创建一个RenderTexture,重命名为MiniMap,并拖放到Camera的Target Texture属性上。这样,所有该摄像机可见的物体都会渲染到MiniMap这张Render Texture中了。 注意还必须把摄像机的清除标志(ClearFlags)改成纯色(Solid Color),并把Background换成黑色。这样可以让地图超出的部分显示为纯黑色。 然后轮到Mask Shader出场咯。把度娘全身都搜了个遍,终于在茫茫人海中找到了它。在工程面板里创建一个Shader,重命名为Mast,把以下代码复制进去: 再在工程面板中创建一个材质,使用这个Shader,并把前面的Render Texture拖到Base(RGB)上,把遮罩纹理拖到Culling Mask上。这样,最难的问题就解决了。此时只要把这个材质附加到任何支持材质的对象上,都能显示小地图了^_^。比如随便创建一个平面,把材质附加到Mesh Renderer组件的Materials上: 啊,看起来离最终目标还是有点距离……不过已经可以看出圆形以外的纹理都变透明了。 接下来的工作就是慢慢把GUI部分搭建起来。 再创建一个UI Root,这次是用来真正显示GUI了。由于GUI是默认定位在左上角的,因此可以删掉原来的Anchor。再创建一个Panel,重命名为HudPanel。这个面板用来做整体缩放,因为界面上不一定只有小地图,还有之前做的头像、动作条之类的,如果需要批量缩放,那么只要调整这个面板的Scale就好了。 在HudPanel下面创建一个锚点Anchor – RightTop,把Side修改为TopRight,让它对齐到右上角。再在其下面创建一个Panel,叫做MiniMap,然后在下面分别创建地图边框(Sprite)、地图指北标志(Sprite)、人物指示标志(Sprite)、地图纹理(UITexture),调整XY轴坐标定位,调整Depth可以更改显示优先级,记得要把前面创建的MiniMap材质赋给地图纹理。我这里还多创建了一个Label,用来显示当前地图位置,但是会遇到一个字体的问题,这个待会再写。 好了,玩家指针已经定位在地图的(0,0)点位置,再写一个脚本附加到MiniMap上,让它能够实时地反映玩家的当前位置和朝向。

推荐整理分享NGUI制作小地图(怎么做小地图),希望有所帮助,仅作参考,欢迎阅读内容。

NGUI制作小地图(怎么做小地图)

文章相关热门搜索词:制作地图小程序,制作魔兽地图,制作小地图软件,玩家自制地图,制作魔兽地图,制作小地图软件,制作小地图软件,eui小地图按钮整合,内容如对您有帮助,希望把文章链接给更多的朋友!

unity之关于角色三连击 首先,我们要先研究下他的动作关系这个角色的动作有idleattack1attack2attack3jumprun那么我们要使用unity新动画系统的AnimatorController来进行动画的连接创建一个

unity3D手游地图设计的四大类型 哪种适合你? 据报道/最近,小编在外媒看到一篇有关手游地图设计方面的博客,英文作者JunxueLi(李俊学)是游戏美术外包公司NovtilusArt的CEO,他在博客中讨论了四种

血条或者进度条 血条或者进度条--::次浏览用Unity做血条或进度条真的很方便,GUI里scrollbar就可以轻松实现,再加上lerp一个血条或进度条就完成了。Js代码using

标签: 怎么做小地图

本文链接地址:https://www.jiuchutong.com/biancheng/372980.html 转载请保留说明!

上一篇:利用Unity来实现插件开发(怎么用unity做游戏)

下一篇:unity之关于角色三连击(unity游戏人物选择)

  • 生产企业出口退税流程
  • 车辆购置税会计科目怎么做账
  • 注册500万公司实缴多少钱
  • 小规模零申报增值税
  • 备用金没有发票抵消违法吗
  • 红字信息表状态是B900071
  • 财务利润率
  • 认缴出资怎么填财务报表
  • 小企业应收票据有哪些
  • 增值税普通电子发票可以抵税吗
  • 营改增行业的销售额
  • 季节性停工损失属于期间费用吗
  • 出租的固定资产计提折旧
  • 报销车费滴滴怎么打印电子发票
  • 分公司增值税如何缴纳增值税
  • 认证后的发票可以留抵下月抵扣吗
  • 购买粽子开的餐饮发票
  • 无票收入如何抵税
  • 子公司注销如何做账
  • 财务费用属于什么会计科目类别
  • 销售残次品怎么处罚
  • 总资产平均余额是资产总额吗
  • 商标续展费用入什么科目
  • linux命令“ln file1 file2”的含义是
  • 临时工工资的会计处理
  • PHP+Mysql+jQuery中国地图区域数据统计实例讲解
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 电视柜尺寸一般是多少厘米的
  • 电脑dwm.exe是什么
  • 一般纳税人企业所得税税率多少
  • 购入原材料所发票怎么入
  • php怎么定义全局变量
  • 我国中小企业成本管理现状
  • 朝圣者将风马旗扔向甘登寺上方的空中为新年祈福,中国西藏 (© Ian Cumming/plainpicture)
  • 阿里什么
  • 合伙企业能享受所得税减半征收
  • 应收利息的会计处理方法
  • 应付职工薪酬如何确认
  • 幼儿园免征增值税账务处理
  • 本年利润在借方代表亏损吗
  • 计提事业发展基金分录
  • 租车出差差旅费标准
  • 个人所得税是可以全部退回吗
  • 权益工具是金融资产还是非金融资产
  • 饭店招牌发光字
  • sqlsever注释符号
  • 出售固定资产不确认收入
  • 员工福利费属于什么会计科目
  • 为什么运输合肥料检测核辐射人会拿一个玻璃棒
  • 1元换购的商品是正品吗
  • 取报销凭证的步骤
  • 补提去年累计折旧
  • 房产契税什么时候退税
  • 投资性房地产转换日的确定
  • 2018城镇医疗保险缴费
  • 金融资产发生的负债包括
  • 非正常损失的原因是什么
  • 工程没钱也没有工资
  • 记帐凭证会计处理程序及其应用
  • 作废发票丢失怎么补办
  • msde安装1秒不动了
  • MySQL slave_net_timeout参数解决的一个集群问题案例
  • win8 恢复
  • putty无法输入中文
  • win10累积更新 卡住
  • centos 怎么用
  • 三种方法完美解决问题
  • windows7没有桌面图标
  • linux 清除垃圾
  • linux怎么使用ssh命令
  • nodejs基础
  • unity random.value
  • java script入门
  • javascript的理解
  • ajax 分页
  • 上海买房退税政策2020
  • 小规模纳税人改成一般纳税人怎么改
  • 湖北省地税局稽查局
  • 上海嘉定小学入学积分
  • 上海疫情租房金额怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设