Unity で、Terrain をC# Script で生成する方法を書きます。GUIは使用しません。
今回はシリーズ記事の最初ということで、ベースのテレイン作成とサイズ調整を行います。
- Windows10 Home 64bit
- Unity Version 2020.3.17f1 Personal
- Visual Studio Community 2019 16.11.2
ScriptでTerrain作成のまとめ記事は↓のリンクから。


やりたいこと
やりたいことは、幅 200 × 奥行 150 のテレインをシーン上に生成することです。

↓は真上から見た図。青がTerrainの領域です。
Scene 上に空のTerrainを生成する
まずは、Scene上に空のTerrainを作ります。今後このTerrainを編集することになります。
Unity のエディタで、メニューバーから、GameObject → 3D Object → Terrain を選択します。

ヒエラルキーにTerrainが追加されます。

空のTerrainに新規コンポーネントを追加する
先ほど作成したTerrain に新規コンポーネントを追加します。今後、このコンポーネントのScriptを操作して、Terrainの高さや木などを設定していきます。
Terrain のInspector からAdd Component を選択します。New script を追加します。名前は、ScriptTerrain とします。

Terrain のサイズを設定する
Terrain のsize を設定するScript は以下のようになります。
public class ScriptTerrain : MonoBehaviour
{
private void Start()
{
// テレインコンポーネント
Terrain terrain = GetComponent<Terrain>();
// 1. テレインサイズを設定する
terrain.terrainData.size = new Vector3(200, 10, 150);
}
}
テレインサイズを設定するには、terrainData.size に設定します。Vector3 のコンストラクタの引数は以下の意味があります。
- 第1引数 : Terrain Width : 200
- 第2引数 : Terrain Height : 10
- 第3引数 : Terrain Length : 150
第1引数、第3引数は、それぞれTerrainの幅、Terrain の奥行に反映されます。第2引数は、Terrainの最大の高さを設定します。今回は使用しません。
Play 画面にする
Play画面にすることで、スクリプトのStart関数が実行され、size が設定されます。

Terrain のInspector の Mesh Resolution に値が設定されていることが確認できます。

まとめ
今回は、Unity Terrain で、C# Script でsize を設定する方法を書きました。
ScriptでTerrain作成のまとめ記事は↓のリンクから。

コメント