首页 > 其他分享 >游戏重力感应

游戏重力感应

时间:2023-02-22 10:37:56浏览次数:30  
标签:acceleration 1.0 游戏 感应 90 手机 Input 重力


一、引入
大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体进行晃动。下图的王者荣耀刚开始的界面其实就是使用的移动设备的重力感应。

二、介绍
Unity内部的重力感应其实已经写好了,这篇文章只是讲下如何使用。Unity内部有一个Input.acceleration这个属性。下面是官方的解释

游戏重力感应_重力感应

Description 描述

我们看到这个函数返回的是Vector3,尔Vector3有三个方向分别为下x,y,z这三个float组成的,其实只要搞明白这三个向量对应移动端的方向我们就可以做一些细节的操作。

三、测试成果
这里我直接把这三个向量的测试成果放在这里,我们把手机水平放在桌子上,然后俯视手机来说一下这个acceleration这个向量是如何对应的手机重力。

X Y轴

游戏重力感应_重力感应_02

水平方向:
手机左边不动,抬起右边到90度,对应的Input.acceleration.x变化,变化为从0到-1.0,简单记录为:0 → -1.0
手机右边不动,抬起左边到90度,对应的Input.acceleration.x变化,变化为从0到1.0,简单记录为:0 → 1.0
垂直方向:
手机下边不动,抬起上边到90度,对应的Input.acceleration.y变化,变化为从0到-1.0,简单记录为:0 → -1.0
手机上边不动,抬起下边到90度,对应的Input.acceleration.y变化,变化为从0到1.0,简单记录为:0 → 1.0
Z轴
水平方向:无论从哪边开始往上抬,到90度,然后到180度,就是我们的手机的玻璃正面扣到桌面上了,对应的Input.acceleration.z变化,变化为从-1.0到0再到1.0,
简单记录为: - 1.0→ 0 → 1.0;
垂直方向:按照上面的操作也是一样的,对应的Input.acceleration.z变化,变化为从-1.0到0再到1.0,
简单记录为: - 1.0→ 0 → 1.0;

横屏的手机,如下图

 

游戏重力感应_移动设备_03

竖屏的手机,如下图

游戏重力感应_unity_04

移动设备游戏中经常会遇到重力感应的开发,Unity简化了重力感应的开发,通过访问Input.acceleration属性,取回加速度传感器的值。

标签:acceleration,1.0,游戏,感应,90,手机,Input,重力
From: https://blog.51cto.com/u_4387387/6078242

相关文章

  • Unity手机移动设备重力感应
    一、引入大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体进行晃动。下图的王者荣耀刚开始的界面其实就是使用......
  • [OS] 游戏党狂喜 AtlasOS v0.5.2 Win10高性能精简版
    [OS]游戏党狂喜AtlasOSv0.5.2Win10高性能精简版此文章引用地址:https://www.hybase.com/xitong/windows/2375.html哈喽,黑域小伙伴,AtlasOS可能大家比较陌生,但对于爱......
  • [OS] 这系统只为游戏而生 ReviOS游戏定制版 Win11/Win10
    [OS]这系统只为游戏而生ReviOS游戏定制版Win11/Win10此文章引用地址:https://www.hybase.com/xitong/windows/2679.html哈喽,黑域小伙伴,针对游戏玩家而定制的系统版本......
  • Django框架课-创建游戏界面 (1)
    创建游戏界面(1)最后的结构:playground/|--ac_game_object|`--zbase.js|--game_map|`--zbase.js|--particle|`--zbase.js|--player|`--zbas......
  • 金三银四丨黑蛋老师带你剖析-游戏安全岗
    作者丨黑蛋今天我们最后聊一聊关于游戏安全类的岗位,游戏岗位同样分不同平台,主要就是安卓端和PC端,首先来找几个招聘岗位是游戏安全相关的几条详细信息:这个岗位妥妥PC端游......
  • Unity2D游戏开发Update与FixedUpdate间的区别
    Update方法是每一帧执行一次,FixeUpdate方法是每0.02秒执行一次,即我们常说的50帧的刷新率,我们在进行物理模拟动作的编写中,常常会写在FixeUpdate中,由于是每0.02秒执行一次,不......
  • C1001 游戏题解
    题目描述\(everlasting\)觉得太无聊了,于是决定和蒟蒻\(yyc\)玩游戏!他们会玩\(T\)轮游戏,每轮游戏中有若干局,他们的初始积分为\(1\),每局的分值为\(k\),输的人的得分......
  • P2016 战略游戏
     #include<bits/stdc++.h>usingnamespacestd;constintN=1600,M=5*N;intn,in[N],nxt[M],go[M],hd[N],all=1,f[N][2];voidadd(intx,inty){ go[++al......
  • 扫雷游戏
    扫雷大家或许都不陌生,在我小的时候,我爸的win7电脑上就自带扫雷,但是那个时候的我都不知道游戏规则是什么,因为随便点就被炸死了,所以很快就不感兴趣了。而现在我们就来用C语言......
  • LeetCode-45. 跳跃游戏II - 题解分析
    题目来源45.跳跃游戏II题目详情给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果......