Sceneを作っていく上で、土台となる大地・山・海などの世界は必要不可欠です。
これらはアセットストアから入手することも可能ですが、Unityに備わっている「地形エンジン」という機能を利用すれば、自分好みの世界を作成することができます。
本記事では地形エンジンを使って地形を作成する方法を紹介します。
地形を作成する
メニューバーの「GameObject」から「3D Object」→「Terrain」を選択してください。
Sceneに平面のような地形モデルが作成されました。
これを本物の地形っぽく編集していきます。
起伏を作る
作成された地形は平面なので、実際の大地っぽく起伏を作っていきます。
TerrainのInspectorウィンドウを見ると、アイコンの一覧(ツールボタン)が確認できます。
これが地形の編集を行うツールです。
ツールボタン左端の「Raise/Lower Terrain」を選択すると、下に編集用の項目が表示されます。
「Brushes」の項目を選択した状態で、Scene上でマウスをクリックやドラッグすると起伏が作成されます。
マウスをScene上に移動すると、ブラシの形で青い影のようなポインタが表示されるので、起伏を作りたいところにポインタを合わせてクリックするとその場所に少し起伏ができます。
「Settings」の「Brush Size」はブラシの大きさを、「Opacity」は変化の大きさを指定します。
Opacityの方は「変化の大きさ」と言ってもわかりづらいと思うので、Opacityの数値を10に設定した時と100に設定した時を比べてみましょう。どちらもOpacity以外の設定は同一にして同じように描画しています。
「変化の大きさ」がどういうものか、なんとなくわかったと思います。
大地を作成する
次は高さが一定の地形を作成します。
ツールボタンの左から2番目の「Paint Height」をクリックすると、下に設定が表示されます。
Brush SizeとHeightは「Raise/Lower Terrain」の時と同様です。
「Height」の部分を設定すると、指定された高さの大地が作成されます。
設定後は、「Raise/Lower Terrain」の時と同様にScene上で描画すると大地が作成できます。
高さが一定の大地が作成できました。
テクスチャを設定する
次はTerrainにテクスチャを反映させます。
テクスチャ素材を用意する
まずは無料で使えるTerrain用のテクスチャアセットをインポートしましょう。
アセットストアから「Terrain Textures Pack Free」アセットをダウンロード&インポートしてください。
Terrainにテクスチャを追加
Terrainのテクスチャの設定は、ツールボタンの「Paint Texture」から「Edit Textures」をクリックしてください。
ポップアップが表示されるので「Add Texture」を選択してください。
「Add Terrain Texture」というポップアップが表示されるので、左の「None (Texture 2D)」欄の「Select」をクリックしてください。
テクスチャの一覧が表示されるので、どれでもいいですが「GrassUV01」を選択します。
ポップアプを閉じ、「Add」をクリックしてください。
マウスをクリックやドラッグすると今指定した2個目の
Terrainに草原風のテクスチャが反映されました。
2つ目のテクスチャを追加
しかしこれではTerrain全体に1つのテクスチャのみ貼られている状態で、例えば草原と岩など違う色調で表現したい世界には向いていません。
そこで先ほどの草原風のテクスチャとは別に、荒地風のテクスチャをTerrainに追加します。
1つ目のテクスチャの時と同様に、「Edit Textures」→「Add Textures」を選択してください。
テクスチャを選ぶ画面が再度表示されるので、灰色ぽいテクスチャを選択してください。
ポップアップを閉じ、BrushでScene上でマウスをクリックやドラッグすると今指定したテクスチャを塗ることができました。
テクスチャは、「Edit Texture」から変更可能です。
森林を作る
次はTerrainに木を植えて、森や林のような地形にします。
森林の素材を用意する
まずは無料で使える木のアセットをインポートします。
アセットストアで「Free Trees」をダウンロード&インポートしましょう。
木をSceneに追加
ツールボタンの「Paint Trees」クリックし、「Edit Tress」→「Add Trees」を選択してください。
以下のようなポップアップが表示されるので、右端のボタンをクリックしてください。
するとインポートした木の一覧が表示されるので、気に入った木を選択しましょう。
木を選択した状態でScene上にマウスを移すと青いカーソルが表示されるのでクリックすると、森が配置されます。
Scene上でマウスでドラッグすると自動的に木が植えられていきます。
湖を作る
次はTerrain上に、池や湖のような地形を作っていきます。
池や湖のような地形はUnityにデフォルトで用意されているわけではないので、Terrainに窪みを作り、その内側に水を配置することで作っていきます。
水の素材をインポート
まずは水の素材をインポートしましょう。
メニューバーの「Assets」→「Import Package」→「Environment」を選択してください。
パッケージをインポートするポップアップが表示されるので、全て選択されている状態で「Import」を選択してください。
インポートが完了したら、Projectビューの「Assets」から「Standard Assets」→「Environment」→「Water」→「Water」→「WaterProDaytime」があることを確認してください。
これが今回使う水の素材です。ちなみに「WaterProNight」はその名の通り、夜用の水なので暗いSceneに配置する場合はWaterProNightを使用しましょう。
窪みを作る
次はTerrainに窪みを作ります。
TerrainのInspectorのPaint Hightで以下のように数値を設定してください。
Scene上でドラッグしながら、窪みができるように大地の盛り上がりを1周させてください。
WaterProDaytimeをSceneに配置
WaterProDaytimeをProjectビューからドラッグ&ドロップでScene上の窪みに合うように配置してください。
大きさが合わない場合は、WaterProDaytimeを拡大縮小・移動して合うように調整してください。
地形をSTYLYにアップロードする
作成した地形はSTYLYにアップロードすることもできます。
ただ、Unityで作成したTerrainをそのままSTYLYにアップロードすると拡大縮小・回転ができない、サイズが大きすぎてアップロードがうまくできない、といった問題が生じるので、以下のTerrainをSTYLYにアップロードする2種類の方法をご参照ください。
こちらの方法は無料で使えるのですが、反映されるテクスチャがメインの1枚だけ・木が再現されないので別の方法で木をSTYLYのScene上で配置する必要がある、というデメリットがあります。
こちらの方法は有料ですが、複数のテクスチャを反映させることができ、また木も再現することができます。
おつかれさまでした、以上で地形エンジンであるTerrainの基本的な操作方法の紹介は終わりです。
地形を自在に操ることができれば、空間制作に幅が出るのでぜひ頑張ってください!