吃鸡方向导航功能制作

现在吃鸡游戏大火,吃鸡已经不能是一个游戏了,俨然已经变为了一种游戏玩法游戏机制,类似之前的MOBA,
各种游戏模式与吃鸡的结合,在当下已经变成了一种趋势。吃鸡中的方向导航可能接下来项目中会用到,所以提前研究学习一下。

实际游戏案例展示

绝地求生方向导航展示

Apex方向导航展示

Apex是刚出的现象级吃鸡EA端游大作,热度超高。

需求分析

吃鸡的导航栏,首先我们肯定需要判断玩家自身的朝向,同时顶部的HUD需要根据玩家朝向进行更新,一般正中心用一个小三角标识。

思路设计

功能的实现大体上分为两步,
第一步:如何去设计头顶的方向刻度展示
第二部:如何去同步刷新方向刻度朝向
获取人物朝向的方式是一致的,直接利用Unity的API获取人物在世界空间下Y轴的欧拉角即可。
伪代码

this.m_Target.transform.rotation.eulerAngles.y;

这里的重点是如何设计头顶的方向刻度指示显示,
这里介绍两种方式,
第一种是直接用图片来显示,提前让美术做好带有刻度和标识的方向刻度图片
类似如下

图片的方式只需要利用Unity的Rawimage组件 然后通过控制UV来进行图片的偏移显示

第二种方式是使用untiy的UGUI来进行拼接显示方向刻度和标识,制作可能会稍显麻烦,需求多的话可以自行使用脚本来创建。


这种方式的显示需要利用遮罩+布局组件 然后控制X方向的偏移来进行显示
显示的时候需要自己进行相关的函数映射。

两种方式各有优劣,
第一种制作简单方便,但是比较固定,要更换只能更换图片。
第二种后期可扩展性强,比如皮肤更换,样式设计更改等,可以任意修改单个刻度或者标识的样式等。

其他的小的地方就比较容易了,中间的箭头指示,或者类似Apex的具体的角度朝向显示,固定放在最中间的位置即可。

核心代码

代码的关键主要是同步角度朝向 Demo中的玩家为一个Cube自行在场景中调整角度,查看方向导航变化。

   //第一种void Update () {UpdateCompassBar();}public void UpdateCompassBar(){// set compass bar texture coordinatesthis.Compass.uvRect = new Rect((m_Target.rotation.eulerAngles.y / 360f) - .5f, 0f, 1f, 1f);}//第二种 void Update(){if (this.m_Target == null || this.m_ContentRect == null)return;// 0 to 360 headingfloat compassHeading = this.m_Target.transform.rotation.eulerAngles.y;float numberOfPixelsNorthToNorth = this.headingRectWidth * 4f;float rationAngleToPixel = numberOfPixelsNorthToNorth / 360f;this.m_ContentRect.anchoredPosition = new Vector2(((compassHeading * rationAngleToPixel) + this.headingRectWidth) * -1f, 0f);   }

Demo案例

Unity5.6.6打开
Github
https://github.com/Silence-man/BlogFiles/blob/master/HUDNavTest.rar
百度云
链接: https://pan.baidu.com/s/1rKZJrzH7-4zMoqguYxxzKA 提取码: bg9p

