吃鸡方向导航功能制作
吃鸡方向导航功能制作
现在吃鸡游戏大火,吃鸡已经不能是一个游戏了,俨然已经变为了一种游戏玩法游戏机制,类似之前的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
吃鸡方向导航功能制作相关推荐
- 做了一个仿吃鸡游戏,可多人联网,算是学习总结。
网上偶见UNITY,很有兴趣于是自学了一段时间,这是我做的一个仿吃鸡游戏DEMO,虽然只是抱着学习实践的很低要求,但从代码.模型.美工.场景都要自己做,繁杂超过了我的预估.对次时代游戏有兴趣可加我qq ...
- steam+linux+吃鸡游戏,steam十款免费吃鸡大逃杀游戏推荐
今天为大家推荐十款steam免费吃鸡大逃杀游戏.虽然是免费游戏,但还是有许多因为玩法创新而被玩家热捧,如果你喜欢吃鸡游戏,又不愿意花钱买,那么今天的推荐不容错过! <瓦尔格雷夫:不朽的平原> ...
- 闲云野鹤:吃鸡(一)之场景制作:使用GPU instancing方式制作刷草插件
用GPU instancing方式制作刷草插件(unity版本8.2.2) 先上最终效果图(欢迎加我qq交流:358641634): 十种草 混刷生成比较自然的场景(带阴影.风力.草可见距离可调) 插 ...
- 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
先上最终效果图: 电弧为shader动态效果 交界处电弧高亮(也是动态) 上部全透明 思路:毒圈为吃鸡比较有特色的元素,在3dmax里面做一个72段边的圆柱,半径5米,高度500米 ...
- Python制作吃鸡各数据资料查询助手,带你做理论王者~
前言 大家早好.午好.晚好吖 ❤ ~ 吃鸡想必大家都玩过了 今天来教大家制作一个资料查询助手 1.我们是不是要去获取这些数据 武器配件 首先:对于 武器一个详情页url地址发送请求, 获取 每个武器的 ...
- Unity第一人称手游-左侧控制移动,右侧控制视角和方向(第一人称,类似吃鸡游戏)
Unity第一人称手游-左侧控制移动,右侧控制视角和方向(第一人称,类似吃鸡游戏) 文章最后会附上 项目下载地址 备注:资源是URP的,普通平台修改资源材质即可 效果图 实现原理及步骤 左侧遥杆移动- ...
- Unity3DPhoton制作吃鸡游戏
Unity3D&Photon制作吃鸡游戏 https://study.163.com/course/courseMain.htm?share=1&shareId=8348227& ...
- Unity 使用C#制作一个吃鸡游戏跑圈机制
最近迷上吃鸡游戏,慢慢对他的跑圈机制产生了兴趣,于是就试着写了个吃鸡游戏跑圈机制出来~~~ 一.话不多少,先上跑圈效果图: 二.知识提要: 1.C# winform程序中比较简单的绘图控件就是 Pic ...
- “使命召唤”的新“吃鸡”模式味道如何?
"战区"模式的问题不在于"不合格",而在于"做了很多无用功". 在经过一个多月故弄玄虚的宣传后,<使命召唤:现代战争>的&quo ...
最新文章
- flask 的 request
- 这50位青年科学家,腾讯每人给300万
- 类型多种_五轴机床有很多种类型,你知道几种?
- ReactNative ES6简介 及基本语法第一篇
- linux mysql dns_Linux下搭建DNS服务器及踩坑
- 一段js动态操作table代码
- echarts 地图实现轮播(二)
- 常用的C#正则表达式!
- 零基础学python难吗-终于明白0基础学python难吗
- It’s Android Time
- Ubuntu 18.04.3 LTS - 安装 Spring Tool Suite 4
- 2021 大学生电子设计竞赛 G题 无人机 识别部分
- 手游用户数据分析平台
- ECMWF数据批量下载
- centos7 lvm分区扩容(空间转移,将/home转至/根分区)
- js+html+css+jQuery实现简单购物车
- SonarQube的安装部署过程中踩过的坑
- 爬取我爱我家租房信息时 问题总结(付代码)
- 中兴服务器400,中兴通讯高性能400G方案:攀登5G高峰
- Finance_finacial_engineering
热门文章
- STM32 IO口设置
- 计算机应用软件word怎么用,计算机应用中Office办公软件的现状及教学方法
- k8s集群部署 | 二进制三节点(复用)高可用集群部署过程
- 【Http协议】Https简介
- 《深度学习实战》第1章 深度学习的发展介绍
- 【WINDOWS / DOS 批处理】choice命令之参数完整解析
- alloc、init 详解
- Method breakpoints may dramatically slow down debugging 的解决办法
- 是p2p的测试用例_软件测试用例测试报告
- OC-FUNDATION-NSStringNSMutableStringNSNumberNSValueNSDate