【Unity Terrain C#】Script でTerrainのSize設定する

Unity で、Terrain をC# Script で生成する方法を書きます。GUIは使用しません。

今回はシリーズ記事の最初ということで、ベースのテレイン作成とサイズ調整を行います。

開発環境
  • Windows10 Home 64bit
  • Unity Version 2020.3.17f1 Personal
  • Visual Studio Community 2019  16.11.2

ScriptでTerrain作成のまとめ記事は↓のリンクから。

あわせて読みたい
【Unity Terrain C#】Script でTerrainを作成する Unity のTerrain をScript で作成する方法について書きます。 ネットで検索すると、GUIを使ってTerrainを作成する記事は多々見つかります。しかし、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 のコンストラクタの引数は以下の意味があります。

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作成のまとめ記事は↓のリンクから。

あわせて読みたい
【Unity Terrain C#】Script でTerrainを作成する Unity のTerrain をScript で作成する方法について書きます。 ネットで検索すると、GUIを使ってTerrainを作成する記事は多々見つかります。しかし、Script でTerrainを...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次