【Unity】Terrainとは?ゲーム内の地形を作成できる機能

Unity

こんにちは、ともくんのゲーム作り部屋にようこそ!

このページでは、

「UnityのTerrainってなに?」

「Terrainを使うと何ができるの?」

というお悩みの方に向けた内容となっています。

Unityには、Terrain(テレイン)というオブジェクトを配置することができます。

このTerrainとは、3Dにおけるゲーム内の地形を作ることができる機能です。

例えば、ゲーム内に山を表示させたり、川を流したり、草や木を植えるといったことができるようになります。

そこで、このページでは、Unityで地形を作ることができるTerrainについて、どんなことができるのか、また使い方までをまとめていきます。

この記事を書いた人

ゲーム作りを学び始めた一児のパパです。
このブログは、子供から「ゲームを作ってみたい!」と言われ、非プログラマーでゲーム作りをしたことない僕が、ゲーム作りの本を読んで独学でゲーム開発を学んでいるブログです。
同じように初めてゲーム作りをしている方と一緒に学んでいけるようなブログに出来たらいいなと思っています。
また、「このコードはおかしい」とか「もっと良い書き方があるよ!」などあれば、どんどん指摘して頂けると助かります。

Terrain(テレイン)とは?地形を作るための機能

Terrain(テレイン)とは、Unity内で3Dの地形を作ってゲーム内に表示させることができる機能です。

もう少し具体的に言うと、ゲーム内で表示させたい草原など地形に関するものをTerrainで作ることができます。

Terrainには様々な機能がありますが、マウスを使って簡単に地形を作り上げることができる非常に便利な機能です。

Terrain(テレイン)の基本的な使い方・作り方

ここからは、実際にTerrainを使って地形を作ってみます。

Terrainをゲーム内に配置する

まずは、Terrainを配置する必要があるので、ヒエラルキーウィンドウの+ボタンから「3D Object」の中にある「Terrain」を選択します。

すると、Terrainという名前のオブジェクトが配置され、まっさらな地面が作成されます。

この作成されたTerrainオブジェクトには、地形を作っていくためのTerrainコンポーネントと、他オブジェクトとの衝突範囲を指定するTerrain Colliderコンポーネントが紐づいています。

また、アセットフォルダ内にはTerrain Dataが自動的に作成されて保存されます。

Terrainで簡単な地形の作り方

先ほど作成したまっさらな地面に、Terrainコンポーネントを使って様々な地形を作っていきます。

ここでは、

  • 地形の起伏(山や川)を作る
  • 地形にテクスチャを付ける
  • 木や植物を配置する

という3つの作業を行っていきます。

地形の起伏(山や川)を作る

山や川などのような地形の起伏を作りたい場合は、Terrainコンポーネントの「Paint Terrain」のアイコンを選択して、「Raise or Lower Terrain」を選択します。

Raise or Lower Terrainは、地面を起伏させたり平坦にさせることができるモードで、地面を起伏させるためのブラシの種類やサイズ、また起伏度合いを設定できます。

そして、カーソルをシーンウィンドウのTerrainの地面の方に移動させると、ブラシのマークが表示されてマウスの左クリックを押しながらドラッグすると、地面を起伏させて山を作ることができます。

ちなみに、シフトキーを押しながらドラッグすると、起伏していた部分を平坦に戻すことができます。

また、川のように地面を凹ませたい場合は、地面を一度起伏させておく必要があります。

その際に便利なのが、「Set Height」を使うことで地形を特定の高さまで引き上げることができます。

高さを指定して、ブラシで左クリックすると、その範囲の地形が引きあがります。

そして、もう一度「Raise or Lower Terrain」に戻して、先ほど起伏させた部分をシフトキーを押しながらドラッグして平坦に戻してあげることで、川などを作ることができます。

ここでは、以下のような感じで地面の起伏を作ってみました。

地形にテクスチャを付ける

次に、先ほど作った地形にテクスチャを付けていきます。

テクスチャとは、表面の見た目のことで、現状は白っぽくなっている地面や山の見た目を変えていく作業になります。

このテクスチャの画像は、UnityAssetStoreからダウンロードできるものがたくさんあるので、「terrain texture」などで検索してインポートしておきましょう。

今回は、「25+ Free Stylized Textures – Grass, Ground, Floors, Walls & More」というアセットをダウンロードしてみました。

テクスチャを設定する場合は、Terrainの「Paint Terrain」のアイコンから「Paint Texture」を選択して、Terrain Layers「Edit Terrain Layers…」から「Create Layer…」を選択してテクスチャレイヤーを作成します。

まずは、地面の見た目を草原っぽくしたいので、一覧から草原風のテクスチャを選びます。

Terrain Layersの項目に草原風のテクスチャが表示されるとともに、Terrainの地形の全てにテクスチャが貼り付けられています。

最初に、テクスチャレイヤーを作成した場合は、上記のように地形の全てにテクスチャが貼り付けられることになります。

次に、山の部分は異なる見た目にしたいので、先ほどと同様に「Create Layer…」を選択して、山っぽいテクスチャを選びます。

Terrain Layersに表示されたテクスチャを選択して、ブラシのサイズ等を選んだあとに地形の山の部分を左クリックしながらドラッグすると、その部分のみテクスチャが変更されます。

ここでは、山の上部だけを塗りつぶして、以下のような見た目にしてみました。

なお、水の部分はテクスチャではなく、「Unity Terrain」というアセットを追加して、後ほど水を入れるように調整します。

木や植物を配置する

最後に、木や植物などを地形内に配置していきましょう。

Terrainオブジェクトを選択して、「Paint Trees」のアイコンを押して「Edit Trees…」から「Add Tree」を選択して、木を追加していきます。

Tree Prefabの項目に配置させたい木や植物を選択して、下にある「Add」をクリックします。

Treesの箇所に木が追加されているので、ブラシのサイズなどを設定して、

地面をマウスで左クリックすると木を植えることができます。

他に木を増やしてあげることで、以下のような地形をTerrainで作ることができました。

まとめ

このページでは、Unityで地形を作ることができるTerrainについて、どんな機能なのか、また使い方や作り方をまとめていきましたが、いかがでしたでしょうか?

Terrain(テレイン)とは、3Dの地形を作るための機能で、ゲーム内の草原などを表示させることができます。

このTerrainを使うことで、地形に起伏を付けたり、地面や山にテクスチャで色を付けたり、木や植物を植えることができます。

Terrainは、マウスを使って非常に簡単に地形を作ることができるので、3Dゲーム作りを効率的に進めることができます。

最後までお読みいただきまして、ありがとうございました!

コメント