Articles of 加速度计

使用加速度计数据进行转换运动

可以通过使用加速度计数据或加速度陀螺仪进行变换运动吗? 正如我们所知,我们可以使用Accel或Gyro数据进行旋转。 但是,我们怎样才能做转型运动呢? 我知道这仍然是有问题的和实验性的。 但必须有一些方法来达成。 有没有解决这个问题的algorithm或math公式?

监控真实世界轨迹上的移动控制Unity摄像头

我正在工作,或即将工作的项目中,我希望将监视器沿着轨道移动,从左到右,反之亦然,并使Unity中的摄像机向左或向右更新其运动,以跟踪轨道运动。 我试图做这样的video例子,但规模较小,并且在轨道的某些点上,触发器会根据显示器轨道上的哪个位置产生不同的animation,有点像时间线。 我想我的问题是,有没有人有任何想法或想法如何完成? 我最初的想法是使用加速度计来获取移动数据,并用一些脚本来控制摄像机,但我不确定这种方法可能出现的错误有多大。 另一个想法是使用某种types的激光测距仪,将显示器背部的距离固定在一个固定的距离上,现在我真的只是集思广益。 在事情的统一方面,我会好起来的,我只是想知道是否还有其他的方法,或者如果人们在尝试和错误模式上花钱的时候,可能会有其他的想法来解决这个问题。 感谢任何人都可能提供的先进的洞察力!

在不同的设备上处理加速

我正在添加倾斜控制到我的游戏。 我得到的传感器值在不同的Android设备是不同的,导致随机行为。 任何人都知道我该如何处理这种情况? 我尝试了正常化加速,但它仍然是一样的。

使用加速度计移动精灵(Android)

在我以前的游戏中,我是​​这样移动我的精灵的: float time = 10f; //Number of seconds to pass a pre-defined area (using the screen width in this example) float velocity = 1f/time; //work out velocity based on above time float realX-=velocity*dt; //Move the sprite to the left (where dt is previously defined delta) x = realX*screenWidth //convert to screen coordinates so it can […]

统一计算设备的位移

我正在制作一个统一的3D游戏,当Android设备在Z轴上移动/加速时,对象应该前后移动。 即。 当玩家向+ ve轴方向移动装置时,物体应向前移动,当玩家向-Z轴方向移动装置时,物体向后移动。 这个游戏是一个多人游戏,玩家将在一个大型的足球场上移动。 我的想法是使用加速度计来计算设备的加速度,然后整合加速度数据以获得设备在Z轴上的速度。 并使用该速度来移动设备。 使用这个等式 V 2 = V 1 +ΔA。 ΔT 哪里 V 2 :最终速度。 V1 :初始速度。 ΔA :初始加速度和最终加速度之间的差值。 ΔT :初始和最终时间之间的差异。 起初,我试图用运动方程来计算最终速度,但是我意识到只有在加速度恒定的情况下才能使用它。 所以研究物理的我的一个朋友对这个方程进行了区分,以便我在加速度变化时使用它。 我知道计算精确位移会有一些误差,加速度积分后误差会增加,但是这个小的误差对我的应用来说还是可以的。 我首先想到的是使用GPS代替加速度计,但是我发现GPS的精确度会比传感器less。 我也知道在一段时间后误差会非常高,所以我每10秒重新设置加速度和速度值。 我也使用低通滤波器来降低传感器的噪音。 public class scriptMove : MonoBehaviour { const float kFilteringFactor = 0.1f; public Vector3 A1; public Vector3 A2; public Vector3 A2ramping; // for the low-pass […]

LibGDX:如何使像加速度计和指南针值vector旋转传感器?

所以我尝试了使用Android API的vector旋转传感器,它可以完美地做我想做的事情,但是LibGDX不支持这个传感器。 我一直在寻找,似乎我可以做同样的事情,使用由LibGDX API返回的加速度计和指南针值vector旋转传感器: Gdx.input.getAccelerometerX(); Gdx.input.getAccelerometerY(); Gdx.input.getAccelerometerZ(); Gdx.input.getAzimuth(); Gdx.input.getPitch(); Gdx.input.getRoll(); 但我无法find如何做到这一点。

在Y轴上获取设备旋转

所以使用LibGDX加速度计方法,我可以用这个代码以X和Z轴为度数旋转设备: @Override public void render(float delta) { float accX = Gdx.input.getAccelerometerX(), accY = Gdx.input.getAccelerometerY(), accZ = Gdx.input.getAccelerometerZ(); float moduleValue = (float) Math.sqrt(accX * accX + accY * accY + accZ * accZ); //Here I do the gravity compensation accX /= moduleValue; accY /= moduleValue; accZ /= moduleValue; float xRotation = (float) Math.atan2(accY, accZ) * MathUtils.radiansToDegrees, […]

如何使用Libgdx加速度计?

我正在开发一个libgdx的android游戏。我想使用加速度计进行运动控制。我正在屏幕边界内控制硬币。 我想按照设备方向应用重力,就像在图像中看到的那样。 我知道我可以使用Gdx.input.getAccelerometerX() (或Y,Z)但我不明白如何使用获得所需的结果。 在这里,我附上了两个简单的理解样本图像

使用加速计进行滚球运动

我在Unity 5.1.1f1上为Android的迷宫游戏工作,我用加速度计控制我的球有麻烦。 一开始我试过了: public class PlayerController : MonoBehaviour { public GameObject sphere; public Camera camera; public float speed=200; private Rigidbody myRigidBody; void Start() { myRigidBody = gameObject.GetComponent<Rigidbody> (); } void FixedUpdate() { float moveH = Input.acceleration.x; float moveV = -Input.acceleration.z; Vector3 move = new Vector3 (moveH, 0.0f, moveV); myRigidBody.AddForce (move * speed*Time.deltaTime); } } 但是球没有移动,因为它应该。 […]

在Android的Unity中,如何使用加速计旋转对象?

我正在制作一个游戏,在这个游戏中,你可以控制一个平台上的球落在上面,而且你必须平衡这些球并防止它们脱落。 我正在使用鼠标来控制它与此代码: transform.rotation.eulerAngles.z += Input.GetAxisRaw("Mouse X"); transform.rotation.eulerAngles.x += Input.GetAxisRaw("Mouse Y"); 我试图使这个Android应用程序,并希望使用运动控制,所以我可以倾斜设备,就好像它是平台。 我想我会用这个加速度计。 任何想法如何在Unity中做到这一点?