Blueprint クラス では、ブループリント ビジュアル スクリプティング システムを使用して新規クラスをセットアップできます。新規ブループリント クラス作成 後、 ビジュアル スクリプティングでコンポーネントを追加、関数やその他のゲームプレイのセットアップ、動作を設計し、クラスの変数に対してデフォルト値を設定することができます。ブループリントだけを使用してセットアップされた LightSwitch クラスは、 LightSwitch_BPOnly のように名前付けされます。これについては以下で説明します。
クラス設定
LightSwitch_BPOnly クラスは、コンテンツ ブラウザ で作成され、 Actor が親クラスとして選択されました。
コンポーネントは以下のいずれかによってブループリントに追加されます。すなわち ブループリント エディタ の コンポーネント タブに静的に追加、または グラフ エディタ のビジュアル スクリプティングを介して動的に追加されます。 LightSwitch クラスは PointLight コンポーネントと Sphere コンポーネントを常に持つため、この場合、コンポーネントは静的に [コンポーネント] タブに追加されます。
[コンポーネント] タブを使用して PointLight1 という名前の PointLight コンポーネントをルート コンポーネントとして、 Sphere1 という名前の Sphere コンポーネントをその PointLight コンポーネントにアタッチします。 ブループリント エディタ でクラスに追加されたコンポーネントはライトブルーのアイコンを持ち、親クラスから継承されたコンポーネントは濃い青色のアイコンを持ちます。
ブループリント エディタ では、新しい 変数、 関数、および マクロ を ブループリント エディタ の My Blueprint タブに追加することができます。ブループリント クラスに含まれている全ての グラフ にも アクセスできます。グラフには、デザイン タイムとゲームプレイ機能を作成する ノード がまとめて接続されており、クラス変数、ゲームプレイ イベント、 さらにアクタの周囲にあるものなどでも操作することができます。
float 変数、DesiredIntensity が [マイブループリント] タブを使用して LightSwitch_BPOnly クラスに追加されました。[マイブループリント] タブには [コンポーネント ウィンドウ] に追加されたコンポーネントも表示されるため、 必要に応じてグラフでアクセスできます。
LightSwitch_BPOnly クラスの挙動をセットアップするために使用するグラフが 2 つあります。1 つめのグラフは、 コンストラクション スクリプト 関数グラフで、Construction Script 関数エントリ ノードを含みます。 このイベントはアクタがレベルに追加されたとき、または既存のアクタがレベル内で移動したときに実行します。LightSwitch_BPOnly クラスで、Construction Script イベントは Set Intensity ノードと接続しています。 これは、アクタがレベル内に追加またはレベル内で移動する場合に、Point Light 1 (PointLight コンポーネント) の明るさが、DesiredIntensity の値になるようにするためです。
LightSwitch_BPOnly クラスでセットアップされたもうひとつのグラフは、 EventGraph です。イベントグラフでの実行は、OnComponentBeginOverlap や OnComponentEndOverlap イベントから始まります。こうしたイベントはレベル内の他のアクタがオーバーラップするか、Sphere コンポーネントを離れると実行します。両方のイベントが Toggle Visibility ノードに接続されているため、 こうしたイベントが実行すると、PointLightComponent の可視性は切り替えられます。イベントおよびグラフでの作業に関する詳しい情報は イベント, EventGraph, および グラフ エディタ のドキュメントをご覧ください。
右クリックメニュー で Toggle Visibility が見つからない場合、コンテキスト センシティブのチェックを外すか、Find a Node Menu で検索します。Point light 変数ノードから線を引き出し、 Toggle Visibility を検索しても同じ結果を得ることができます。
Sphere1 の OnComponentEndOverlap が見つからない場合、Sphere 変数を選択済みであることを確認してから、以下の手順で add イベントを使用します。 すなわち、Event->Add Event の順序で選択する、または 右クリック メニューから Add Event->Collision->View OnComponentBeginOverlap / OnComponentEndOverlap の順序で選択します。
DesiredIntensity 変数は、変数の設定で Editable に設定されます。そのため、Blueprint Editor の
ブループリントに作成したクラスは、別の Blueprint クラスへ拡張することができます。これには、クラスビューア のクラスの横にあるドロップダウンボタンをクリックして、新規ブループリントを作成するか、 ブループリントを 右クリック して、Create New Blueprint Based on This を選択します。
Blueprint クラス、LightSwitchBPOnly はコンテンツ ブラウザ にあり、そこからレベルにドラッグできます。クラス ビューア にもあります。 コンテンツ ブラウザ または クラスビューア を使用したレベルへのアクタの配置については、アクタを配置する のドキュメントを参照してください。