PCを変えるとIsGroundがfalseになる
初心者ですみません。
キャラクターコントローラーを用いてキャラを移動させるコードを書いています。
キーボードの左右キーで移動する単純な3Dのモデルです。
職場のPCではパーフェクトに動作しますが、セーブデータを家に持ち帰ってインポートすると動きません。
スペックは 自宅PC>>ノートPC>>職場PCです
さらにノートPCに移植してみても動きませんが、何度やっても職場のPCでだけ動きます。
Debug.Logで調査するとキャラクターコントローラー.IsGraundがfalseになっているためであることは
わかりましたがなぜPCで個体差が出るのかわかりません。。
Physics.Gravity.yは-9.81のままです。
テストしているソースコードはこれです
public class Move : MonoBehaviour { CharacterController characterController; float walkSpeed = 3f; Vector3 velocity; // Start is called before the first frame update void Start() { characterController = GetComponent<CharacterController>(); } // Update is called once per frame void Update() { Debug.Log("a"); if (characterController.isGrounded) { Debug.Log("b"); velocity = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")); transform.LookAt(transform.position + velocity); } velocity.y += Physics.gravity.y * Time.deltaTime; characterController.Move(velocity *walkSpeed* Time.deltaTime); } }
エラー状況
職場のPCではDebug.Log のaとbの数は同じになりますが
その他のPCではDebug.Logのaが1000 Bは30ほど差が出ます。
補足情報(FW/ツールのバージョンなど)
unityバージョンは2019.4.10f1です。
回答1件
あなたの回答
tips
プレビュー