【Unity】地面をPlaneで簡単に作ってみよう

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

こんにちは!Unityで地面を作るときどんな方法で作っていますか?

Terrainを使ったり、アセットを使ったりなど色々な方法がありますが

Planeを使うと最も簡単に地面を作ることができます。

そこで本記事では地面をPlaneで作る方法を解説していきます!

目次

地面を作る方法

ここでは、Unityで地面を作る方法について以下のような順番で解説していきます。

  • Planeで地面を作る
  • 地面に当たり判定をつける
  • 地面にマテリアルを設定する
  • 地面にテクスチャを設定する
  • Terrainで地面を作る

それではまずはPlaneで地面を作る方法を紹介します。

Planeで地面を作る

平面を表示する機能である「Plane」で地面を簡単に作ることができます。

PlaneはGame Object→3D Object→Planeから作成できます。

このように平面が作成されます。

地面に当たり判定をつける

PlaneにはデフォルトでColliderのコンポーネントがつくので、当たり判定がついています。

試しにCubeを作成し実行してみると、Planeの位置でCubeの動きが止まり、

当たり判定がついているのが分かります。

なお、地面とオブジェクトとの摩擦や跳ね返りについては以下の記事で詳しく紹介しています。

あわせて読みたい
【Unity】オブジェクトに摩擦と跳ね返りを設定する方法 こんにちは!Unityでリアルな動きを表現したい時に使えるのが、摩擦や跳ね返りの設定です。 摩擦と聞くと難しいイメージがありますが、Unity内では簡単な設定で実現でき...

地面にマテリアルを設定する

Planeの地面にマテリアルを設定し、色を変える方法を解説します。

Assetsフォルダ内で右クリック→Create→Materialから新しくマテリアルを作成しましょう。

作成したマテリアルのインスペクター内、Albedoからマテリアルの色を選択できます。

色が選択できたらマテリアルをPlaneにドラッグアンドドロップしましょう。

これで地面にマテリアルが設定でき、色を変更することができました。

地面にテクスチャを設定する

ここでは地面にテクスチャを設定する方法を解説します。

テクスチャは、下のリンクからダウンロードできるフリーのアセットを使います。

あわせて読みたい
Terrain Textures Pack Free | 2D Nature | Unity Asset Store Elevate your workflow with the Terrain Textures Pack Free asset from ALP. Browse more 2D Textures & Materials on the Unity Asset Store.

下のように、まずはPlaneにマテリアルを設定します。

その後マテリアルのインスペクターを開き、

Albedoの左側の四角のところに、テクスチャをドラッグアンドドロップします。

これで地面のPlaneにテクスチャが設定されました。

Terrainで地面を作る

ここまではPlaneで地面を作る方法を紹介しました。

平面の平らな地面ならPlaneで十分なのですが、凹凸のあるより複雑な地形の地面を作りたい場合は

Terrainで地面を作るのがオススメです。

Terrainの詳しい使い方については下の記事で詳しく解説しています。

あわせて読みたい
【Unity】Terrainを使って地形生成する方法 こんにちは!Unityで地形を作る時、ひとつひとつオブジェクトを置いて作っていませんか? 小さいマップなら大丈夫ですが、大きなマップになってくると重たくなりますし...

地面の設定がうまくいかないとき

オブジェクトが地面に埋まる

下のように、キャラクターが地面に埋まってしまう時があります。

そんな時は、キャラクターのColliderの設定を確認してみましょう。

オブジェクトと地面との当たり判定はColliderによって行われるので、

下のようにColliderがキャラクターと合っていないと埋まってしまいます。

キャラクターのColliderは、インスペクターの内のEditColliderのボタンを押すことで表示、編集できます。

EditColliderを押した状態で、Colliderの頂点をドラッグすることで形を編集することができます。

キャラクターの上端と下端が一致するようにColliderを編集しましょう。

Colliderをキャラクターの形に合わせると、地面に埋まらなくなりました。

オブジェクトが地面をすり抜ける

下のように、キャラクターが地面をすり抜けてしまう場合があります。

