当前位置: 首页 > news >正文

怎么做淘宝网站赚钱技巧html编辑器怎么设置为word

怎么做淘宝网站赚钱技巧,html编辑器怎么设置为word,网站设计重要性,梅州英文网站建设前言#xff1a;一个FPS游戏最基本的角色控制#xff0c;在前面几篇已经基本实现#xff0c;接下来我们将进入到武器篇。本篇将实现武器武器瞄准和准星。 武器瞄准和准星 武器瞄准思路实现效果 武器准星思路实现效果 补充知识协程线性插值 武器瞄准 思路 FPS游戏在准备开枪…前言一个FPS游戏最基本的角色控制在前面几篇已经基本实现接下来我们将进入到武器篇。本篇将实现武器武器瞄准和准星。 武器瞄准和准星 武器瞄准思路实现效果 武器准星思路实现效果 补充知识协程线性插值 武器瞄准 思路 FPS游戏在准备开枪的时候点击右键的时候会把武器抬起来对准中间。 带玩家模型动画的可能会通过动画来实现像我们这种没有玩家模型的可以通过移动武器或者摄像机来实现。 思路是这样的这里我们参考Unity官方的是通过移动武器来实现的武器右键瞄准就把武器的位置移动到最中间。 实现 调整Weapon对象 由于现在我们对武器的操作要变多了需要对Weapon游戏对象进行更好的层级管理调整为下图所示。 新建代码和挂载 新建一个WeaponController的C#代码挂载到武器Weapon01的上。 代码逻辑 如前面思路所说的武器瞄准就把武器的位置移动到最中间平时我们拿着武器是在右手边。 代码思路上记录武器移动的两个坐标坐标然后在按下右键的时候移动到中间位置松开的时候回到原位位置。 但是直接移动位置的话表现出来的效果会非常生硬。就如我们上一篇文章讲到的跳跃那样直接到某个位置是非常生硬的需要一些过渡。 我们可以通过协程和线性插值实现自然的位置过渡具体如下关于协程和线性插值的具体的知识会在补充知识中详细解释这里我们简单提一下。 我们只需要知道协程是一个特殊的函数它可以主动暂停和唤醒常用的方法有“yield return null”主动暂停一帧再执行。 线性插值Lerp(当前位置,终点位置,进度百分比)函数通过协程循环配合能够创造出枪快速移动在快靠近中间的越来越缓慢的视觉效果。 代码 根据前面的逻辑编写出如下代码。 public class WeaponController : MonoBehaviour {[Header(武器数值)]public Vector3 defaultPosition;// 默认位置public Vector3 centerPosition;// 中心位置public float positionLerpRatio 0.5f;// 线性插值参数void Start(){// 自己在Unity中挪位置试出来的defaultPosition new Vector3(0.4F, -0.6F, 1.15F);centerPosition new Vector3(0F, -0.6F, 0.807F);}void Update(){ChangePosition();// 变换武器位置}private void ChangePosition(){// 按下右键if (Input.GetMouseButtonDown(1)){StopCoroutine(ToDefault);// 停掉另一个协程再开启下个一个StartCoroutine(ToCenter);}// 松开右键if (Input.GetMouseButtonUp(1)){StopCoroutine(ToCenter);StartCoroutine(ToDefault);}}IEnumerator ToCenter() {while (transform.localPosition!centerPosition){transform.localPosition Vector3.Lerp(transform.localPosition, centerPosition, positionLerpRatio);// 线性插值过渡更自然yield return null;// 等待一帧}}IEnumerator ToDefault(){while (transform.localPosition ! defaultPosition){transform.localPosition Vector3.Lerp(transform.localPosition, defaultPosition, positionLerpRatio);yield return null;// 等待一帧}} }效果 武器准星 FPS游戏中屏幕中间通常会有个准星。 思路 这个准星实际上是UI界面的一部份即在界面中间常驻一个准星UIUI界面在Unity中可以通过Canvas来实现。 实现 新建Canvas和Image 在Scene中右键UI-Canvas新建Canvas然后在Canvas下面右键UI-Image新建Image。 拖入准星UI 根据自己需求调整Width和Height。 切换天空盒 因为天空太白了不方便看到准星。 菜单-Window-Rendering-Lighting按照如下拖入素材中的天空盒子。 效果 补充知识 协程 协程是什么 在游戏客户端开发的时候一般是不考虑多线程的因为游戏逻辑更新和画面更新的时间点要求有确定性尤其是网络同步的时候。用协程会比较多。 协程是一种可以主动暂停和唤醒的特殊函数看起来像轻量级线程但本质还是运行在主线程上类似于Unpdate方法。 协程和线程的区别协程串行所以同一时间只能执行一个协程线程并发所以同时有多个线程在运行协程是运行在线程中的协程是程序员控制的线程是操作系统控制的。 协程怎么用 协程挂在MonoBehaviour上的必须要通过一个MonoBehaviour才能开启协程。即使MonoBehaviour被Disable隐藏也会继续执行只有被销毁才会被销毁。 协程在Unity中形式是以IEnumerator为返回值的函数。 开始和停止分别是StartCoroutine(协程名)和StopCoroutine(协程名)。 使用方法通常是在协程中写一些功能并根据自己需求暂停和唤醒常用的有如下 IEnumerator CoroutineA(int a) {Debug.Log(协程A被开启了);yield return null;Debug.Log(协程A暂停了一帧);yield return new WaitForSeconds(1.0f);Debug.Log(协程A暂停了一秒);yield return StartCoroutine(CoroutineB(a));Debug.Log(协程A暂停直到CoroutineB运行结束);Debug.Log(协程A运行结束); }协程的应用 如同我们这篇文章实现的枪从快到慢移动到中间的动画效果。 打字机效果人物对话中的文字很多是一点点显示出来的。 加载资源游戏开始的时候IO资源加载很慢会卡顿游戏可以放到协程中每次加载一点。 定时器操作每隔一段时间调用一次。 协程和Update 我们会发现协程能做的其实Update都可以做到为什么还要用协程呢用协程可以把多帧的操作封装到一个方法内部能使得代码逻辑更加清晰。 线性插值 Lerp函数 线性插值Lerp(起始位置a,终点位置b,进度百分比t)函数。 进度百分比t是一个0到1之间的值返回的是a (b - a) * t。 Lerp应用 本篇中线性插值Lerp(当前位置,终点位置,进度百分比)函数通过协程循环配合能够创造出枪快速移动在快靠近中间的越来越缓慢的视觉效果。 还可以做相机尾随摄像机先迅速的移动后来越接近玩家越慢形成了缓动效果这个用在横板游戏比较常见。 还有一些淡出淡出的动画效果。
http://www.pierceye.com/news/575654/

