Unity - Terrain 機能の基本的な使い方①
初めに
Unity では、Terrain 機能を使うことで、地形や草、木、岩などのゲームオブジェクトを効率的に作成することができます。本記事では、Terrain 機能を使って、地形を作成、編集する方法をまとめます。
Index
- 初めに
- Index
- Terrain の作成と編集
- Terrain オブジェクトの作成
- Terrain の編集の概要
- サンプルアセットのダウンロード
- Create Neighbor Terrains:隣接する Terrain タイルを作成する
- Paint Terrain の共通プロパティ
- Paint Terrain:Stamp Terrain を使って、地形の概形を作る
- Paint Terrain:Paint Texture を使って、Texture を貼る
- Paint Terrain:Paint Holes を使って Terrain の一部を非表示にする
- Paint Terrain:Raise or Lower Terrain を使って高さを変更する
- Paint Terrain:Set Height を使ってエリアの高さを特定の値に調整する
- Paint Terrain:Smooth Height を使い、滑らかにする
- 補足
- 今後の展望
- 参考
Terrain の作成と編集
Terrain オブジェクトの作成
Hierarchy で右クリック > 3D Object > Terrain をクリックすることで、Terrain オブジェクトを作成できます。
Terrain オブジェクトには、Transform コンポーネントのほかに、Terrain コンポーネント、Terrain Collider コンポーネントがアタッチされています。
Terrain の編集の概要
Terrain コンポーネントを使って、編集をしていきます。
次の編集ツールを使うことができます。
ツール | 説明 |
---|---|
Create Neighbor Terrains | 隣接する Terrain タイルを作成する |
Paint Terrain | Terrain をスカルプトしてペイントする |
Paint Trees | 木を追加する |
Paint Details | 草、花、岩などのディテールを加える |
Terrain Settings | 選択した Terrain の一般設定を変更する |
サンプルアセットのダウンロード
ゼロから作ることも可能ですが、本記事では Unity Technologies が出している「Terrain Sample Asset Pack」というアセットを使っていきます。
Asset Store から Unity に入れ、Package Manager からダウンロード、インポートしてください。
Asset Store の使い方については、過去の記事を参考にしてください。
fineworks-fine.hatenablog.com
Create Neighbor Terrains:隣接する Terrain タイルを作成する
Create Neighbor Terrains ツールを使うと、自動的に隣接する Terrain (地形) タイルを簡単に作成できます。
Fill Heightmap Using Neighbors を有効にすると新しい Terrain タイルのハイトマップを隣接する Terrain タイルのハイトマップをもとに調整して塗りつぶします。
Paint Terrain の共通プロパティ
Paint Terrain では6つの機能を使うことができます。
機能 | 説明 |
---|---|
Raise or Lower Terrain | 高さを変更する |
Paint Holes | Terrain の一部を非表示にする |
Paint Texture | Texture を貼る |
Set height | エリアの高さを特定の値に調整する |
Smooth Height | Height マップを滑らかにする |
Stamp Terrain | 地形ブラシのスタンプを使う |
どの機能でも共通のプロパティは次の2つです。
プロパティ | 説明 |
---|---|
Brush Size | ブラシの大きさ |
Opacity(不透明度) | ブラシを Terrain に適用するときの強さ |
Opacity(不透明度)は、ブラシを Terrain に適用するときの強さを決定します。Opacity の値を 100 に設定すると、ブラシの強度が最大になり、値が 50 の場合にはブラシの強度が 1/2 になります。
Paint Terrain:Stamp Terrain を使って、地形の概形を作る
Paint Terrain を選択し、地形を編集していきます。はじめは、Stamp Terrain を選び、地形のブラシを使って、地形を作成していきます。
Stamp Height で地形の高さ、Brush Size でブラシのサイズを選択し、Scene ビューで地形をクリックすることで、地形を編集できます。
Paint Terrain:Paint Texture を使って、Texture を貼る
Paint Texture を使って、地形に Texture を貼ってみます。Terrain Layer を使い、Texture を貼っていくことになります。Edit Terrain Layers をクリックすると、Create Layer か Add Layer を選択できます。今回は、Create Layer で新規作成せず、「Terrain Sample Asset Pack」アセットにある Terrain Layer を使用するために、Add Layer をクリックします。
Grass_A_Terrain Layer を選択すると、下の画像のように Texture を貼ることができたと思います。
他の Terrain Layer を追加し、ブラシを使って複数の Texture を貼ることができます。Scene ビューでクリックまたはドラッグをすることで塗ることができます。
Paint Terrain:Paint Holes を使って Terrain の一部を非表示にする
Paint Holes ツールを使用して、Terrain (地形) の一部を非表示にします。洞窟や断崖などの地形のために Terrain の開口部をペイントすることができます。
ブラシを選択し、Scene ビューで編集できます。
(非表示の解除方法)
Paint Holes で非表示に下部分を解除するには、Shift キーを押した状態でブラシで塗ると、その部分の非表示が解除されます。
Paint Terrain:Raise or Lower Terrain を使って高さを変更する
Raise or Lower Terrain ツールを使用すると、Terrain タイルの高さを変更できます。
Scene ビューで、クリックアンドドラッグして高さを上げます。Shift キーを押しながらクリックアンドドラッグすると、Terrain の高さを下げます。
Paint Terrain:Set Height を使ってエリアの高さを特定の値に調整する
Set Height を使うと、高さを特定の高さに合わせることができます。
Space では、World と Local を選択できます。
World | World 座標を Height の値に合わせる |
Local | Local 座標を Height の値に合わせる |
補足
2D プロジェクトで Terrain を作成すると、うまく Game ビューに表示されませんでした。おそらく、なにかパッケージを入れ損ねているだけだと思いますが、2D プロジェクトで Terrain 機能を使うことはあまりないと思いますので、初めから3D プロジェクトを使うことをおすすめします。
今後の展望
本記事では、Paint Terrain のことをまとめました。Paint Trees や Paint Details などは別の記事でまとめますので、そちらをご覧ください。