W4 : 作成したBlueprintのStaticMeshとMaterialを変更する(Single Property View)
作成したBlueprintのStaticMeshとMaterialを変更する(Single Property View)
EUWにDetailパネルと同様にDrag&Dropやリストから選択できるWidget「Single Property View」を使用したUIを作成して、作成したBlueprintのStaticMeshやMaterielを変更する処理を実装します。。
何を設定しているか分かりやすいのでデザイナーさんたちからも好評なWidgetです。
作成したBlueprintのStaticMeshを変更する(Single Property View)
作成したBlueprintのStaticMeshを変更する処理を実装します。
Single Property Viewを使用したUIを作成する
Blueprint Actorの行の「Horizontal Box」を複製します。
「Single Peoperty View」を追加して、Textを変更します。
Widgetの変数名を変更する
「Single Property View」の変数名を「SinglePropertyViewStaticMesh」に変更します。
Buttonの変数名を「ButtonSetBlueprintActorStaticMesh」に変更し、「On Clicked」イベントを追加します。
Single Property Viewと紐づける変数を追加する
「Single Property View」と紐づける変数を追加します。
StaticMeshを設定させるようにするので、変数の型を「StaticMeshのObjectReference」に設定します。
Pre ConstructイベントにSingle PropertyViewにStaticMeshを設定できるように紐づける
Pre Constructイベントに「Single Peoperty View」と追加した変数を紐づける処理を実装します。
[Compile]ボタンをクリックします。
Single Peoperty Viewと変数を紐づけるとContent BrowserをDrag&Dropしたり、リストからAssetを選択できます。
BlueprintActorのStaticMeshを変更する処理を実装する
「Single Peoperty View」にStaticMeshが設定されていたら「BP_ActorBase」クラスを継承したクラスのStaticMeshを変更する処理を実装します。
[Compile]ボタンをクリックします。
「Single Peoperty View」に設定したStatic Meshで一括設定できます。
作成したBlueprintのMaterialを変更する(Single Property View)
作成したBlueprintのStaticMeshに設定しているMaterialを変更する処理を実装します。
Widgetの変数名を変更する
「Single Property View」の変数名を「SinglePropertyViewMaterial」に変更します。
Buttonの変数名を「ButtonSetBlueprintActorMaterial」に変更し、「On Clicked」イベントを追加します。
Single Property Viewと紐づける変数を追加する
「Single Property View」と紐づける変数を追加します。
Materialを設定させるようにするので、変数の型を「MaterialのObjectReference」に設定します。
Pre ConstructイベントにSingle PropertyViewにMaterialを設定できるように紐づける
Pre Constructイベントに「Single Peoperty View」と追加した変数を紐づける処理を実装します。
BlueprintActorのMaterialを変更する処理を実装する
「Single Peoperty View」にMaterialが設定されていたら「BP_ActorBase」クラスを継承したクラスのMaterialを変更する処理を実装します。
[Compile]ボタンをクリックします。
「Single Property View」にMaterialを設定します。
ButtonをクリックするとMaterialが変更されます。
MaterialとMaterial Instenceを設定できるように変更する
「Single Property View」と紐づけた変数の型が「Material」なので「Material Instence」は設定できません。
EUWでまとめてMaterialを設定したい場合に「Material Instance」も含めたいです。
「Material」と「Material Instence」の両方を設定できるように変更します。
変数の型を「Material」から「Material Interface」に変更します。
型が変更されたのでエラーになっている箇所を修正します。
[Compile]ボタンをクリックします。
変数の型を「Material Interface」に設定すると「Material」と「Material Interface」が設定できるようになります。
すべてを保存する
変更のあったアセットをすべて保存します。