#やりたいこと
玉転がしゲームを作っていてボールをスマホのジャイロセンサーで操作する機能をつけた際平らな場所に置いたときに0(動かない状態)で操作しずらかったので少し角度を上げた状態を動かない状態にしたいのですがどうすればいいでしょうか?
C#
1using UnityEngine; 2using System.Collections; 3 4public class PlayerController : MonoBehaviour 5{ 6 // speedを制御する 7 public float speed = 20; 8 int zyairo; 9 void Start (){ 10 zyairo= PlayerPrefs.GetInt("zyairo"); 11 } 12 void FixedUpdate () 13 { 14 float x = Input.GetAxis("Horizontal"); 15 float z = Input.GetAxis("Vertical"); 16 17 Rigidbody rigidbody = GetComponent<Rigidbody>(); 18 19 // xとzにspeedを掛ける 20 rigidbody.AddForce(x * speed, 0, z * speed); 21 } 22 void Update (){ 23 var dir = Vector3.zero; 24 dir.x = Input.acceleration.x; 25 dir.y = Input.acceleration.y; 26 if (dir.sqrMagnitude > 1) 27 dir.Normalize(); 28 29 // Make it move 10 meters per second instead of 10 meters per frame... 30 dir *= Time.deltaTime; 31 Rigidbody rigidbody = GetComponent<Rigidbody>();// 20 50 32 rigidbody.AddForce(dir.x*(speed*zyairo),0,(float)(dir.y+0.8)*speed*zyairo); 33 } 34}
こうするとなぜかボールがすぐに上にいってしまいました(下に行かなくなる 横移動はできる)