ฉันกำลังสร้างเกมที่ค่อนข้างแข่งรถ รถเคลื่อนไปข้างหน้าโดยอัตโนมัติ แต่หากต้องการหมุนไปด้านข้าง ฉันจะวัดการหมุนของโทรศัพท์ เนื่องจากฉันต้องวัดความเร่งบนแกน x ฉันจึงใช้:
Direction.x = Input.acceleration.x * Time.deltaTime;
Transform.translate (Direction.x * 5f);
เมื่อฉันเล่นเกม รถจะหมุนตามที่ฉันต้องการเมื่อฉันเอียงโทรศัพท์บนแกน x อย่างไรก็ตาม ปัญหาคือเมื่อฉันวางโทรศัพท์ไว้บนโต๊ะ รถเคลื่อนไปทางซ้ายช้ามาก ซึ่งไม่สมเหตุสมผลเลยเพราะมันทำมุม 0 องศา เพื่อให้แน่ใจว่านี่ไม่ใช่เพราะพื้นผิวโต๊ะ ฉันจึงเล่นมันใน Unity Simultator และมันก็เกิดขึ้นแบบเดียวกัน รถเดินทางออกช้ามาก เมื่อฉัน debug.log มันบอกว่า Direction.x มีค่าประมาณ -0.000147... ซึ่งเป็นตัวเลขที่น้อยมาก มีวิธีแก้ไขปัญหานี้หรือไม่ เมื่อโทรศัพท์นิ่ง Direction.X ของรถจะเป็น 0 หรือรหัสของฉันมีอะไรผิดปกติ