2016-07-24 16 views
0

を働いていませんがあらかじめ作られたものであることこれを実行するため.IN)をインポートすることができ、私はコントローラスクリプトからジャンプ機能を削除し、次のように読み込み、「キューブ」と呼ばれるスクリプトを追加しました:これをやった後ジャンプOnCollision()スクリプト私はと同時に自動的に地面が</strong>(<strong>私が使用しているコントローラを打っているようホッピングオフに基づいているゲームを作るしようとしている、基本的に

using UnityEngine; 
using System.Collections; 

public class Cube : MonoBehaviour { 

     void OnCollisionStay (Collision col) 
     { 
     if (col.gameObject.name == "Blue") { 
      Rigidbody rig; 
      rig= GetComponent<Rigidbody>(); 
      rig.velocity = new Vector3 (0, 8, 0); 

      print ("collison detected"); 
     } 
      } 
     } 

を、私は制御を期待しました「OnCollisionStay()」トリガのために地面に着くとすぐに飛びます。 はしかし、代わりに私はこののように見える空中にいる場合にも起こる急激なジャンプを得る:

https://youtu.be/ILtRac_RgLg

答えて

1

まずundoRigidbodyFirstPersonControllerスクリプトに行ったすべての変更。可能であれば、それを削除し、Unityからクリーンなものを再インポートしてください。

RigidBodyFPSController GameObjectを選択し、エディタで添付されているRigidbodyFirstPersonControllerスクリプトを見てください。その下には、詳細設定という設定があります。 詳細設定の下には、シェルオフセットと呼ばれる変数があります。 シェルオフセットをデフォルト値0から0.5に変更します。もう一度やり直してください。この問題はなくなるはずです。それがうまくいかない場合は、それ以上バンプアップしてください。これはあなたの問題を解決するはずです。

enter image description here

+0

で移動カント:ジャンプして見て回ることができイムしかし、私はアップデート2を移動カント:チェックしなければなりませんでした空気制御 – SpikyCat

+0

@SpikyCat今飛び降りるはずです。飛び跳ねますか?そうであれば、あなたは何を持っているのですか? – Programmer

+0

すべてが修正されました。私はちょうどaircontrolを – SpikyCat

0

重力がそれに影響を与えるされてあなたは空気中ではありません。あなたが衝突を終了するたびに、あなたのy軸の上向きの速度は働いておらず、重力は下向きになっています。

重力を使用したくない場合は、FPSControllerのRigidbodyコンポーネントのgravityを無効にします。

+0

は今FPSControllerが、私はまだ問題のアップデートを持つ、10までのすべての道をそれをぶつけてみましたすべての – SpikyCat

関連する問題