今回は壮大なフィールドを作成する為のツールTerrainを使ってみます。
自分で地面ブロックを作り繋げ、草のテクスチャのマテリアルを貼り・・・、とやることも出来ますが、広大なフィールドを細かく作っていたら、それだけで大変です。
(小さい空間内でのゲームではそれで十分ですが)
そこで登場するのがTerrain!
なんだかテレビショッピングみたいですが・・・、
それはさておきTerrainを使うとフィールドが簡単に作成出来ます。
作成したフィールドの上に建物の3Dオブジェクトを配置してゲームのフィールドを作成していくというのが基本になると思います。
それではTerrainを使ってみましょう。
Terrainで地形を作成し大きさを調整する
上のように
Hierarchy上で右クリック→3D Object→Terrain
とします。
シーン上にTerrainという名前のTerrainが出来ますので、名前を「field」に変更しておきます。
インスペクタ上でTerrainの歯車マークをクリックする事で、Terrainの色々な設定が変更できます。
新しめのUnity(確認しているのはUnity2019.1.0f2)では表示が少し変わっていますが、中身としてはほとんど同じです。
Terrain WidthとTerrain Lengthで縦横の幅を変更出来ますので、とりあえず200と設定し、あまり大きすぎないフィールドを作ります。
Unityでは1が1mなので縦横200mの地形ということになります。
フィールドが出来たので山や谷などの形状を作っていきます。
地形を盛り上げ山や谷を作成する
Terrainの一番左のマークをクリックし形状を盛り上げます。
Brushesでブラシの種類が変更でき、盛り上げ方を変える事が出来ます。
Brush Sizeで盛り上げる範囲、Opacityは強度を設定します。
適当に盛り上げてみます。
汚いフィールドの出来上がりです・・・。
一番左のマークRaise/Lower Terrainの右にあるマークはPaint Heightで高さを制限して盛り上がりを作る事が出来、盛り上がりがHeightの高さを超えた時は平たんになります。
新しめのUnity(Unity2019.1.02f)でのやり方
新しめのUnityだと地形の盛り上げ等は筆のアイコンをクリックし、そこから設定を変えて変更します。
Raise or Lower Terrainにした場合は下のBrushesでブラシの形状を選択します。
New Brushを押すとブラシ形状を新たに追加出来ます。
地形を盛り上げる時はそのままシーンビューでマウスの左ボタンを押し、押し下げたい箇所はShiftキーを押しながらマウスの左ボタンを押します。
フィールドにテクスチャを貼る
フィールドが出来たので、テクスチャを張っていこうと思ったのですが、テクスチャがありませんので、Asset Storeからダウンロードします。
テクスチャ&マテリアル→地面→Forest Grounds Texture Packをダウンロードしてみました。
Paint Textureマークをクリックし、Edit Textures→Add Textureをクリックします。
SelectをクリックしTextureを選択するウインドウを開きます。
検索窓に「ground」と入れ、検索すると早く見付ける事が出来ます。
選択したら、シーン上のTerrainを見てみます。
見事に地面にテクスチャが張られ地面が出来上がりました。
新しめのUnity(Unity2019.1.0f2で確認)
新しめのUnityの場合は筆のアイコンを押しPaint Textureを選択します。
Edit Terrain Layers…を押し、Terrainの地面に塗りたいテクスチャを選択します。
追加したレイヤーを操作したい時はレイヤーを選択した状態でEdit Terrain Layers…を押します。
Create Layerは先ほどと同じで、Add Layerは既に作成済みのレイヤーを追加します。
Replace Layerは現在のレイヤーを新しく選択したレイヤーと置き換えます。
Remove Layerは選択したレイヤーの削除をします。
追加したレイヤーを選択した状態でOpenボタンを押すとAssetsフォルダ内のテクスチャ用レイヤーが選択されます。
テクスチャ用レイヤーを選択するとインスペクタでテクスチャの設定を変更する事が出来ます。
Create Naighbor Terrains
Create Naighbor Terrainsアイコンをクリックすると元のTerrain地形に隣接して新しいTerrainを作成する事が出来ます。
シーンビュー上で隣接する部分をクリックすると元のTerrainに隣接する形で新しいTerrainが作成され、ヒエラルキー上にも別のゲームオブジェクトが作成されます。
隣接して作成されたTerrainは元のTerrainとGrouping IDが同じになります。
隣接するTerrainのAuto connectのチェックを外すとTerrain間の接続が失われる可能性があります。
再接続するにはReconnectボタンを押します。
隣接したTerrainの接続部分の地形を変形させた時は今編集しているTerrainだけでなく隣接しているTerrainの形状にも影響を及ぼすことが出来ます。
最初に作ったTerrainの地形から拡張して地形を制作していきたい時に便利ですね♪
Terrainでフィールドを作成してみて
とりあえずサンプルで作ったフィールドなので出来としてはかなり酷いです・・・(+_+)
わたくしの場合、時間をかけて作ってもたいして変わらないとも思いますが・・・(-.-)
Terrainのサイズは歯車の設定から変更は出来ますがTransformのScaleでは変更出来ないみたいなので注意が必要です。
またTerrain作成時にProjectウインドウのAssetsフォルダに出来るNew Terrainというファイルは削除してはダメです。
せっかく作ったTerrainが消えてしまいます。と書いたのは実際にわたしが消してしまったからです・・・。
再度作りなおしたのでUpされてる画像とは違うTerrainになっています。
ここまで画像がかなり多かったので、一旦ここで終了し、
次回は出来た地面に草や木を生やしてみようと思います。