そんなときは下の項目を確認してみましょう。

  • キャラクターと床のColliderが設定されているか確認する
  • ColliderのIsTriggerのチェックを外す
  • Layer Collision Matrixでレイヤーの衝突設定を確認

IsTriggerについて

Colliderには「Is Trigger」というチェックボックスがあります。

「Is Trigger」は当たり判定自体は検出するが、それによる物理的な挙動は無視するという設定項目です。

ここにチェックが入っていると地面をすり抜けてしまうのでチェックを外しましょう。

Layer Collision Matrixについて

オブジェクトにレイヤーを設定している場合、Layer Collision Matrixの設定を確認してみましょう。

例えば下のように地面には「Ground」キャラクターには「Player」というレイヤーを設定している場合を考えます。

Project Settings→Physics内にあるLayer Collision Matrixを見てみましょう。

下の画像ではGroundとPlayerが交わるチェックボックスのチェックが外れています。

この状態では地面とキャラクターの衝突判定が無視されて、地面をすり抜けてしまいます。

衝突させたいオブジェクト同士はチェックを入れておくようにしましょう。

オブジェクトを地面に沿って移動させたい

引用元:Unityマニュアル

オブジェクトを地面に沿って移動させたい場合があるかと思います。

Cinemachineという機能を使うと、自分で上の画像のようなパスを作成しそれに沿って移動させることができます。

Cinemachineの設定方法については下の記事が参考になります。

umi studio blog
【Unity】キャラクターをパスに沿って移動させる方法!カメラも追従【Cinemachine】 はじめにCinemachineを利用して、パスに沿ってキャラクターを移動させる方法について紹介します。以下のように、カメラも一緒に移動させることができます。CinemaChineとは...

3Dで地面判定(接地判定)をつける方法

地面判定(接地判定)とはキャラクターが地面についているかどうかを判定することです。

これにより、地面についている時のみキャラクターを「ジャンプ可能」にするといったことができます。

この接地判定については下のような手順で行うことができます。

  1. 接地判定用オブジェクトをキャラクターの子オブジェクトとして足元に配置
  2. 接地判定用オブジェクトのColliderのIsTriggerにチェック
  3. 地面にタグを設定
  4. 接地判定用オブジェクトが地面に触れた時のみ処理を行うプログラムを作成

詳しい設定方法やスクリプトについては下の記事が参考になります。

Qiita
【UnityでC#】スクリプトで接地判定を作ろう! - Qiita はじめに 今回はUnityのC#を用いて接地判定を実装したいと思います。プレイヤー操作の移動は実装していますが、接地判定ができていないので実装していきます。プレイヤー...

おすすめアセット

Outdoor Ground Textures

あわせて読みたい
Outdoor Ground Textures | 2D Floors | Unity Asset Store Elevate your workflow with the Outdoor Ground Textures asset from A dog's life software. Browse more 2D Textures & Materials on the Unity Asset Store.

Outdoor Ground Texturesは、地面のテクスチャが14種類入った無料アセットです。

テクスチャは並べた時に自然に繋がる作りになっています。

無料ながらクオリティが高く、非常に使い勝手の良いアセットです。

Cartoon Ground and Floor Textures

あわせて読みたい
Cartoon Ground and Floor Textures | 2D Floors | Unity Asset Store Elevate your workflow with the Cartoon Ground and Floor Textures asset from Kamara Creations. Browse more 2D Textures & Materials on the Unity Asset Store.

Cartoon Ground and Floor Texturesは、アニメ風の地面のテクスチャが31種類入ったアセットです。

草むらのような自然の地面から、木や石で作られた人工的な地面まで幅広く種類があります。

アニメ風のワールドを作る時にぜひ使いたいアセットです。

地面をPlaneで作る方法まとめ

以上、地面をPlaneで作る方法について解説してきました!

地面についてはどんなゲームでも必須になってくるので、扱い方をマスターしておきたいですね!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Unityメインの個人開発者。UnityでAIを学習させてみたり、野球ゲームを作ってみたりと色々してました。現在はライターとして、Unityで開発する人の力になる記事が書けるよう奮闘中。

目次
閉じる