0
我仍然是新手Unity!我試圖開發簡單的迷宮遊戲。我想通過迷宮滾動我的球,但我必須向左或向右旋轉相機,否則球員在左側或右側滾動球時看不到後面的情況。迷宮遊戲中的相機旋轉取決於加速度計
void Start()
{
offset = transform.position - player.transform.position;
}
void LateUpdate()
{
transform.position = player.transform.position + offset;
}
我使用低通濾波器,用於加速計值:
Vector3 lowpass()
{
float LowPassFilterFactor = AccelerometerUpdateInterval/LowPassKernelWidthInSeconds;
lowPassValue = Vector3.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor);
return lowPassValue;
}
加速度的值從-1到1的每個座標。正因爲如此,我檢查了我的lowPassValue.x值並限制它。如果是正值(> 0.3),那麼相機應該向右轉,如果是負值(< -0.3),則相機應該向左轉。
Quaternion rotation = Quaternion.AngleAxis(45, Vector3.up* Time.deltaTime) ; // right
transform.rotation = rotation;
Quaternion rotation = Quaternion.AngleAxis(-45, Vector3.up * Time.deltaTime) ; // left
transform.rotation = rotation;
但是後來我的偏移量不再工作了,我再也看不到球了。並且相機旋轉不起作用。 有沒有更好的解決方案,或者我使用了錯誤的功能?
任何幫助將不勝感激!
我想你的解決方案,但如果我翹起我android設備左/右數秒,相機旋轉360°。我需要最大90°左和90°右... – Moonbeam
我在想,如果有可能在Unity中旋轉整個場景視圖?也許這應該工作... – Moonbeam