【Unity】Terrainを使って地形生成する方法

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

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

こんにちは!Unityで地形を作る時、ひとつひとつオブジェクトを置いて作っていませんか?

小さいマップなら大丈夫ですが、大きなマップになってくると重たくなりますし何より手間ですよね。

UnityにはTerrainという地形を生成する機能が用意されています!

本記事ではそのTerrainを使って地形を生成する方法を解説していきます。

目次

Terrainとは

Terrainとは、地形生成に特化したモデリング機能です。

Unityエディタ上でペイントのように直感的に使うことができ

簡単に山のような起伏のある地形を作ることができます。

地形の見た目を変えるテクスチャはアセットストアで無料で手に入りますし、

Terrainを使いこなせれば個人開発でも広大なマップを作ることができます。

Terrainの使い方

ここからは実際にTerrainで地形を作っていきましょう。

以下のような手順で作り方を解説していきます。

  1. Terrainを作成する
  2. 地形を作る
  3. 地形にテクスチャを設定する
  4. Terrainによる地形の当たり判定

Terrainを作成する

まずはTerrainを作成しましょう。

ヒエラルキー上で右クリック→3DObject→Terrainを選択します。

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

Terrainのインスペクターを開くと下の画像の赤線のところに、5つのアイコンがあると思います。

このタブでは左から順番に下のような設定ができます。

  1. 隣接するTerrainの新規作成
  2. Terrainの形状やテクスチャの設定
  3. 木などを編集
  4. 草などを編集
  5. Terrainのサイズなどの詳細設定

さてここから地形を作っていくのですが、デフォルトのサイズでは少し大きくて扱いにくいです。

一番右の詳細設定タブを開いて、「Terrain Width」と「Terrain Length」を見てみると

デフォルトでは1000になっています。

ここを両方100に変更しましょう。

これで扱いやすいサイズになりました。

地形を作る

Terrainが作成できたので、ここから山の地形を作ってみましょう。

地形を作成するには左から2番目の「Paint Terrain」のタブを開きます。

Paint Textureとなっているところをクリックして開きましょう。

山を作るには「Raise or Lower Terrain」を使います。

これはブラシで塗るように、地形の起伏を上げ下げして山を作ることができます。

Brushesのところで、起伏の形状を指定できます。

下のブラシの種類を試してみましょう。

シーンビューにマウスカーソルを持っていくと、このように作る形状が透明で表示されます。

この状態でクリックすると起伏を作ることができます。

クリックで小さい起伏ができ、長押しすると大きい起伏ができるのですが、デフォルトの設定だと

少し押しただけで高くなりすぎてしまうかと思います。

そんなときはOpacityの値を小さくしてみましょう。

Opacityの値を小さくすると地形の上昇幅も小さくなります。

Opacityを10に設定して試してみます。

先ほどよりもゆるやかな起伏の上昇になり、山が作りやすくなりました。

また、起伏を下げたい時はShiftキーを押しながらクリックすることで下げることができます。

これがブラシで「塗る」ように地形を作る方法です。

スタンプで「型押し」するように地形を作る機能も用意されていますので簡単に紹介します。

Raise or Lower TerrainからStamp Terrainに変更しましょう。

スタンプを使う前に、Stamp Heightからスタンプの高さを指定しておきましょう。

Brushesを選んで、シーンビュー内でクリックすることで地形をスタンプすることができます。

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

地形の形を作れるようになったので、次はテクスチャを貼ってリアルな見た目にしていきましょう。

Terrainに使えるアセットはUnityアセットストアで無料で提供されています。

今回は下の「Terrain Textures Pack Free」を使います。

あわせて読みたい
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.

Terrain Textures Pack FreeをUnityにインポートします。

インポートできたら、Terrainのインスペクター内、PaintTextureの項目を選択します。

下のように、Edit Terrain LayersからCreate Layerを選択します。

すると先ほどインポートしたテクスチャーが表示されますので、Terrainに適用したいものを選びましょう。

これでテクスチャが設定できました。

さらに、一部のテクスチャーを別のものにすることも可能です。

再びEdit Terrain LayersからCreate Layerを選択します。

先ほどとは別のテクスチャーを選択すると新しくレイヤーが追加されます。

追加されたレイヤーを選択してからシーンビューでクリックすると、新たなテクスチャーで塗ることができました。

ちなみに、木も同じようにしてEditTreesから3Dモデルを選択して作ることができます。

Terrain Textures Pack Freeには木のモデルが含まれていないので

木のアセットを別にインポートすれば作ることができます。

下の無料の木のアセットを使って木の生成も同じように試してみましょう!

あわせて読みたい
Realistic Tree 9 [Rainbow Tree] | 3D Trees | Unity Asset Store Elevate your workflow with the Realistic Tree 9 [Rainbow Tree] asset from Pixel Games. Find this & other Trees options on the Unity Asset Store.

Terrainによる地形の当たり判定

Terrainを作ると、Terrain Colliderコンポーネントが自動で追加されているはずです。

このColliderが作成したTerrainの地形に合わせて当たり判定をつけてくれます。

試しにCubeを上空に置いて当たり判定を見てみましょう。

確かに山の形状に合わせて当たり判定がついていますね。

自分で複雑な地形に当たり判定をつけるのは大変なので、Terrainの便利さが分かります。

地形データを取り込む

日本各地の地形データの3DモデルをUnityに取り込めるアセットが無料公開されています。

あわせて読みたい
PLATEAU SDK for Unity | Utilities Tools | Unity Asset Store Use the PLATEAU SDK for Unity from PLATEAU_MLIT on your next project. Find this utility tool & more on the Unity Asset Store.

こちらの「PLATEAU SDK for Unity」は国土交通省が公開しているもので、

日本の街がテーマのゲーム開発やシミュレーションに使えるように作られています。

詳しい使い方については下の特集サイトから見ることができます。

あわせて読みたい
PLATEAU SDK for Unity - Asset Store 「Unityで日本の街を駆け巡るゲームを開発したい」「日本の都市を使ったシミュレーションをしたい」そのような制作・開発シーンで活用できる 3D都市モデルがあることをご存...

おすすめアセット

地形の無料アセット

Terrain Toolkit 2017

あわせて読みたい
Terrain Toolkit 2017 | Terrain | Unity Asset Store Get the Terrain Toolkit 2017 package from heparo and speed up your game development process. Find this & other Terrain options on the Unity Asset Store.

こちらはパラメータを調整するだけで、地形を自動生成してくれる無料アセットです。

Terrainの基本機能だけで地形を全て作ろうとすると、大きなマップだと大変です。

こちらのアセットを使えば、大まかな地形を自動生成で作り詳細部分を

Terrainの基本機能で調整する、といった効率的な地形の作り方ができますよ!

地形の有料アセット

Gaia 2021 – Terrain & Scene Generator

あわせて読みたい
Gaia 2021 - Terrain & Scene Generator | Terrain | Unity Asset Store Get the Gaia 2021 - Terrain & Scene Generator package from Procedural Worlds and speed up your game development process. Find this & other Terrain options on th...

こちらは地形生成で最も有名といってもいいアセットのGaiaです。

Terrainの使い方をベースに地形を自動生成でき、草木や建物なんかも配置してくれます。

ポストエフェクトライティングまでいい感じに設定してくれる便利アセットです。

まとめ

以上、Terrainを使って地形を生成する方法を解説してきました!

Terrainは最初は少し慣れが要りますが、使いこなせれば様々なマップを作ることができます。

アセットの力も借りながらマップを効率よく作っていきたいですね!

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

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

この記事を書いた人

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

目次
閉じる