吃鸡方向导航功能制作相关推荐

  1. 做了一个仿吃鸡游戏,可多人联网,算是学习总结。

    网上偶见UNITY,很有兴趣于是自学了一段时间,这是我做的一个仿吃鸡游戏DEMO,虽然只是抱着学习实践的很低要求,但从代码.模型.美工.场景都要自己做,繁杂超过了我的预估.对次时代游戏有兴趣可加我qq ...

  2. steam+linux+吃鸡游戏,steam十款免费吃鸡大逃杀游戏推荐

    今天为大家推荐十款steam免费吃鸡大逃杀游戏.虽然是免费游戏,但还是有许多因为玩法创新而被玩家热捧,如果你喜欢吃鸡游戏,又不愿意花钱买,那么今天的推荐不容错过! <瓦尔格雷夫:不朽的平原> ...

  3. 闲云野鹤:吃鸡(一)之场景制作:使用GPU instancing方式制作刷草插件

    用GPU instancing方式制作刷草插件(unity版本8.2.2) 先上最终效果图(欢迎加我qq交流:358641634): 十种草 混刷生成比较自然的场景(带阴影.风力.草可见距离可调) 插 ...

  4. 闲云野鹤:吃鸡(三)之场景制作:制作毒圈

    先上最终效果图: 电弧为shader动态效果 交界处电弧高亮(也是动态) 上部全透明           思路:毒圈为吃鸡比较有特色的元素,在3dmax里面做一个72段边的圆柱,半径5米,高度500米 ...

  5. Python制作吃鸡各数据资料查询助手,带你做理论王者~

    前言 大家早好.午好.晚好吖 ❤ ~ 吃鸡想必大家都玩过了 今天来教大家制作一个资料查询助手 1.我们是不是要去获取这些数据 武器配件 首先:对于 武器一个详情页url地址发送请求, 获取 每个武器的 ...

  6. Unity第一人称手游-左侧控制移动,右侧控制视角和方向(第一人称,类似吃鸡游戏)

    Unity第一人称手游-左侧控制移动,右侧控制视角和方向(第一人称,类似吃鸡游戏) 文章最后会附上 项目下载地址 备注:资源是URP的,普通平台修改资源材质即可 效果图 实现原理及步骤 左侧遥杆移动- ...

  7. Unity3DPhoton制作吃鸡游戏

    Unity3D&Photon制作吃鸡游戏 https://study.163.com/course/courseMain.htm?share=1&shareId=8348227& ...

  8. Unity 使用C#制作一个吃鸡游戏跑圈机制

    最近迷上吃鸡游戏,慢慢对他的跑圈机制产生了兴趣,于是就试着写了个吃鸡游戏跑圈机制出来~~~ 一.话不多少,先上跑圈效果图: 二.知识提要: 1.C# winform程序中比较简单的绘图控件就是 Pic ...

  9. “使命召唤”的新“吃鸡”模式味道如何?

    "战区"模式的问题不在于"不合格",而在于"做了很多无用功". 在经过一个多月故弄玄虚的宣传后,<使命召唤:现代战争>的&quo ...

最新文章

  1. flask 的 request
  2. 这50位青年科学家,腾讯每人给300万
  3. 类型多种_五轴机床有很多种类型,你知道几种?
  4. ReactNative ES6简介 及基本语法第一篇
  5. linux mysql dns_Linux下搭建DNS服务器及踩坑
  6. 一段js动态操作table代码
  7. echarts 地图实现轮播(二)
  8. 常用的C#正则表达式!
  9. 零基础学python难吗-终于明白0基础学python难吗
  10. It’s Android Time
  11. Ubuntu 18.04.3 LTS - 安装 Spring Tool Suite 4
  12. 2021 大学生电子设计竞赛 G题 无人机 识别部分
  13. 手游用户数据分析平台
  14. ECMWF数据批量下载
  15. centos7 lvm分区扩容(空间转移,将/home转至/根分区)
  16. js+html+css+jQuery实现简单购物车
  17. SonarQube的安装部署过程中踩过的坑
  18. 爬取我爱我家租房信息时 问题总结(付代码)
  19. 中兴服务器400,中兴通讯高性能400G方案:攀登5G高峰
  20. Finance_finacial_engineering

热门文章

  1. STM32 IO口设置
  2. 计算机应用软件word怎么用,计算机应用中Office办公软件的现状及教学方法
  3. k8s集群部署 | 二进制三节点(复用)高可用集群部署过程
  4. 【Http协议】Https简介
  5. 《深度学习实战》第1章 深度学习的发展介绍
  6. 【WINDOWS / DOS 批处理】choice命令之参数完整解析
  7. alloc、init 详解
  8. Method breakpoints may dramatically slow down debugging 的解决办法
  9. 是p2p的测试用例_软件测试用例测试报告
  10. OC-FUNDATION-NSStringNSMutableStringNSNumberNSValueNSDate