Terrainでステージを作る

前のページではオブジェクトを配置していってステージを作りました。もちろん、この方法でどんどんステージを作っていってもいいのですが、Unityには「Terrain」というフィールド生成システムが搭載されているので、こちらを使ってステージを作るのもいいでしょう。

※注:リリースした「ユニティちゃんパルクール」にはTerrainを使ったステージは収録しませんでしたが、せっかく書いた記事なので残しておきます。

※追記:Unity2019ではTerrain編集用ツールの表示が多少異なります。ただし基本的な使い方は同じです。

スポンサーリンク

Terrainの作成

はじめにTerrainオブジェクトを作成します。ヒエラルキーで右クリックして「Create」→「3D Object」→「Terrain」を選択してください。そうすると白い板のようなオブジェクトが出現すると思います。これがTerrainです。(※注意:Terrainを作るとAssetsフォルダに「New Terrain」というファイルが出現しますが、これは削除しないようにしてください)

しかし、そのままでは大きさが相当デカい(500m四方もある)ので小さくしておく必要があります。TransformのScaleでは大きさが変わらないので、Terrainコンポーネントの歯車マークをクリックしてください。色々な設定がありますが、「Resolution」の中に「Terrain Width」「Terrain Length」「Terrain Height」という項目があると思います。それらの値をとりあえず「80」くらいにしておきましょう。

Terrainのサイズ設定

スポンサーリンク

Terrainの使い方

それではTerrainを編集して地形を作っていきましょう。

Terrainの編集ツールについて

Terrainコンポーネントにはボタンがいくつも並んでいます。

Terrainの編集機能

これらの役割は左から順に次のようになっています。

  • 地形を隆起・陥没させる(Raise / Lowerツール)
  • 地形を指定した高さにする(Paint Heightツール)
  • 地形を滑らかにする(Smooth Heightツール)
  • テクスチャを塗る(Paint Textureツール)
  • 木を配置する(Paint Treeツール)
  • 草などを配置する(Paint Detailツール)
  • Terrainの設定

地形を描く

Terrainでは地形を描くようにして作っていきます(「3次元お絵かき」だと思ってください)。コースは高さがある程度決まっていたほうが作りやすいので、ここでは左から2番目の「Paint Height」ツールをメインに使います。

TarrainのPaint Heightツール

このツールを開くと、いろいろなブラシが表示されるのが分かります。このブラシの形がこれから描く地形の形に影響するのですが、とりあえず好きなブラシを選んでください。あとは「Setting」でブラシのサイズ・不透明度(Opacity)・地形の高さの上限を適当に設定します(不透明度が高いほどブラシの形がくっきりと出ます)。

これで地形を描く準備ができました。後は自由に地形を描いてみましょう。また、もし地形を滑らかにしたかったら左から3番目のSmooth Heightツールを使ってください。

テクスチャを描く

次にテクスチャを描いて地形の質感を出します。真ん中の筆マークのボタンをクリックするとテクスチャ編集ツールになるので、これを使って描いていきましょう。

まず、テクスチャを描くためにはテクスチャを読み込む必要があります。予めアセットストアなどから適当にテクスチャを探してインポートしておいてください。そうしたら、Texturesの「Edit Textures」を押してテクスチャを読み込みます(Sizeオプションでテクスチャの大きさを指定できます)。なお最初にインポートしたテクスチャがデフォルトのテクスチャとしてTerrain全体に貼られるので、一番使う面積の広いテクスチャを最初に読み込むようにしましょう。

あとは使いたいテクスチャを選択し、ブラシの設定をしてTerrainにテクスチャを描いていけばOKです。もし、描いた部分のテクスチャを後で変更したくなったら「Edit Texture」からテクスチャを変更すれば、その部分のテクスチャだけ別のテクスチャに変更することもできます。ちなみに、コースの部分のテクスチャは他の部分とは別にしたほうが見やすくなって親切です。

Terrainのテクスチャの設定

木を生やす

テクスチャだけでは殺風景なので木を生やします。右から3番目のPaint Treeツールをクリックしてください。最初は生やす木が登録されていないので、「Edit Trees」から木を登録してください(木のプレハブはStandard Assetsに含まれているはずです)。

そうしたら設定を行いましょう。Tree Densityは木の密度、Tree Heightは木の高さです。これで木を配置できるようになったので、好きなように木を置いてください。

Terrainで木を生やす

草を生やす

Trrainには地形に草を生やす機能もあるので、ステージに草を生やしてみましょう。「Edit Detail」→「Add Grass Texture」から草のテクスチャを登録してください。このとき草の幅や高さの最大値、分散率などを聞かれるので適当に設定しておいてください。

あとはこれまでと同じ要領で草を置いていくだけです。デフォルトだと凄い密度でモッサリと草が生えるので、まばらに生やしたい場合はブラシの形やOpacity(かなり低くてもいいです)を調整するか、設定のDetail Densityを下げてください。

Terrainで草を生やす

風を発生させる

最後に味付けです。Wind Zoneというオブジェクトをシーンに追加することで木や草をなびかせることができます。「Create」→「3D Object」→「Wind Zone」を選択しましょう。Windo Zoneコンポーネントの「Main」は普通の風の強さ、「Turblence」は突風の強さです。適当に設定しましょう。それからTerrainの設定のほうでは草がどれだけ風になびくかを設定することもできます。

Wind Zoneで木や草を揺らす

以上、Terrainの簡単な説明でしたが、これだけの情報でもかなり本格的なフィールドを作ることができました。


次のページ→シーンの切り替え処理を作る