どうも音無サノトです(^^)
週末のゲーム制作記事になります。
前回まではユニティちゃんを走らせたので、今度は地形を制作してその上を走らせてみようと思います。
otonasisanoto.hatenablog.com
進捗報告
作業内容
Unityには地形を生成できるTerrainという機能がついています。
それを使って簡単にステージを作ってみようと思います。
Terrainの追加
まず前回、ユニティちゃんをインポートしたプロジェクトに新しいシーンを作成します。
名前を「Unitychan_Terrain」にします。
シーンの作成
HierarchyのCreateから3D Object > Terrain を選択します。
Terrain の追加
するとTerrainが追加されます。
Terrain が追加される
Terrainの設定を見てみます。
Inspectorウィンドウにある歯車のマークのところで基本的な情報を見てみます。
Terrain の設定
赤枠で囲んだところが基本的な情報です。それぞれ次のようになります。
設定
内容
Terrain Width
地形の幅
Terrain Length
地形の長さ
Terrain Height
地形の最大の高さ
デフォルトでは1000平方メートルの地形ということになっています。
Terrainの名前を「Field」に変更しておきます。
Terrainの編集
次にこの地形に高低差をつけていきたいと思います。
ブラシのアイコンをクリックします。すると以下のようにいくつかのブラシが選択できます。
Terrain のブラシツール
それぞれのブラシの概要は次のような感じです。
ブラシ名
内容
Raise or Lower Terrain
地形の高低差をつける。クリックで隆起させ、Shift を押しながらで沈降させる。
Paint Texture
地面にテクスチャを塗ることができる。
Set Height
指定した高さに一定に高低差をつけることができる。
Smooth Height
高さを滑らかにする。
Stamp Terrain
指定した高さに、そのブラシの形をクリックでスタンプの様に隆起させる。
これらのブラシを使って地形を作成していきます。
Raise or Lower Terrain
クリックをしながらマウスを動かすことでブラシで山を描くように隆起させることができます。マウスをゆっくり動かすと高めの山を作れます。
クリックで隆起
Shift キーを押しながらで、沈降させることができます。
Shift キー + クリックで沈降
下の様に大まかに山の形を作りました。
向こう側に高い山があるイメージです。
大まかな山の形を作る
Paint Texture
作成した地形にテクスチャを貼って質感を出していきます。
まず Asset Store で「Terrain Textures Pack Free」をダウンロードし、テクスチャを用意します。Asset Store を利用するため Unity のアカウントでログインする必要があります。
Unity は無料でも豊富な Assets があるのがいいところです(^^♪
Terrain Texture Pack Free のダウンロード
ダウンロードが完了しますと、Download のところが Import に変わるので、そこをクリックします。
インポートが完了すると Assets フォルダに TerrainTexturesPackFree が追加されます。
インポート完了
Terrainのブラシツールを「Paint Texture」に変更し、Terrain LayersにあるCreate Lyaerをクリックします。
Create Layer
Select Texture2Dというウィンドウが出てきますので、先ほどインポートしたテクスチャを選択します。「grass」を検索して「GrassUV01」を選択します。
すると下のようにTerrain全体にテクスチャを貼りつけることができます。
AssetsフォルダにTerrain Layerが追加されるので名前を「Grass01」に変更し、「Terrain Lyaer」というフォルダを作ってその中に入れておきます。
こんな感じに
今度はブラシで地面の色を変えてみましょう。
また先ほどと同じようにTerrain Layerを追加します。今度は「GroundCracked01」というテクスチャを選択します。
Terrain Layerの名前を「GroundCracked01」に変更してフォルダに入れておきます。
Terrain Layersで追加したレイヤーを選択。
お好みのブラシでTerrain上でクリックすれば、そのテクスチャを塗ることができます。
ここら辺を塗ってみた
Set Height
Set Heightのブラシを使うとHeightで指定した高さに均一に盛り上げることができます。
逆に盛り上げた部分を設定した高さまで低くすることもできます。
ちなみにHeightに数値を指定して、隣のFlattenボタンを押すとTerrain上をその高さにすることができます。
やり直したいときとかは0を指定してFlattenを押す方がUndoするより速いかもしれません。
なにもない地面を均一に隆起させました。
Heightを10に設定して隆起
Smooth Height
Smooth Heightブラシを使って高低差を滑らかにします。
Blur Directionの数値でぼかしの具合を変えられます。
実際に数値を変えて実験したところ、マイナス値の方がより滑らかになりました。
Blur Direction の値は0で滑らかにしたときの変化
Stamp Terrain
Stamp Terrainブラシはそのブラシの形をスタンプみたいにペタンと押せる機能です。
今回はStamp Heightを5にして星形の形を押してみました。
するとこんな感じ。
これで一通りのブラシの使い方は学んだかなと思います。
木や草などをいれる
今度は地形に木や草をいれていきます。
まずは木から。
Unity Asset Storeから「Realistic Tree 9」をインポートします。
インポートが終わったらTerrainのProjectウィンドウで木のアイコンのところをクリックします。
そこのEdit Trees...を選択してAdd Treeをクリックします。
Add Treeのウィンドウが開くので、そこにインポートしたTree9の中にあるプレハブを選択してドラッグ&ドロップします。
完了したら右下のAddを押しましょう。
これで選択したプレハブがTreesに追加されます。
Terrsに追加される
後はブラシで塗っていけば木が生成されます。
それぞれ以下の項目で設定を変更できます。
Brush Size:ブラシのサイズ
Tree Density:木が生成される密度
さらにTree Heightのランダムのチェックを外して自分で値を設定すれば大きさも変えられます。
下の様な感じで大きさが変わります。
試しに10とか大きい値を入れてみたのですが勝手に2に設定されてしまいました。
2倍の大きさまでが最大の値の様です。
Heightを2にしたときの大きさ
同じ要領で別の木も追加していきます。
色々と試しに入れてみました
今度は草を入れていこうと思います。
Unity Asset Storeで「Grass Flowers Pack Free」をインポートします。
インポートが完了したら今度はお花のアイコンを選択します。
下の方にあるEdit Detairs...からAdd Grass Textureをクリックします。
するとAdd Grass Textureウィンドウが開くので、そこにインポートしたGrassFlowersのテクスチャをドラッグ&ドロップで設定し右下のAddをクリックします。
するとDetaisに「grass01」が追加されました。
後はお好みのブラシで画面に描画していきます。
このときの注意として、草が小さすぎて画面に描画されていないように見えますが、拡大されるとちゃんと描画されています。
何回も塗ると大量の草を発生させるので動作が重くなるので気を付けてください。
どうにかカメラアングルを調整してもこのぐらいしか映らない
ちゃんとみたいならMain Cameraを移動させて確認するか、キャラク ターを設置してその場所まで歩いていくのがいいかと思います。
Main Cameraを移動
他に方法あるのかな・・・?
次回予告
今回までで大まかな地形の制作は学んだのですがもう少しだけ続きをやっていき、その後にユニティちゃんを召還してみようと思います。
本日は以上となります。最後まで読んでいただきありがとうございました!