- Home /
Acceletometer on windows phone
Hi guys, I am trying to figure out how to use the accelerometer on my nokia 520 phone.
From what i've read it is supposed to take readings from Input.acceleration
I've added some onGui text to show me Input.acceleration.x ,y,z values
but all i get returned is 0 values no matter how i tilt the phone...
any help?
Answer by andrew_196 · Apr 17, 2014 at 05:14 PM
There are more details on the input documentation where I have pulled this information from at:
SOURCE : http://docs.unity3d.com/Documentation/Manual/Input.html
Accelerometer
As the mobile device moves, a built-in accelerometer reports linear acceleration changes along the three primary axes in three-dimensional space. Acceleration along each axis is reported directly by the hardware as G-force values. A value of 1.0 represents a load of about +1g along a given axis while a value of -1.0 represents -1g. If you hold the device upright (with the home button at the bottom) in front of you, the X axis is positive along the right, the Y axis is positive directly up, and the Z axis is positive pointing toward you.
You can retrieve the accelerometer value by accessing the Input.acceleration property.
The following is an example script which will move an object using the accelerometer:
var speed = 10.0;
function Update () {
var dir : Vector3 = Vector3.zero;
// we assume that the device is held parallel to the ground
// and the Home button is in the right hand
// remap the device acceleration axis to game coordinates:
// 1) XY plane of the device is mapped onto XZ plane
// 2) rotated 90 degrees around Y axis
dir.x = -Input.acceleration.y;
dir.z = Input.acceleration.x;
// clamp acceleration vector to the unit sphere
if (dir.sqrMagnitude > 1)
dir.Normalize();
// Make it move 10 meters per second instead of 10 meters per frame...
dir *= Time.deltaTime;
// Move object
transform.Translate (dir * speed);
}