音無サノトの空想録

ゆるく生きている人の漫画

【ゲーム制作】ユニティちゃんを走らせてみる ②Terrain を使って大地を創る

どうも音無サノトです(^^)

週末のゲーム制作記事になります。

前回まではユニティちゃんを走らせたので、今度は地形を制作してその上を走らせてみようと思います。

 

otonasisanoto.hatenablog.com

 

 

進捗報告

  • Terrain機能を学習し地形を制作した 

 

作業内容

Unityには地形を生成できるTerrainという機能がついています。

それを使って簡単にステージを作ってみようと思います。

Terrainの追加

まず前回、ユニティちゃんをインポートしたプロジェクトに新しいシーンを作成します。

名前を「Unitychan_Terrain」にします。

f:id:otonasisanoto:20190615132321p:plain

シーンの作成

 

HierarchyのCreateから3D Object > Terrain を選択します。

f:id:otonasisanoto:20190615132444p:plain

Terrain の追加

 

するとTerrainが追加されます。

f:id:otonasisanoto:20190615132952p:plain

Terrain が追加される

 

Terrainの設定を見てみます。

Inspectorウィンドウにある歯車のマークのところで基本的な情報を見てみます。

f:id:otonasisanoto:20190615133252p:plain

Terrain の設定

赤枠で囲んだところが基本的な情報です。それぞれ次のようになります。

設定 内容
Terrain Width    地形の幅
Terrain Length 地形の長さ
Terrain Height  地形の最大の高さ

 

デフォルトでは1000平方メートルの地形ということになっています。

 

Terrainの名前を「Field」に変更しておきます。

f:id:otonasisanoto:20190628145720p:plain


Terrainの編集

次にこの地形に高低差をつけていきたいと思います。

ブラシのアイコンをクリックします。すると以下のようにいくつかのブラシが選択できます。

f:id:otonasisanoto:20190615140548p:plain

Terrain のブラシツール

 

それぞれのブラシの概要は次のような感じです。

ブラシ名 内容
Raise or Lower Terrain 地形の高低差をつける。クリックで隆起させ、Shift を押しながらで沈降させる。
Paint Texture 地面にテクスチャを塗ることができる。
Set Height 指定した高さに一定に高低差をつけることができる。
Smooth Height 高さを滑らかにする。
Stamp Terrain 指定した高さに、そのブラシの形をクリックでスタンプの様に隆起させる。

 

これらのブラシを使って地形を作成していきます。

 

Raise or Lower Terrain

クリックをしながらマウスを動かすことでブラシで山を描くように隆起させることができます。マウスをゆっくり動かすと高めの山を作れます。

f:id:otonasisanoto:20190615160836p:plain

クリックで隆起

Shift キーを押しながらで、沈降させることができます。

f:id:otonasisanoto:20190615161120p:plain

Shift キー + クリックで沈降

 

下の様に大まかに山の形を作りました。

向こう側に高い山があるイメージです。

f:id:otonasisanoto:20190615161942p:plain

大まかな山の形を作る

 

Paint Texture

作成した地形にテクスチャを貼って質感を出していきます。

まず Asset Store で「Terrain Textures Pack Free」をダウンロードし、テクスチャを用意します。Asset Store を利用するため Unity のアカウントでログインする必要があります。

