Unity C# スクリプトでTerrain生成 という題目で、シリーズで説明します。
インスペークターにあるツールを使わずに、スクリプトのみでTerrain を生成していきます。
今回は、Terrainのサイズの設定をします。
- Windows10
- Unity 2019.3.7f1
- Microsoft Visual Studio Community2019
- .NET Framework 4.8
空のTerrain を作成する
まずは空のTerrainを作成します。3Dのプロジェクトを作ったところからスタートします。( プロジェクトの作成方法は割愛 )

Hierarchy → SampleScene で右クリックし、GameObject → 3D Object → Terrain を選択します。すると、Hierarchy にTerrainオブジェクトが生成されます。
スクリプトを作成する
次にTerrainの設定をするためのスクリプトを作成します。

Terrain のinspector で一番下の Add Components のボタンをクリックします。
さらに、一番下のNew script を選択します。

名前を入力し、Enterを押すと、スクリプトが生成されているはずです。

サイズの設定をする
サイズの設定をするために、スクリプトを編集します。Terrain のオブジェクトを取得して行います。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TerrainScript : MonoBehaviour { // Start is called before the first frame update void Start() { // 1-1. オブジェクトを取得 Terrain terrain = GameObject.Find("Terrain").GetComponent<Terrain>(); // 1-2. サイズを設定する terrain.terrainData.size = new Vector3(400, 100, 300); } // Update is called once per frame void Update() { } }
Start関数に処理を追加しました。
Start 関数
1. オブジェクト取得
Terrain を設定するためのオブジェクトをGameObjectのAPIから取得します。
2. サイズを設定する
取得したオブジェクトのterrainData のsizeを変更します。今回は、x軸の幅 400、y軸の幅100、z軸の幅300としています。
TerrainDataクラスのAPI はこちらを参考にしてください。
400m×300mのエリアに高さ100m の領域をTerrainとして設定したことになります。
実行して確認する
最後に設定が反映されるか確認します。

実行するためにPlayボタンを押します。

実行した後、Playボタンを再度押し、Senceで確認します。x軸の幅が400、z軸の幅が300になっています。

また、Inspector の設定→ Meash Resolution ( On Terrain Data ) でも設定を確認できます。
まとめ
いかがだったでしょうか。
今回は、スクリプトでTerrain のサイズを設定する方法について説明しました。
次回は、Heightmapで高さを設定する方法を説明します。
コメントを残す
コメントを投稿するにはログインしてください。