UnityのTerrainの基本的な使い方を紹介していきます。
Unityに標準で装備されているTerrainは、ゲーム等で活用するための地形(3Dフィールドマップ)を簡単に作成するためのツールです。本来は3Dのマップを作るためには、3Dモデリングをする必要がありましたが、Terrainを使用すると、直感的かつ簡単に3Dフィールドマップができてしまうのです。
シンプルなツールの為できる事に限界はありますが、3Dモデリングツールを使用するのに比べれば作業効率は段違いに早いです。
※TerrainについてはUnityの公式Terrainマニュアルがあります。詳細はこちらを確認してください。
- Unityで3Dのフィールドを作成してみたい
- Terrainの基本的な使い方を知りたい
- Terrainで山や川などを作成してみたい
Terrainを使う準備
ではTerrainを使うための準備から進めていきましょう。
UnityでTerrainを導入する
まずはTerrainを導入します。以下の操作でTerrainオブジェクトをSceneビューで使用できる様になります。
Hierarchyウィンドウ > 3D Object > Terrainを選択する。
これで、Terrainゲームオブジェクトが使用できる様になります。
※ちなみに、Unityのメニューにある「GameObject > 3D Object > Terrain」でも同様に使用できます。
この時点では何の地形も存在していない状態ですが、とりあえず準備はできました。
■Terrainが使える様になる(Sceneビューに表示される)
Terrainコンポーネント
次にTerrainコンポーネントの方を覗いてみましょう。
HierarchyウィンドウのTerrainゲームオブジェクトをクリックするとTerrainコンポーネントが開きます。
Terrainの設定
まずはTerrainコンポーネントにあるTerrainの設定項目を少し覗いてみましょう。
設定は以下の歯車のマーク(Terrain Settings)で行う事ができます。
色々な項目が出てくるのですが、何が何だか分からないと思います。今使わない所は飛ばしておきましょう。
Terrainの横サイズと縦サイズ
ただ、最初に覚えておいてほしいのは「Mesh Resolution」にある以下のパラメータです。
- Terrain Width
- Terrain Length
これはTerrainのサイズを設定するためのもので、Terrainの横サイズと縦サイズを指定できます。
※TransformのScaleの値をいくら変更してもTerrain自体のサイズは変わらないので要注意
その他の設定はここでは「ふーん」くらいに思っておきましょう。
Terrainの基本機能を使って地形を作成してみる
簡単な準備だけはしたので実際にTerrainの基本機能を使って、山や川などの地形を作ってみましょう。
まずは地形の描画の準備をしてみます。
Terrainによる地形の描画準備
TerrainコンポーネントでPaintTerrainアイコン(筆のマーク)をクリックしましょう。
クリックすると、すぐ下にドロップダウンリストが出現します。
※Unityのバージョンによってレイアウトや名前が異なる可能性があります。その場合は公式マニュアルを参照して下さい。
Raise or Lower Terrainツール
ここで使うのはドロップダウンリストの中にある「Raise or Lower Terrain」ツール。
これは地形を盛り上げたり、盛り下げたりするツールです。Terrainでもっともよく使用する機能と言えます。
■PaintTerrainアイコンをクリック&ドロップダウンリストが表示される
「Brushes」でブラシの形を決める
次に地形を作成するためのブラシの形を決めましょう。
基本的に地形を作る場合は、丸いブラシを選択する事が多いと思いますが、Terrainコンポーネントの「Brushes」でブラシの設定ができます。
- Brushes⇒ブラシの形を設定
- Brushes Size⇒ブラシの大きさを設定
- Opacity⇒ブラッシングの透明度(この場合は強さ)を設定※強ければ盛り上げる力が強い
これで最低限の描画準備ができました。
Terrainで地形を盛り上げて山を作る
さて、さっそくTerrainで地形を盛り上げて山を作ってみましょう。
紹介済みのPaintTerrainアイコンで選択できるRaise or Lower Terrainツールを使用します。
地形を盛り上げる(隆起させる)
山を作る時はこのRaise or Lower Terrainツールを選択して、左クリック&ドラッグで地形を盛り上げます。
山を盛り下げる(平にする)
逆に盛り下げる場合は「Shift」+左クリック&ドラッグで山を盛り下げる(平にしていく)事ができます。
盛り上げた山でこの操作をすると平地になります。
異なる形状のブラシを使用してみる
次にブラシの形を変えてみましょう。
様々な形のブラシがあるのですが、一旦六角形の形のブラシにしてみます。
六角形のブラシで山を作ると以下の様な形になります。
ブラシの形状を変更する事で、様々な形の地形を作成する事が可能になります。
地形の高さを固定する(Set Height)
地形を盛り上げて山を作ったりする際に、高さを固定したい事があります。
高さを固定すると、鋭く尖った様な山ではなくて、台地の様な山を作成できます。
実際に作ってみましょう。
Terrainコンポーネントで「PaintTerrainアイコン > Set Height」を選択します。
コンポーネントにある「Heightの値」を設定すると、高さを固定した状態で山を作る事ができます。
※Heightの値=最大の高さになります。
ちなみにSpaceで「World」と「Local」を設定できます。ここではLocalを設定しておきます。
この設定で、Terrainゲームオブジェクト上で山を作ってみましょう。以下の様に高さが固定された山(台地の様な形状)を作成する事ができます。
地形を滑らかにする(Smooth Height)
次はTerrainゲームオブジェクトの地形を滑らかにしてみます。
まず、尖った山々が並ぶ地形を用意します。
Terrainコンポーネントの「PaintTerrainアイコン > Smooth Height」を選択
細かい設定ができますが、初期設定でもOKです。
先程の尖った山々が並ぶ地形をなでる様にドラッグしてみましょう。
そうすると、山々の形が滑らかになった事が分かります。
溝を作る
山を作って、地形を盛り上げてみましたが、平地に溝を作ってみます。
川などを作る場合は、この方法でまずは溝を作る事になると思います。
溝を作る場合、一旦、山を作ったり、平地の高さを少し高くしておく必要があります。
ここでは地形(平地)の高さを予め少し高くした上で溝を作ってみます。
まずは地形(平地)の高さを少し高くします。
- Terrainコンポーネントで「 PaintTerrainアイコン > Set Height」を選択
- Heightパラメータを10程度に設定して「Flatten ALL」を選択
Terrainゲームオブジェクト(地形)が全体的に盛り上がります(隆起します)。
次に「Raise or Lower Terrainツール」を使用して、地形に溝を作ります。
既にご紹介の通り、Shift+左クリックしながらドラッグをして、地形に溝を作ります。
綺麗に整えて溝ができあがりました。
ちなみに、「Raise or Lower Terrainツール」で山も作って山と溝ができました。
川を作ってみる
溝を作ったのでそこに川を作ってみましょう。
川の素材はUnity公式のStandard Assetsを使用します。AssetStoreでStandard Assetsをimportしましょう。
ここでは川の素材が入っているEnvironmentだけimportします。
※部分的にimportすると正常に動かない事があります。その場合は全てimportしましょう。
Assetsのimportが完了したら、以下のフォルダに進みます。
Assets > Standard Assets > Environment >Water > Water4 >Prefabs
ここで「Water4Advanced」を選択します。これが川の元になる素材です。
Water4AdvancedをTerrainゲームオブジェクト上にドラッグします。
Water4Advancedの高さなどを調整して溝が綺麗に川になる様に移動して配置しましょう。
そして、素材のサイズが小さいので少し拡大しましょう。
ちなみに、色付けをしたり木を植えたりもすると以下の様な地形になります。
まとめ
今回はUnityの地形生成ツールである「Terrain」の基本的な使い方を紹介しました。
- 「Raise or Lower Terrainツール」で地形の盛り上げなどを行った
- 地形をブラシで作成した(ブラシ形状等の詳細は変更可能)
- 地形の高さを設定してみた
- 地形を滑らかにするなどもしてみた
- 山・溝・川などを作成してみた
- 川を作成する際はアセットの素材を使用した
最後に地形にペイントしたり木を植えたりしたものも紹介しましたが、今回紹介したのはあくまで地形を作る部分までになります。
とはいえ、Terrainで地形を作る際の大事な基本部分になりますので、しっかりと覚えておきたいポイントです。