みなさんこんにちは!
フリーランスプログラマーのsatoです。
Unityで作品を作る上で、最初に手がけることの一つが地面の生成だと思います。
山や湖が広がる、広大な大地が作れたら、作品作りにも力が入りますよね!
実はUnityならばTerrainという便利な機能を利用することで、とても簡単にそれが実現できます。
今回学ぶTerrainと、また後で紹介するSkyboxを組み合わせれば、こんな画像の世界を非常に簡単に作ることができますよ!
ぜひ学んでみてください。
それでは今回のアジェンダです。
[基本]Terrainとは?
[基本]Terrainを作ろう!
[基本]自動生成を行ってみよう!
[応用]ツールで調整しよう!
[応用]大地の次は空!
それでは準々に見ていきましょう。
Terrainとは?
Terrainとは一言でいうと「地面を作る機能」です。
具体的には、生成すると最初にまっさらな一枚の地面ができます。
そこへ赤枠のツールを使って、凹凸をつけたり、画像を貼ったりしながら、地面を作っていくことになります。
Terrainを作ろう!
では早速Terrainを作りましょう!
Hierarchy上で右クリックを押しましょう。
出てきた選択肢の中から「3D Object → Terrain」を選択します。
すると一枚のTerrainが生成されるはずです。
こんな地面が生成されればまずは成功です!
※そして赤枠で囲んでいる部分が、調整を行うツールです。これは後ほど説明してきますね!
自動生成を行ってみよう!
ではTerrainが生成できたところで、早速ツールを使って編集していきましょう!
と言いたいところですが…
ツールを作って一から作るのは、骨が折れるしセンスも必要です…
ですので、今回は自動生成と組み合わせた、簡単で綺麗にできる生成方法を軸に説明してきますね!
アセットをインストール
自動生成の機能はデフォルトでは、準備されていません。
ということでアセットをダウンロードして使うことにしましょう。
今回は無料のツールキット「Terrain Toolkit 2017」を使うことにしましょう。
このツールへ、パラメーターを設定することで、それっぽい地面の生成を行ってくれます。
メニュー → Window → AssetStore でアセットストアを開きましょう。
続けてアセットストア上で「Terrain Toolkit 2017」で検索すると出てくると思います。
見つかったらダウンロードとインポートを行いましょう。
設定しよう
では、先ほど入手したアセットを設定しましょう。
インポートされたものは、Projectウィンドウに入っています。
その中で使用するのは、「TerrainToolkit」です。
これを検索して探しましょう。
見つけたら、TerrainオブジェクトのInspectorウィンドウに投げ込みましょう。
すると以下のように設定が追加されるはずです。
自動生成を実行しよう!
では早速、TerrainToolkitを使用して自動生成を行ってみましょう。
「Terrain models」の項目の中には、ある程度テンプレート化されたTerrainが置かれています。
今回はPAMPAを設定しましょう。
それっぽい緑の地面が生成されました。
微調整をかけよう!
しかしこの地面。
近くで見ると、結構凹凸が激しい地形をしています。
これを少し滑らかにしましょうか。
これには、Erodeの項目のThermalが有効です。
この機能を、簡単に一言説明すると外部の影響によって地面を滑らかにする機能だと言えるでしょう。
Toolkit→Erode→Thermalを選択しましょう。
細かいパラメータに関しては、項目内のPresetを「Fast,Harsh Erosion」に変更すると自動で設定されるはずです。
設定できたら「Apply thermal erosion」を選択し反映させましょう。
少し滑らかになりましたね!
ツールで調整しよう!
ここまでで、ある程度自然な地面が生成できました!
せっかくなので、ツールを使って調整していきましょう。
この項目では、非常に簡単にですが一通りのツールの特徴を説明していきます。
Raise・Lowerツール
このツールは、選択中の箇所を、持ち上げてくれます。
またシフトを押しながら行うと、下げることもできます。
Paintツール
これはクリックした箇所を指定の高さにすることができます。
主に平らにする時などに使用できるでしょう。
Smoothツール
クリックした箇所をなだらかにすることができます。
山の凸凹部分を修正すると…
なだらかになりました!
PaintTextureツール
テクスチャをペイントします。
このように、テクスチャを地面に塗ることができます。
PaintTree・Detailツール
これは、3Dモデルやテクスチャを使って、木や草を配置できます。
EditDetailボタンから、配置するものを設定し、配置できます。
※今回木のモデルはフリーのアセット「Fantasy landscape」をインポートし使用しています。この辺りは気に入った素材をインポート頂ければと思います。
大地の次は空!
ここまでで、それぽい地面の生成が行えるようになったかと思います。
しかし地面がちゃんと出来ても、空が微妙なままでは、クオリティも半減です。
是非とも、空の見た目にも力を入れましょう。
とはいえ実は空もUnityなら、Skyboxという便利な機能が用意されています。
慣れれば数分で設定できますよ!
ここまで設定できれば、最初の画像のものが作れました!
こちらのリンクで説明していますので、是非お読みください!
まとめ
今回は非常に簡単に、一通りの機能を見てきました。
しかし、今回触っていない便利な機能も非常に多いです。
さらに見た目を向上させたい場合は、もっといろいろなパラメーターについて学んでみましょう。
作品を作る上で、やはり見た目は非常に重要です。
仮に非常に面白いゲームを作ったとしても、見た目が微妙では残念な結果に終わってしまいます。
ぜひTerrainを使って上手に見栄えをよくしてみましょう!
また3Dモデルを作らなくても、Unity上で微調整ができるのも魅力の一つですね。
アセットストアに素材もたくさんありますから、ぜひ活用していきましょう!