我正在尝试以与我的手机相同的倾斜度旋转对象
我发现这个线程真的很有帮助
http://answers.unity3d.com/questions/139294/match-the-tilted-angle-of-phone-to-object.html
但是,当我将设备置于横向并尝试在左右之间倾斜移动设备时,对象会在 Z 和 Y 轴上旋转
我想在手机水平时锁定 Y 轴,但在垂直时不锁定
我放了一张关于我正在尝试的图片:
编辑:
private var sizeFilter: int = 15;
private var filter: Vector3[];
private var filterSum = Vector3.zero;
private var posFilter: int = 0;
private var qSamples: int = 0;
function MovAverage(sample: Vector3): Vector3 {
if (qSamples==0)
filter = new Vector3[sizeFilter];
filterSum += sample - filter[posFilter];
filter[posFilter++] = sample;
if (posFilter > qSamples)
qSamples = posFilter;
posFilter = posFilter % sizeFilter;
return filterSum / qSamples;
}
function Update() {
var temp: Vector3 = -MovAverage(Input.acceleration.normalized);
temp.x *= -1;
transform.up = temp.normalized;
}