Unity は無料でも豊富な Assets があるのがいいところです(^^♪ 

f:id:otonasisanoto:20190615164635p:plain

Terrain Texture Pack Free のダウンロード

ダウンロードが完了しますと、Download のところが Import に変わるので、そこをクリックします。

インポートが完了すると Assets フォルダに TerrainTexturesPackFree が追加されます。

f:id:otonasisanoto:20190615170607p:plain

インポート完了

 

Terrainのブラシツールを「Paint Texture」に変更し、Terrain LayersにあるCreate Lyaerをクリックします。

f:id:otonasisanoto:20190628145559p:plain

Create Layer

 

Select Texture2Dというウィンドウが出てきますので、先ほどインポートしたテクスチャを選択します。「grass」を検索して「GrassUV01」を選択します。

f:id:otonasisanoto:20190628145900p:plain

 

すると下のようにTerrain全体にテクスチャを貼りつけることができます。

f:id:otonasisanoto:20190628145134p:plain

 

AssetsフォルダにTerrain Layerが追加されるので名前を「Grass01」に変更し、「Terrain Lyaer」というフォルダを作ってその中に入れておきます。

f:id:otonasisanoto:20190628151735p:plain

こんな感じに

今度はブラシで地面の色を変えてみましょう。

また先ほどと同じようにTerrain Layerを追加します。今度は「GroundCracked01」というテクスチャを選択します。

f:id:otonasisanoto:20190628151946p:plain

 

Terrain Layerの名前を「GroundCracked01」に変更してフォルダに入れておきます。

f:id:otonasisanoto:20190628152124p:plain

 

Terrain Layersで追加したレイヤーを選択。

f:id:otonasisanoto:20190628152204p:plain

 

お好みのブラシでTerrain上でクリックすれば、そのテクスチャを塗ることができます。

f:id:otonasisanoto:20190628152439p:plain

ここら辺を塗ってみた

Set Height

Set Heightのブラシを使うとHeightで指定した高さに均一に盛り上げることができます。

逆に盛り上げた部分を設定した高さまで低くすることもできます。

 

ちなみにHeightに数値を指定して、隣のFlattenボタンを押すとTerrain上をその高さにすることができます。

やり直したいときとかは0を指定してFlattenを押す方がUndoするより速いかもしれません。

f:id:otonasisanoto:20190628153210p:plain

 

なにもない地面を均一に隆起させました。

f:id:otonasisanoto:20190628153753p:plain

Heightを10に設定して隆起

 

Smooth Height

Smooth Heightブラシを使って高低差を滑らかにします。

f:id:otonasisanoto:20190628154102p:plain

 

Blur Directionの数値でぼかしの具合を変えられます。

実際に数値を変えて実験したところ、マイナス値の方がより滑らかになりました。

f:id:otonasisanoto:20190628154328p:plain

Blur Direction の値は0で滑らかにしたときの変化

Stamp Terrain

Stamp Terrainブラシはそのブラシの形をスタンプみたいにペタンと押せる機能です。

今回はStamp Heightを5にして星形の形を押してみました。

f:id:otonasisanoto:20190628154610p:plain

 

するとこんな感じ。

f:id:otonasisanoto:20190628154700p:plain

 

これで一通りのブラシの使い方は学んだかなと思います。

 

木や草などをいれる

今度は地形に木や草をいれていきます。

 

まずは木から。 

Unity Asset Storeから「Realistic Tree 9」をインポートします。

f:id:otonasisanoto:20190628155002p:plain

 

インポートが終わったらTerrainのProjectウィンドウで木のアイコンのところをクリックします。

そこのEdit Trees...を選択してAdd Treeをクリックします。

f:id:otonasisanoto:20190628155332p:plain

 

Add Treeのウィンドウが開くので、そこにインポートしたTree9の中にあるプレハブを選択してドラッグ&ドロップします。

f:id:otonasisanoto:20190628155500p:plain

 

完了したら右下のAddを押しましょう。

これで選択したプレハブがTreesに追加されます。

f:id:otonasisanoto:20190628155651p:plain

Terrsに追加される

 

後はブラシで塗っていけば木が生成されます。

f:id:otonasisanoto:20190628155904p:plain

 

それぞれ以下の項目で設定を変更できます。

Brush Size:ブラシのサイズ

Tree Density:木が生成される密度

f:id:otonasisanoto:20190628160107p:plain

 

さらにTree Heightのランダムのチェックを外して自分で値を設定すれば大きさも変えられます。

f:id:otonasisanoto:20190628160243p:plain

 

下の様な感じで大きさが変わります。

試しに10とか大きい値を入れてみたのですが勝手に2に設定されてしまいました。

2倍の大きさまでが最大の値の様です。

f:id:otonasisanoto:20190628160503p:plain

Heightを2にしたときの大きさ

 

同じ要領で別の木も追加していきます。

f:id:otonasisanoto:20190628161055p:plain

色々と試しに入れてみました


今度は草を入れていこうと思います。

Unity Asset Storeで「Grass Flowers Pack Free」をインポートします。

f:id:otonasisanoto:20190628161253p:plain

 

インポートが完了したら今度はお花のアイコンを選択します。

下の方にあるEdit Detairs...からAdd Grass Textureをクリックします。

f:id:otonasisanoto:20190628162014p:plain

 

するとAdd Grass Textureウィンドウが開くので、そこにインポートしたGrassFlowersのテクスチャをドラッグ&ドロップで設定し右下のAddをクリックします。

f:id:otonasisanoto:20190628162531p:plain

 

するとDetaisに「grass01」が追加されました。

f:id:otonasisanoto:20190628162443p:plain


後はお好みのブラシで画面に描画していきます。

このときの注意として、草が小さすぎて画面に描画されていないように見えますが、拡大されるとちゃんと描画されています。

何回も塗ると大量の草を発生させるので動作が重くなるので気を付けてください。

f:id:otonasisanoto:20190628162802p:plain

どうにかカメラアングルを調整してもこのぐらいしか映らない

 

ちゃんとみたいならMain Cameraを移動させて確認するか、キャラクターを設置してその場所まで歩いていくのがいいかと思います。

f:id:otonasisanoto:20190628163054p:plain

Main Cameraを移動

他に方法あるのかな・・・?

 

次回予告

  • 地形制作の続き
  • ユニティちゃんを走らせてみる 

今回までで大まかな地形の制作は学んだのですがもう少しだけ続きをやっていき、その後にユニティちゃんを召還してみようと思います。

 

本日は以上となります。最後まで読んでいただきありがとうございました!