相关文章:

  • 黑龙江建设网站招聘广西住房和城乡建设厅培训中心官方网站
  • 做网站客户最关心的是什么制作网页原型的目的
  • 电子商务网站建设工具河南安阳吧
  • 南通网站建设公司哪个好肯德基的网站建设
  • 高端大气网站源码wordpress做双语网站
  • 360网站推广东莞凤岗
  • 公司网站高端网站建设赣州做网站多少钱
  • dw做网站怎么发布建设银行官方网站登录入口
  • 怎样查看网站建设时间免费外贸自建网站
  • 网站备案注销原因网站建设入账
  • 番禺做网站哪家好wordpress 样式引用
  • 网站研发进度表下载网站建设亿码酷适合5
  • 对网站域名销户怎么做舆情监控都有哪些内容
  • 南宁做网站优化企业网站开发合同
  • 网站做京东联盟公司注册网上核名入口
  • jsp做的零食网站下载一分钟做网站
  • 营销网站竞品分析报告上海平面网站
  • 网站建设 邦机票网站制作
  • 网站开发从整体上用vps刷网站流量要怎么做
  • 搭建一个网站 优帮云网站无法访问的原因
  • 卖印花图案设计网站北京管庄网站建设公司
  • 北京石景山网站建设外贸网络推广经验
  • 好看的网站源码手机网站在线生成
  • 响应式网站设计的主页网站定制合同
  • 做查询网站有哪些杭州市建设部门网站
  • 免费做外贸的网站制作logo网站
  • 网站改版意义服务营销案例100例
  • 服装厂做1688网站效果好不好做lol数据的网站有哪些
  • 棋牌代理平台网站优化大赛
  • 网站制作视频教程新手必看深圳建网站哪个公