Language:
Page Info
Tags:
Skill Level:
Engine Version:

ブループリントの構造体変数

構造体は、異なるデータ型をアクセスしやすいように関連づけて、一緒にまとめているコレクションです。Vectors、Rotators、Transforms はすべて構造体変数なので、 既にブループリントでシンプルな構造体を使用したことがあると思います。例えば、Vector 構造体には、お互いに関連している X float 変数、Y float 変数、Z float 変数が含まれます。

構造体はデータをネスティングすることもできます。Transform 構造体は、アクタの Location (Vector 構造体)、Rotation (Rotator 構造体)、Scale (Vector 構造体) データを含みます。

構造体を作成する

構造体変数をブループリントに追加する方法は、他の ブループリント変数 を追加する方法と同じです。Vectors、Rotators、Transforms などのシンプルな構造体は変数型ドロップダウン メニューの上の方に表示されています。

AddSimpleStruct.png

ドロップダウン メニューの [Structure][ セクションに、ブループリントで使用可能な構造体変数がすべて表示されます。

AddComplexStruct.png

構造体情報にアクセスする

構造体はバンドル データと一緒に機能するので、この小さな情報のチャンクにアクセスすることも必要になります。何通りかの方法があります。

構造体のピンを分割する

単一ノード上の構造体の個々の変数へのアクセスを可能にするには、Splitting struct pins というツールが便利です。

ピンを右クリックして、[Split Struct Pin] を選択します。

SplitStructPin.png

その構造体に含まれるすべての変数が表示され、個々に値を入力したり操作することが可能になります。

LocationXYZ.png

Split Struct Pin をアンドゥするには、新規作成したピンのいずれかを右クリックして [Recombine Struct Pin] を選択します。

RecombineStructPin.png

入力および出力の両方の構造体ピンを分割および再結合が可能です。

構造体を分解する

関数やマクロで繰り返すゲームプレイ ロジックの多くの場合で、構造体を個々の部品に分解することがあります。Break Struct ノードを使うと、ブループリント グラフ全体のビヘイビアを簡単にリプリケートすることができます。 Break Struct ノードを作成するには、構造体の出力ピンを引き出して、コンテキストメニューから Break [Struct Name] を選択します。

BreakHitResult.png

Break Struct ノードの名前とピンは、使用する構造体によって異なりますが、全体としては構造体は個々の部分に分解されます。

BrokenHitResult.png

例えば、Hit ResultImpact PointHit ComponentHit Bone Name を常に使いたい場合、Break Hit Result ノードを関数内に持つことができます。 Hit Result を関数入力として入力すれば、常にこれらの 3 つのデータ構成要素を関数内にバラバラに持つことができます。

BreakHitExample.png

構造体を作成する

構造体は、個々の構成要素に分割した場合と同じように、正しいデータから作成することもできます。

Make Struct ノードを作成するには、入力ピンを引き出して、コンテキストメニューから Make [Struct Name] を選択します。

MakeLinearMenu.png

Make Struct ノードの名前とピンは、使用する構造体によって異なりますが、全体としては含まれているデータから構造体を作成できるようにします。

MakeLinearColor.png

構造体にメンバーを設定する

時々、構造体には多くのデータが含まれていて、その中のいくつかだけ変更したい場合があります。構造体にメンバーを設定すると、一定を保っているデータピンをすべて接続しなくても、 変更するデータを非常に細かく指定できるようになります。

SetMembersInStruct.png

Set Members in Struct ノードで使用できるメンバーを変更するには、そのノードを選択します。[Details (詳細)] パネルにあるチェックボックスで、使用可能な各メンバーをノード上のピンとして公開することができます。公開されないメンバー変数は、 Set Members in Struct ノードでは変更されません。

SetMembersDetails.png

Tags