Unity

Unityで地面の当たり判定を足元だけ取得する【3D】

投稿日:

今回やること

Rigidbodyによるジャンプの時に地面の当たり判定を足元だけ取得します
コライダーで判定をとる場合、コライダーの下で触れても、上で触れても地面に当たっていることになってしまいます
例えば上下に地面がある場合に、今回のような処理をします

ジャンプするキャラの準備

今回はこちらを参考に準備しました

編集していくスクリプト

現在はスペースキーをおしたらジャンプできるようになっていますが、地面に触れたかどうかの判定は、コライダーに地面が触れているかどうかで判断しています

画像のように頭が触れていても地面に触れていることになってしまいます

足元だけ地面の判定を取る

今回はRayという機能を使います

Rayとは?
指定された地点から飛ばすレーザー光線のようなもの
当たった物の判定を取ることができる

Jumpスクリプトを編集する

以下のように編集します

編集する内容

スクリプトの解説

レイを下に飛ばし、レイが地面に触れてるかどうかで、Groundedを切り替えています
コライダーの代わりにレイで判定を取るようにしました

テストプレイをすると

足元が地面に触れてる時だけ地面に触れていることになっています

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

-Unity

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

Unityでクリックしたところにブロックを置く

no image

Unityでオブジェクトに色をつける【Material】

マテリアルの作成 Create → Materialを選択します マテリアルに名前をつける マテリアルに色をつける inspector部分の色のアイコンをクリックすると色を選択出来るようになります オ …

CharacterControllerを使ってアスレチックアクションを作ろう

今回作るゲーム 今回やること ①プレイヤーの移動 ②プレイヤーのジャンプ ③プレイヤーからエフェクトを出す ④アイテムを配置する ⑤制限時間を作る パッケージのダウンロード こちら よりパッケージをダ …

オブジェクトを波状に動かす

Unityでシーンを切り替える

現在のシーンの登録 現在のシーンをセーブして、File → Build Settingsをおします Add Open Scenesをおして、×で閉じます 切り替えるシーンの作成 File → New …

ゲタバコ倶楽部へようこそ

  • 112002総閲覧数:
  • 74今日の閲覧数:
  • 80875総訪問者数:
  • 65今日の訪問者数:

住所
Akita,Japan

営業時間
月~日: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動、プログラミングの習得方法を発信するページです。
仕事のご依頼、メッセージ等、サービス概要をご覧の上で、お気軽にご連絡ください。

getabakosensei@gmail.com