Choose your operating system:
Windows
macOS
Linux
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 event は 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 の クラス デフォルト で見て、編集することができます。 クラスの各インスタンスに対して、変数の変更が可能であることも意味します。各アクタは独自の DesiredIntensity を保持することができます。
ブループリントに作成したクラスは、別の Blueprint クラスへ拡張することができます。これには、 クラスビューア のクラスの横にあるドロップダウンボタンをクリックして、新規ブループリントを作成するか、 ブループリントを 右クリック して、 Create New Blueprint Based on This を選択します。
Blueprint クラス、LightSwitchBPOnly は コンテンツ ブラウザ にあり、そこからレベルにドラッグできます。 クラス ビューア にもあります。 コンテンツ ブラウザ または クラスビューア を使用したレベルへのアクタの配置については、 アクタの配置 のドキュメントを参照してください。