ツールスクリプトの作成
プロジェクトで新しいスクリプトを作成します。このスクリプトに、作成する Terrain (地形) ツールと同じファイル名とクラス名を付けます。すべての Terrain ツールの基本は、UnityEditor.TerrainTools
名前空間の TerrainPaintTool
クラスです。TerrainPaintTool
は抽象ジェネリッククラスです。
機能的なツールを作成するためには、いくつかのメソッドをオーバーライドする必要があります。また、以下の 2 つの関数も実装する必要があります。
関数 | 戻り値 |
---|---|
GetName | string Terrain ツールの名前。ツールの UI に表示されます。 |
GetDesc | string Terrain ツールの説明。ツールの UI に表示されます。 |
追加の機能がない Terrain ツールの例は以下のとおりです。
using UnityEngine;
using UnityEditor.TerrainTools;
internal class BasicTerrainTool : TerrainPaintTool<BasicTerrainTool>
{
// Terrain ツールの名前。ツールの UI に表示されます。
public override string GetName()
{
return "Examples/Basic Custom Terrain Tool";
}
// Terrain ツールの説明。ツールの UI に表示されます。
public override string GetDesc()
{
return "This is a very basic Terrain Tool that doesn't do anything aside from appear in the list of Paint Terrain tools.";
}
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext)
{
}
public override void OnRenderBrushPreview(Terrain terrain, IOnSceneGUI editContext)
{
}
public override bool OnPaint(Terrain terrain, IOnPaint editContext)
{
return true;
}
}
上の例は、ゼロからカスタムツールを作成する際の基本になります。Paint Terrain ドロップダウンメニューに、Basic Custom Terrain Tool がオプションとして表示されるようになります。
ドロップダウンメニューでカテゴリを指定する必要がある場合は、Category/SubCategory1/SubCategory2/Custom Terrain Tool
など、カテゴリとサブカテゴリを追加できます。必ず Category
、SubCategory1
、SubCategory2
を、実際に使用するカテゴリとサブカテゴリの名前に置き換えてください。
以下の画像は、Basic Custom Terrain Tool を含む Examples カテゴリです。