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

    カスタム型

    Unity では C# スクリプトファイルを使用して独自のオブジェクト型を作成できます。こうした型はクラスと呼ばれます。

    クラスは、コード内でオブジェクトの設計図として機能します。つまり、クラスは、オブジェクトが持つデータの種類と、そのオブジェクトに対してコードが何を実行できるかを決定します。1 つの値を 1 つのデータ型で持つ代わりに、クラスは、1 つのオブジェクト内に、複数の変数を複数のデータ型で持つことができます。

    作成したカスタムクラスは、Visual Scripting の Script Graph (スクリプトグラフ) 内で、変数や他のオブジェクトの型として使用できます。Visual Scripting でカスタム型を追加および使用する方法に関しては、Visual Scripting でカスタム型を使用する を参照してください。C# スクリプトファイルに含めるコードによっては、クラス内のデータを操作できる新しいノードを作成することも可能です。

    例えば、アプリケーション内で、異なるプレイヤーキャラクターの性質を管理するためにコードを記述したい場合は、クラス Player を作成し、そのクラス内に、名前、キャラクターの種類、好きな色、プレイヤーのレベルを表す変数を含めます。

    using System;
    using UnityEngine;
    using Unity.VisualScripting;
    
    [Serializable, Inspectable]
    public class PlayerCharacter
    {
        [Inspectable]
        public string name; 
        [Inspectable]
        public string type;
        [Inspectable]
        public string color;
        [Inspectable]
        public int level;
    }
    

    これらの値は全て、コード内の Player オブジェクトの異なるインスタンス間で異なる場合があります。Player1 は "Erin という名前の緑 (Green) を愛するレベル 5 の詩人 (Bard)"、Player2 は "Sam という名前の黒 (Black) を愛するレベル 15 の魔法使い (Mage)" だとすれば、以下のようになります。

    Graph ウィンドウの Blackboard に、異なるキャラクターを表すためにカスタムクラスを使用して作成された 2 つの変数が表示されています。

    変数のみを使用して表したキャラクターとアプリケーション内でインタラクトするには、多数のノードを作成する必要があります。

    Graph エディター上で、プレイヤーキャラクターの情報をクラス (1 つのノード) を使用して表した場合と変数 (4 つのノード) を使用した場合の違いが確認できます。

    カスタムクラスを使用することで、4 つの別々の変数ノードを作成する代わりに、全てのプレイヤーキャラクターの情報を表す 1 つのノードを作成することができます。

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