Brush コントロールの UI の追加
ツールスクリプトの作成 では、機能を追加せずに新しいカスタムツールを作成する方法を説明しました。以下の例は、スクリプトで Brush コントロールの UI を追加する方法を示しています。
using UnityEngine;
using UnityEditor;
using UnityEditor.TerrainTools;
internal class CustomTerrainToolWithBrushUI : TerrainPaintTool<CustomTerrainToolWithBrushUI>
{
private float m_BrushRotation;
// Terrain ツールの名前。ツールの UI に表示されます。
public override string GetName()
{
return "Examples/Custom Terrain Tool with Brush UI";
}
// 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)
{
editContext.ShowBrushesGUI(5, BrushGUIEditFlags.Select | BrushGUIEditFlags.Opacity | BrushGUIEditFlags.Size);
m_BrushRotation = EditorGUILayout.Slider("Rotation", m_BrushRotation, 0, 360);
}
public override void OnRenderBrushPreview(Terrain terrain, IOnSceneGUI editContext)
{
}
public override bool OnPaint(Terrain terrain, IOnPaint editContext)
{
return true;
}
}
この例で十分というわけではありませんが、Brush に関する有用な情報が得られます。