docs.unity3d.com
    目次を表示する/隠す

    ツールスクリプトの作成

    プロジェクトで新しいスクリプトを作成します。このスクリプトに、作成する 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 カテゴリです。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)