Quantcast
Channel: Latest Questions by blipton
Viewing all articles
Browse latest Browse all 9

Rotating object based on USB Tilt Sensor

$
0
0
I'm trying to rotate an object based on an object with a tilt sensor connected via USB. The accelerometer outputs a signed 16 bits for x,y,z, which I then convert to an angle. fAngleX = (float) (atan2(nAccelY, nAccelZ)+M_PI)*RAD_TO_DEG; fAngleY = (float) (atan2(nAccelZ, nAccelX)+M_PI)*RAD_TO_DEG; I've searched and tried different ways of doing it*, but the object (.STEP) never rotates consistently, instead it quickly jumps all over the place as I rotate the device. As a test, I drew it in Processing and superman tracks the physical object fine. http://imgur.com/0GDpMZ4 Maybe its better to use the raw value (not my computed angle) but not sure how else to do it. * float Angle = 30f; vector3 Axis = vector3.cross(MoveDirection.normalized, PlayerShip.transform.up); Playership.transform.Rotate(Axis, Angle); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, targetRotation, slerpSpeedValue); and * dir.y = Input.acceleration.y; if (dir.y > .2) transform.Rotate(Vector3.up * (-rotSpeed * Time.deltaTime), Space.World); else if (dir.y 1) dir.Normalize(); // limit dir vector to magnitude 1 transform.Translate(dir * speed * Time.deltaTime); // move the object at the velocity defined in speed h = Input.GetAxis("Horizontal")*multiplier; v = Input.GetAxis("Vertical")*multiplier; transform.rotation = Quaternion.EulerAngles(new Vector3(h,0f,v));

Viewing all articles
Browse latest Browse all 9

Latest Images

Trending Articles





Latest Images