自分の好きな地形を創造する!Unityの「Terrain(テレイン)」機能の紹介

今回は「Terrain」について紹介します。

本記事は、clusterに対応しているUnityを既に導入していて一度も「Terrain(テレイン)」を触ったことがないという人に向けて、基本的な使い方を紹介する記事になります。

「Terrain」はUnityに用意されている地形オブジェクトで、ペイントするように地形をつくることができるのが特徴です。
直感的に使えるのでモデリングが苦手という方は「Terrain」を使ってワールドをつくってみるのもありです。

「Terrain」をつくるための準備

まず、Terrainに設定するテクスチャを準備します。

Unity Asset Store等ではTarrinのテクスチャとして利用可能なアセットが多数販売されています。無料のものもあるので、「Terrain Texture」などのキーワードで探してみましょう。Unity Asset Storeの使い方については、こちらで紹介しているので、分からない方はご覧ください。

「Terrain」をつくる

それでは、実際に「Terrain」をつくっていきましょう。
Terrainをつくるのは非常に簡単です。

  • 「Hierarchy」上で右クリックして「3D Object→Terrain」を選択するか、上部の「GameObject」を選択し「3D Object→Terrain」を選択するだけです。

下記のようなPlaneが表示されていれば、成功です。
これがTerrainのベースになります。

TerrainのInspectorについてざっくり下図で解説します。

Terrainはこだわればこだわるほど、さまざまな表現はできますが、今回はまず「山」をつくることを目指して、必要な工程を紹介していきます。

地形を創造する

実際に地形をつくっていきましょう。

Terrainを選択すると「Inspector」が下記のように表示されます。この中の「Terrain」の項目を変更することで地形の編集が可能になります。

まずは山をつくってみましょう。

  • 「Terrain」の下にある5つの項目の左から2番目の「Paint Terrain」を選択します。
  • その下のプルダウンメニューを押して「Raise or Lower Terrain」を選択してください。

選択が完了して、シーン内にカーソルを持っていくと下記のような表示になってると思います。

この状態でクリックすると地面が盛り上がります!

先の画面で色のついた箇所が影響範囲になります。
影響する範囲などは「Brushes」「Brush Size」「Opacity」の設定が変更可能です。

「Brushes」は影響範囲を指定するブラシの形を指定できます。
一番左上のような塗りのものを選ぶと、その形のまま盛り上がります。スプレーのような濃淡のあるブラシを選択すると、細かい凸凹をつけることが可能です。

「Brush Size」は影響範囲の拡大・縮小をすることができます。
「Opacity」は地形の上昇の程度を変更することができます。0が最小で、100が最大になります。

またプルダウンメニューから「Set Height」を選ぶと高さの数値指定ができます。
下記の画像のように指定した高さ以上は地面が盛り上がらないようになります。

「Smooth Height」は盛り上げた地面をなだらかにすることができます。

設定次第で自分だけの地形をつくることが可能です。
まずは色々触ってみるのが一番です!

tips
複雑な地形にしすぎるとワールドが重くなりがちなので気をつけましょう!

創造した地形にテクスチャをつける

山のような盛り上がりができてもテクスチャがないと雰囲気は出ません。
なので、次はテクスチャを設定していましょう。

  • TerrainのInspectorの「Terrain」内のプルダウンメニューから「Paint Texture」を選択します。
    下記のような設定項目がInspector上に表示されます。
  • 続いて「Terrain Layers」内の「Edit Terrain Layers…」→「Create Layer…」を選択します。

すると「Select Texture2D」という下記のウインドウが表示されます。ここから好きなテクスチャを選ぶことでTerrainに反映することができます。

Asset Store等からインポートしたテクスチャを選択します。

テクスチャを選択すると、Terrain全体がそのテクスチャになりました。最初に選択したテクスチャが全体に適用されます。

ここから部分的にテクスチャを変えることも可能です。

  • 同じく「Terrain Layers」から「Edit Terrain Layers…」→「Create Layer…」を選択。
  • 別のテクスチャを選択します。

地形をつくる時と同じようにシーン内にカーソルを持っていくと下記のような表示になってると思います。好きなところでクリックすると…

色のついた箇所のテクスチャだけ変更されました。
このように部分的にテクスチャを変えることが可能です!

「Paint Terrain」の時と同じくサイズと濃淡の設定も可能です。
より詳細な設定も設定できますので、さらに表現にこだわりたい方は下記を参照するほか、いろいろな方のtipsを検索するのがよいと思います。

木を生やす

さて、山をつくるとなれば木が必要になるでしょう。
どうすればいいの…と困る必要はありません。木を生やすのもTerrainの機能で可能です。
手順は地形をつくる際とほとんど変わりません。

  • 「Terrain」の下にある5つの項目の中から今度は左から3番目の「Paint Trees」を選択します。「Paint Trees」のInspectorは下記のようになっています。「Paint Terrain」とほとんど変わりませんよね。

手順もほとんど同じです。

  • 「Trees」内の「Edit Trees…」→「Add Tree」を選択してください。
  • 選択すると「Add Tree」というウインドウが出てくるので、「Tree Prefab」の一番右にある◉を選択してください。

選択すると「Select GameObject」というウインドウが表示されます。

ここで生やしたい木のオブジェクトを選択します。Terrainで使える草や木のアセットもUnity Asset Store等で販売されているので探してみましょう。

インポートしたアセットから木のPrefabを選択します。

これで準備は完了です。

シーン内にカーソルを持っていくと「Paint Trees」と同じ表示になってると思います。色のついた箇所が影響範囲になり、この範囲に木のオブジェクトを配置することができます。

クリックすると、木が生えました!

Settingsで影響範囲のサイズや木の密度、高さを変えることも可能です。

実は生やすのは木じゃなくてもオブジェクトでさえあれば大丈夫です。
とにかく生やしたいものがあれば、試しに生やしてみましょう。

tips
オブジェクトを増やしすぎるとワールドが重くなりがちなので、気をつけましょう!

草を生やす

また「Paint Details」を使えば草や花を生やすことも可能です。
こちらも、これまでとほとんど使い方は変わりません。

  • 「Terrain」の下にある5つの項目の中の左から4番目の「Paint Details」を選択します。「Paint Details」のInspectorは下記のようになっています。これまでとほとんど変わりませんよね。

手順もこれまでと変わりません。

  • 「Details」内の「Edit Details…」→「Add Grass Texture」を選択してください。
  • 選択すると「Add Grass Texture」というウインドウが出てくるので、「Detail Texture」の一番右にある◉を選択してください。

選択すると「Select Texture2D」というウインドウが表示されます。
ここで生やしたい草のテクスチャを選択します。

シーン内にカーソルを持っていくと今までと同じく色がついたカーソルが表示がされます。
これが草を生やすことができる範囲です。

クリックすると草が生えます!

この機能で生やした草はデフォルトだと常に風に吹かれゆらゆらと揺れているようになっています。

これまで通りSettingsで影響範囲のサイズや木の密度、高さを変えることも可能です。
テクスチャを変えることで花畑のような表現も可能です。

改めて、Terrainは地形を複雑にしたり木の数を増やしたりするとワールドが重くなりがちなので気をつけましょう。

「Terrain Settings」で設定を変えれば負荷を低減することや草や木がなびく風の強さなどを設定することが可能です。もっとこだわりたい方はぜひ下記の公式ページをご覧ください!


Terrainだけでもさまざまな表現が可能になります。また奥が深い機能でもあります。
ペイント感覚で直感的につくることができるので、まずはなんとなく触ってみてclusterにアップロードしてみるのがおすすめです!

記事をシェアしてワールド制作を盛り上げよう!