質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

0回答

1238閲覧

接地しているのにisgroundedでfalseが返ってくる

thomas

総合スコア0

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

0クリップ

投稿2020/08/05 11:31

編集2020/08/05 11:40

前提・実現したいこと

Unityでキャラを歩かせたい

発生している問題・エラーメッセージ

明らかに接地しているがcharactercontroller.isgroundedでfalseが帰ってくる 地面は平面でcharectercontroller.moveで常に下向きに移動させていて、地面の上に止まっている状態

該当のソースコード

C#

1 void Start() 2 { 3 PlayerController = GetComponent<CharacterController>(); 4 PlayerAnimator = GetComponent<Animator>(); 5 Camera = GameObject.Find("Empty/Main Camera"); 6 Empty = GameObject.Find("Empty"); 7 EmptyRatate = Empty.transform.rotation; 8 } 9 10 // Update is called once per frame 11 void Update() 12 { 13 if (PlayerController.isGrounded) 14 { 15 PlayerX = Camera.transform.right * Input.GetAxis("Horizontal"); 16 PlayerZ = new Vector3(Camera.transform.forward.x,0,Camera.transform.forward.z) * Input.GetAxis("Vertical"); 17 PlayerLook = (PlayerX + PlayerZ) * runspeed; 18 PlayerVelocity.y = -5; 19 if (PlayerLook.magnitude > 0) 20 { 21 transform.LookAt(transform.position + PlayerLook); 22 PlayerAnimator.SetBool("AniPlayerRun", true ); 23 } 24 else 25 { 26 PlayerAnimator.SetBool("AniPlayerRun", false); 27 } 28 29 if (Input.GetKeyDown(KeyCode.Space)) 30 { 31 PlayerVelocity.y += 15; 32 } 33 34 } 35 else 36 { 37 PlayerAnimator.SetBool("AniPlayerRun", false); 38 } 39 PlayerVelocity = new Vector3(PlayerLook.x, PlayerVelocity.y, PlayerLook.z); 40 PlayerVelocity.y += Physics.gravity.y * Time.deltaTime; 41 PlayerController.Move(PlayerVelocity * Time.deltaTime ); 42 Empty.transform.rotation = EmptyRatate; 43 } 44}

試したこと

charactercontrollerのコライダーの大きさをいじってみた、解決しなかった。

Unity 2019 4.4f1.personal
Visual Stadio 2019

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2020/08/06 00:10

「unity charactercontroller isgrounded」でGoogle検索すると判定改善案等が出るので、まずはそちらの確認と試行をしてみてください。
thomas

2020/08/06 08:26 編集

ある程度調べていますが全体的に坂道等の挙動についてのものが多く、平面上で停止している今回の状況で役立つものは見つかりませんでした
sakura_hana

2020/08/06 09:37

坂道での補正用スクリプトを追加すれば平面でも正常動作するのではと思わなくもないですが、 一応スクリーンショットがあると分かる方が回答してくださるかもです。(オブジェクトの座標やシーン上で地面に接触しているのが確認出来る画像があるとよいかと)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問