ジャンプさせる時の地面判定もここでやります
このページの説明
あたり判定(接触判定)を簡易説明で書いて行きます
このページの使い方は、かなり簡易的な説明だけで済ませてあるので、ここに出て来たワードを検索ワードとして使ってください、勉強になると思います、こんなこともできるよ、とか教えてくれたら、僕は、めちゃくちゃ喜びますよ
目次 コリジョンとトリガーの主な違いは、それが物質を持っているか 、触れるのか、すり抜けて欲しいのか?、くらいの解釈で覚えています Colliderには「IsTrigger」のチェック項目があるの でヒエラルキーで設定しておいてください コリジョンCollision編 トリガーTrigger編
コリジョンCollision編
private void OnCollisionStay(Collision collision) { if (collision.gameObject.tag == "jimen") { jimen = true; }} // 離れた時 private void OnCollisionExit(Collision collision) { if (collision.gameObject.tag == "jimen") //地面から離れた時 { jimen = false; }}
private void OnCollisionStay(Collision collision){コリジョン系は、この中に処理を書く}
この Stay の部分を Stay Enter Exitに変えるとそれぞれ触れている間、触れた瞬間、離れた時の処理を描くものに切り替わります
使用例 ジャンプできるのは、地面にいる時の条件に使うため使用しました private void OnCollisionStay(Collision collision) { if (collision.gameObject.tag == "jimen") { jimen = true; } }//赤文字の部分は、同じ名前にしといてください
まだこのやり方しかわからないのですが
中にあるif文の(collision.gameObject.tag==”jimmen”)
この場合ゲームオブジェクトのjimenというタグ(ヒエラルキーで設定しておいた)タグネームで指定できます、他にも(collision.gameObject.name==”名前”)とやると名前(ヒエラルキーで設定した名前)で指定することができます
まだ試していないですが弾とかを打った時、これを使って体力を減らしたり、オブジェクトを消したりに使えそうです
トリガーTrigger編
こっちは、コリジョンと違って物体をすり抜けて欲しい時に使います
ヒエラルキーのコライダーColliderの方でIsTriggerのチェックボックスをチェックすると切り替わります、この時スクリプトは、CollisionではなくTriggerを使います
体力の減る沼地とか、ここがゴールとか、中に入れるものじゃないと困る時に便利そうです
推測
多分リジッドボディーと同時には、使えないと思います、でももしかしたら、弾を飛ばすのは、物理挙動で接触は、すり抜けでとかやる時に困りそうだし、今度実験します
void OnTriggerEnter(Collider col) if (col.gameObject.name == "ヒエラルキーで設定した名前") { debug.Log("当たっちまったね"); } //赤文字は、同じ名前を使ってください
スクリプトの書き方は、Collisionとほぼ一緒でStay,Enter,Exitでそれぞれ触れている間、触れた瞬間、離れた時で使えます
実は、まだ使ったことないので、(中身は、接触があったときにデバッグログに当たっちまったねと表示される)処理のいろいろを思いつかなかったのでこれにしました
debug.Log(“自分で考えた表示させたい文字”);
デバッグログは、便利ですよ、例えば上のやつだとちゃんと判定されてるか、確認の時に使えます
コメント