04.Reality Engine®Reality Editorガイド
----------------------------------------------------------------
以下、Reality Engine2.10 Previewドキュメントの翻訳記事です。
URL:https://docs.zerodensity.tv/reality210/reality-editor-guide
Reality Editorガイド
このガイドでは、Reality Editorの機能をReality Setupに統合する方法を理解することに焦点を当てています。
Reality Editorとは?
Reality EditorはUnreal Engineのフォーク版です。Reality Editorでは、様々なアンリアル・エンジンのシステム・コンポーネント(UMG、アニメーション、マテリアル)をすべて使用することができます。エディタには、アンリアル・エンジンのクラス実装(ポーン、アクター、ゲームモード)がすべて含まれています。3Dモデル、ビデオ、画像をReality Editorに含めることができます。
Reality Editorは何をするのか?
Reality EditorはReality Setupにリアルタイムのデータメカニズムを提供します。Reality Setupに関数、イベント、プロパティをバインドすることができます。
ZD Pinとは?
ZD_Pin は、[ZD Blueprint]ノードの入出力機構を操作するクラスです。任意の入出力メカニズムは、Unreal Blueprintを使ってReality Setup Nodeシステムにエクスポートすることができます。
Zero Density Actor Componentとは何ですか?
Reality Editorにはいくつかのアクターコンポーネントがあります。これらのコンポーネントはリアルタイムのデータをReality Node Graphに提供します。アクタにアクタコンポーネントをアタッチすることで、作成したアクタに機能を提供することができます。
https://docs.zerodensity.tv/download/attachments/4818888/EditorGuide.pdf
Reality Editorはどのように動作しますか?
基本的にReality EditorはUnreal Editorのフォークです。ネットワーク処理、ビデオ処理、データ処理を行います。まず最初のステップとして、ビューポートの "Play "ボタンをクリックすると、Reality Editorは自分自身と "Reality API "との接続を確立します。ゲームが正常に実行されると、Reality Setupに宣言されたデータメンバーとオブジェクト(float, integer, actors, pawns, cameraなど)が通知されます。Reality Editorはランタイムで双方向に動作します。これらのデータメンバーとオブジェクトは、Reality Setupアプリケーションごとに自動的に通知されます。
エンジンワークフローの指示
1.準備された設計図やその他のアセットはすべて、ビデオ信号処理中に存在します。
2.ビューポートでPlayをクリックすると、Reality Editorの処理が開始されます。
3.Reality EditorはReality Setupとの接続を確立します。この接続はリアルタイムで双方向です。
4.ZD BlueprintのノードクラスのインスタンスはすべてReality Setupに反映されます。
5.アクターにZDアクターが含まれている場合は、Reality Setupに反映されます。Reality Editorはリアルタイムで「Reality Setup」に反映されます。
6.ZDブループリントのクラス、プロパティ、関数のインスタンスはすべて「Reality Setup」に反映されます。
7.Reality EditorとReality Setupの間では、動的なイベントが反映されます。
8.Unreal Engineのカメラは、「Reality Setup」にビデオテクスチャストリームを提供します。
9.この処理は、ネットワーク接続が切れるまで続きます。
リアリティエディタ基本ワークフロースキーマ
UE4アクターをリアリティAPIにエクスポートする
このセクションでは、アンリアルエンジンのアクターをリアリティにエクスポートするためのガイドで構成されています。
ZDActor コンポーネント
ZDActorとは?
ZDActorは、実行時にノードとしてUnreal ActorオブジェクトをReality APIにエクスポートするアクタコンポーネントです。ZDActorを使用することで、任意のアクタをReality APIにエクスポートすることができます。
ZDActorの実装
1.Reality Editorで任意のアクタークラスを作成します。Add Componentをクリックし、次にZD Actorをクリックします。その後、ZD Actorをクリックします。
2.詳細パネル(画面右)のZD Actorをクリックすると、リアリティカテゴリの下にあるZD Actorコンポーネントのプロパティを変更することができます。
3.アクターをレベルに落とし込め
4.Reality Setupを起動します。Reality EditorのPlayボタンをクリックします。プロジェクトが実行中になると、Reality Setupのグラフにアクターノードが表示されます。
ZD Actorを使用して
1.アクターにZD Actorコンポーネントを貼り付けます。
2.レベルにアクターを入れます。
3.ゲームを開始すると、ZD Actorコンポーネントが自動的に追加されたアクターがノードとしてReality Setupに表示されます。
設計図機能のエクスポート
関数のエクスポートは、オンリアルタイム中に関数を呼び出すためのReality Setupに影響を与えるReality Editorの機能です。公開される関数のINPUT/OUTPUTパラメータをエクスポートすることができます。これにより、Reality Setup上で関数を呼び出すことができます。
機能公開のルール
・ActorオブジェクトにZDActor Componentコンポーネントをアタッチする必要があります。
・公開される関数は public として宣言されている必要があります。
実装
1.新しいActorインスタンスを作成します。ExampleActorという名前に変更します。ダブルクリックします。
2.Add Componentをクリックして`ZD`を検索し、 [構成要素] タブでZD Actor構成要素を添付します。
3.「My Blueprint」 タブで Add New + Functionをクリックします。SimpleFunctionという名前に変更します。
4.関数の選択後、詳細パネル(右側に)で、パラメータを追加する+をクリックします。
5.いくつかのパラメータを追加します。
6.Compile+Saveをクリックします。設計図を閉じます。
7.アクターをレベルに入れなさい。
8.Reality Setupを起動します。Reality EditorのPlayをクリックします。
9.Reality SetupのExampleActorをクリックします。プロパティタブを調べます。 パラメーター(ブール演算パラメータおよびベクトル)に追加した関数パラメータが表示されます。この機能は、リアリティ設定で実行できます。
プロパティのエクスポート
プロパティエクスポートとは、Blueprint変数をReality APIに書き出す機能です。Blueprint変数をプロパティとしてエクスポートした後、Reality Setup、Action System、またはReality .Net APIを使用するアプリケーションからプロパティを操作することができます。
属性書き出しのルール
1.[ZD Actor] ComponentをActorオブジェクトにアタッチする必要があります。
2.エクスポートされる変数はpublicでなければなりません(インスタンス編集可能、その変数の目のアイコンをクリックしてください)。
実施方法
1.「Simple Actor」という名前の新しいUnreal Actorインスタンスを作成します。オブジェクトにZD Actorをアタッチします。
2.Add New+Variableをクリックします
3.Variableタブで作成した変数をクリックします。名前をSimpleVariableに変更します。公開(インスタンス編集可能)にします。
重要: Instance Editable(インスタンス編集可能)をチェックするか、その変数の目のアイコンをクリックする必要があります。
4.CompileをクリックしてからSaveをクリックします。
5.コンテンツ ブラウザからアクター インスタンスをレベルにドラッグします。
6.Reality Setupの起動
7.Reality EditorのPlayをクリック
8.リアリティ設定グラフのSimple Actorをクリックします。SimpleVariableをクリックして値をtrueにします。(boolean変数はデフォルトでfalseに設定されています)
9.SimpleVariableプロパティは、実行時に自動的に双方向に反映されます。
直接読み取り可能な変数型
サポートされているタイプ
配列の作成方法
Reality Editorでは、変数を配列に変換することができます。そのためには、"Details "タブの "Variable Type "の隣にある変数アイコンをクリックして、配列に変更します。
配列としてサポートされている型
プロパティ更新時のコールバック
プロパティコールバックはReality Setupで変更されたデータをReality Editorに通知する機能です。例えば、Reality Setupで変数が変更されたときに関数を呼び出したい場合、Reality Editorで変数が変更されたときに実行される関数をコールバックすることができます。また、指定したインデックス位置で配列が変更されたときに実行される関数をバインドすることもできます。これでも配列の長さが変わったときに関数をバインドすることができます。
OnChanged_Event コールバック
序章
ここでもう一つ、Realityの便利な機能について説明します。Reality APIでは、Reality Setupで変更されたデータを認識することができます。この機能を使えば、変数が変更された時に "CustomEvent "でコードを操作することができます。
条件
・イベント名は "OnChanged_"で始まる必要があります。
・変数はpublicでなければなりません。
・OnChange_"以降のイベント名と変数は同じでなければなりません。
・イベント名は大文字と小文字を区別します。
例を挙げて見てみましょう。
1.Add Newボタンをクリックします。blueprintを選択します。
2.アクターブループリントクラスを追加します。それを開きます。
3.イベントグラフを開きます。
4.ZDActorコンポーネントを追加します。
5.My Blueprintタブの "Variables"セクションから新しい変数を追加します。それを公開します。
6.新しい「CustomEvent」を追加します。右クリックして「Add Custom Event」と書きます。
7.名前は "OnChanged_MyBooleanVariable"でなければなりません。(OnChanged_の後の変数名とイベント名は同じです)
8.下の画像のようにノードを追加します。
9.MyBooleanVariableを変更すると、イベントはブーリアン変数の値を表示します。この機能がどのように動作しているかを理解するための基本的なコードです。
10.シーンにActorBlueprintを追加します。
11.Playボタンをクリックして、Reality Setupを開きます。
12.MyActorBPノードを選択します。
13.リアリティ設定にアクターの設計図が表示されているのがわかると思います。ZDActorコンポーネントのおかげです。
14.MyActorBPのプロパティタブにも変数が表示されます。 パブリック変数にしたからです。
15.MyBooleanVariableを変更すると、OnChanged_MyBooleanVariableイベントが動作します。
OnLengthChanged_Event コールバック
条件
・イベント名は "OnLengthChanged_"で始まる必要があります。
・変数はpublicでなければなりません。
・OnLenghtChange_"以降のイベント名と配列変数は同じでなければなりません。
・イベント名は大文字と小文字を区別します。
例を挙げて見てみましょう。
1.Add Newボタンをクリックします。blueprintを選択します。
2.アクターブループリントクラスを追加し、それを開きます。
3.イベントグラフを開く。
4.ZDActorコンポーネントを追加します。
5.My Blueprintタブの "Variables"セクションから新しい変数を追加します。それを公開し、配列として変更します。
6.新しい「CustomEvent」を追加します。右クリックして「カスタムイベントの追加」と書きます。
7.名前は "OnLengthChanged_MyBooleanArray "でなければなりません。(OnLengthChanged_の後の変数名とイベント名が同じであることがわかると思います)
8.下の画像のようにノードを追加します。
9.MyBooleanVariable "配列に新しい値を追加すると、イベントは配列の長さを表示します。これは、その動作を理解するための基本的なコードです。
10.シーンにActorBlueprintを追加します。
11.再生ボタンをクリックして、Reality Setupを開きます。
12.MyActorBPノードを選択します。
13.リアリティ設定にアクターの設計図が表示されているのがわかると思います。ZDActorコンポーネントのおかげです。
14.MyActorBPのプロパティタブにも配列変数が表示されます。 パブリック変数にしたからです。
結果
OnChanged_関数コールバック
OnChanged_関数のバインディングは、Reality Setupで特定の変数や配列のインデックスが変更されたときに呼び出される関数定義パターンです。このOnChanged_FunctionName(アンダースコア付き)パターンは、実行時にプロパティが変更された場合に、任意のノードベースのメカニズムをトリガーすることができます。
配列のOnChanged_functionバインディングは、Reality API上で変更されたプロパティのインデックスを返すようにバインディングすることもできます。Reality API上で変更されたインデックスは、変更されたインデックス番号でブループリント関数を実行します。
OnChanged_関数定義の使用ルール
1.公開される変数と関数は、publicとして宣言しなければなりません。(インスタンスは編集可能)
2.イベントグラフ上に生成される関数は、以下の形式に従う必要があります。OnChanged_AnyVariableName (OnChangedの後のアンダースコアは必須)。
3.OnChanged_ の後の関数名は、変数名と同じ名前でなければなりません。
4.開発者は関数の大文字小文字の区別に注意する必要があります。
5.配列を OnChanged_ パターンにバインドする場合は、整数のパラメータがインデックスの変更を意識したものでなければなりません。
関数と変数は "Public"でなければならず、関数名は大文字小文字を区別します。
OnChanged_関数の変数へのバインディングの実装
1.新しいActorクラスオブジェクトを作成します。コンポーネントタブのAdd Newをクリックします。ZD Actorを追加します。
2.MyVariableという名前の変数を新規に作成し、変数型はIntegerにします。これをpublic(インスタンス編集可能)にします。
3.新しい関数を作成します。関数名をOnChanged_MyVariableに変更します。
Functionパターン
関数名は次のパターンに従わなければなりません OnChanged_VariableName
4.グラフ上でMyVariableを切り替え、値に関する文字列を表示します。グラフが完成したら、Compile + Saveをクリックします。
5.アクターをレベルアップさせてください。
6.Reality Setupを起動してください。
7.Reality EditorのトップメニューからPlayをクリックします。
8.Reality Setupで作成したアクターをクリックします。
9.MyVariableを1と2と0に変更します。 結果を確認します。
10.Reality EditorのOutput Logウィンドウにデバッグメッセージが表示されます。Window->Developer Tools->Output Logをクリックします。
OnChanged_関数の配列へのバインディングの使用
Reality Setupで配列変数が変更されたときに実行されるブループリント関数をバインドすることができます。指定したインデックスを取得することができます。関数名は以下のパターンに従う必要があります OnChanged_ArrayName (アンダースコアは必須)
1.新しいActorクラスオブジェクトを作成します。コンポーネントタブのAdd Newをクリックします。ZD Actorを追加します。
2.新しい配列変数を作成します。
3.OnChanged_ArrayOfFloatsという名前の新しい関数を作成します。
4.作成した関数をクリックします。Indexという名前の整数パラメータを追加します。
この関数は、パラメータが整数型の場合にのみ動作します。
5.下図のようにノードを接続します。
6.アクターをレベルアップさせて
7.Reality Setupを起動します。
8.Reality EditorのトップメニューからPlayをクリックします。
9.作成したアクターノードをクリックし、配列に項目を追加します。
10.output logを確認し、指定したインデックスでリアリティエディタが実行する関数を実行します。
OnLengthChanged_ 関数コールバック
長さが変更された関数バインディングでは、配列から要素が追加されたり削除されたりしたときに、そのことを知ることができます。この関数パターンは配列に対してのみ利用可能です。
OnLengthChanged_の使用ルール
・配列は、ブループリント上でpublic(編集可能なインスタンス)として宣言されなければなりません。
・関数名は以下のフォーマットに従わなければなりません OnLengthChanged_ArrayName
・OnLengthChangedの後にアンダースコア文字が必要です。
実施方法
1.コンテンツブラウザタブの「Add New」→「Blueprint Class」をクリックします。
2.親クラスとしてActorをピックします。
3.アクター名を「SimpleActor」に変更することができます。
4.[コンポーネント]タブのAdd Componentをクリックします。「zdactor」を検索し、ZDActorを選択します。
5.My BlueprintsタブのAdd Newをクリックし、Variableをクリックします。
6.作成した変数をクリックすると、右側に詳細パネルが表示されます。ドロップダウンメニューの右側にあるピンクのバーをクリックしてArrayにします。インスタンス編集可能にチェックを入れます。
7.My Blueprintタブの Add New → Functionをクリックします。
8.関数名をOnLengthChanged_StringArrayに変更します。
OnLengthChanged_関数のパターンは必須です。
9.OnLengthChanged_StringArrayをダブルクリックします。下図のようにノードを接続します。配列の長さが変わったとき(要素の追加や削除)には、配列の要素に0から42までの乱数を設定しています。
10.作成したアクターをクリックします。そこで、Add Itemをクリックします。文字列配列の要素を追加したり削除したりすると、設計図に配列の値が自動的に設定されるようになりました。
ZDActorsのテクスチャピン
序章
ZD Actor Componentを使用することで、Reality API上でテクスチャを出力ピンとして出力することができます。Texture Object Reference、Texture2D、Media Textureオブジェクトタイプを公開することができます。
実施方法
1.アクターにZDActor Componentを追加します。
2.SimpleTexture という名前の新しい変数を作成します。変数の型を Texture Object Reference にします。
3.変数がInstance Editable (public)になっていることを確認し、ドロップダウンボックスに手動で "out"カテゴリを追加します。
また、各変数の右にある「目」のアイコンを使用することもできます。
変数はInstance Editable(public)でなければなりません。カテゴリはOutでなければなりません。そうでない場合、変数は入力ピンとして扱われます。
4.テクスチャは出力ピンとしてエクスポートされます。
アセットをReality APIにエクスポートする
アセットエクスポート
アセットエクスポートを使用すると、様々なアセット(アクター、フォント、テクスチャ)をノードまたはプロパティとしてReality Setupにエクスポートすることができます。
実施方法
RealityカテゴリのEdit → Project Settingsをクリックして、Reality Exportメニューを開きます。
アクターのエクスポート
指定したアクタークラスをReality Setupにエクスポートすることができます。指定したアクタークラスはReality Setup上でスポーンすることができます。
実施方法
1.トップメニューの Edit + Project Settingsをクリックします。スクロールダウンして、リアリティカテゴリの下にあるExportメニューをクリックします。
2.アクターのサブカテゴリの下にある+ボタンをクリックします。展開します。Select Actor Class Assetが展開されます。
3.Reality EditorのPlayをクリックします。
4.Zero DensityアイコンをクリックしてReality Controlを起動し、[F7]を押してリアリティ設定を起動します。
5.スペースに右クリックして、指定したカテゴリを選択し、表示名をクリックします。
6.まず、アクターはゲームワールド上にスポーンされます。その後、ノードグラフにアクターのノードが表示されます。
カスタム設計図ノードのエクスポート
Reality EngineはReality API上でのカスタムノードの作成をサポートしています。カスタムノードをReality APIにエクスポートするには、ZDBlueprintNodeから派生した新しいクラスを作成する必要があります。
ブループリントクラスはZDBlueprintNodeクラスから派生したものでなければなりません。
実施方法
1.新しい青写真ノードアセットを作成するには、Add Newをクリックし、Blueprint Classをクリックします。
2.親クラスとしてZDBlueprintNodeをピックします。
3.オブジェクトクラスの名前を変更することができます。この例では、MyBlueprintNodeという名前に変更しています。
4.Edit → Project をクリックします。
5.下にスクロールして、RealityタブのExportsをクリックします。
6.Nodesタブの下の+をクリックします。ノードクラスを選択します。ノードに影響を与えるいくつかのオプションがあります。プロジェクト設定ウィンドウを閉じます。
7.Zero Densityアイコンをクリックしてリアリティコントロールを起動し、[F7]を押してリアリティ設定を起動します。
8.Reality EditorでPlayをクリック.
9.Reality Setupのスペースを右クリックします。 Create → MyCategory → MyDisplayNameをクリックします。
10.あなたのノードがReality Editorに表示されます。
カスタム材料ノードのエクスポート
マテリアルノードのエクスポートを使用すると、RealityのカスタムマテリアルノードのデータをReality Setupにエクスポートすることができます。ユーザーはパラメータとパスを指定して、Reality API上でイメージ計算を行うことができます。
実施方法
1.Add Newをクリックし、Realityをクリックし、 Material Definitionをクリックします。マテリアル定義名を変更することができます。アセットをダブルクリックします。
2.アセットにパラメータやパスを設定することができます。ノードグラフにアクセスするためには、ここにNode NameとCategory Nameを書く必要があることを忘れないでください。
3.トップメニューのEditをクリックし、 Project Settingsをクリックします。
4.下にスクロールして、RealityカテゴリのExportsをクリックします。
5.Material Definitionsタブの下をクリックします。マテリアルを選択します。書きましたね。プロジェクト設定ウィンドウを閉じます。
6.Reality EditorのPlayをクリックします。
7.Zero Densityアイコンをクリックしてリアリティコントロールを起動し、[F7]を押してリアリティ設定を起動します。スペースの上で右クリックします。Create → Some Category → Custom Node Nameをクリックします。
8.Custom MaterialノードがReality Setupグラフに追加されます。
レンズキャリブレーションのエクスポート
Reality Exportsタブのカメラエクスポートセクションを使って、レンズデータの情報をReality Setupにエクスポートすることができます。
実施方法
1.ブラウザのAdd New → Reality → Lens をクリックします。
2.レンズデータの名前をMyLensに変更してダブルクリックします。特定のレンズ情報へのLensData情報の再グレーディングを実装することができます。
3.トップメニューの Edit → Project Settingsをクリックします。
4.下にスクロールして、RealityカテゴリのExportsをクリックします。
5.+ボタンをクリックします。作成したレンズを選択します。
6.Zero DensityアイコンをクリックしてReality Controlを起動し、[F7]を押してReality Setupを起動します。ノードグラフ上でReality EditorのPlayをクリックします。
7.レンズノードをクリックすると、レンズカテゴリの下に、エクスポートしたレンズデータを選択することができます。
ポストプロセスマテリアルのエクスポート
ポストプロセスデータをReality APIにエクスポートすることができます。ポストプロセスマテリアルを使用すると、Reality APIのポストプロセスノードにポストプロセスマテリアルをレンダリングすることができます。複数のポストプロセス素材を作成して、ポストプロセスノードに結合することができます。
実施方法
1.新しいポストプロセスマテリアルを作成するには、Add New→ Materials & Textures→ Materialをクリックします。マテリアルに名前を付けることができます。
2.作成したマテリアルをダブルクリックします。詳細パネルで、Material Domainをクリックし、Post Processを選択します。
3.グラフを右クリックし、定数を検索します。作成する定数をクリックしてください。
4.定数をクリックします。定数の値を 0.3 に設定します。
5.Emissive Colorに定数を接続します。
6.Edit→ Project Settings設定をクリック
7.下にスクロールして、RealityタブのExportsをクリックします。
8.ポストプロセスマテリアルの下の+ボタンをクリックし、インデックスを展開します。作成したポストプロセス素材を選択します。ポストプロセス素材には、エクスポート名を付けることができます。
9.Zero DensityアイコンをクリックしてReality Controlを起動し、[F7]を押してReality Setupを起動します。
10.Reality EditorでPlayをクリック。
11.ノードグラフを開きます。Create→UE Render→Post Process Materialをクリックします。
12.[Post Process Material]ノードをクリックします。マテリアルノードを展開し、作成したマテリアルを選択します。
すでにいくつかのカスタムポストプロセス素材が定義されています。(RealityDistort, RealityBypass, RealityTonemapper)
13.[PostProcess]ノードのAdd Materialをクリックします。
14.PostProcessMaterial出力端子とPostProcessMaterial入力端子を接続します。
まとめ
Reality Editor上でポストプロセスマテリアルを新規作成する方法と、Reality APIでのセットアップ方法を学びました。ポストプロセスマテリアルは任意のPostProcessノードをレンダリングするのに便利です。
投影材のエクスポート
Reality APIにプロジェクションマテリアルをエクスポートすることができます。Projection Materialsは、Projection上でのマテリアルレンダリング機能をサポートしています。
実施方法
1.Edit→ Project Settingsをクリック
2.下にスクロールして、RealityタブのExportsをクリックします。
3.Projection Materialsの下にある+ボタンをクリックします。書き出し用の名前を付けることができます。マテリアルを選択してウィンドウを閉じます。
4.Zero Densityアイコンをクリックしてリアリティコントロールを起動し、[F7]を押してリアリティ設定を起動します。
5.Reality EditorのPlayをクリックします。
6.ノードグラフを開きます。
7.[Projection]ノードでは、新しい素材を使用することができます。
静的メッシュのエクスポート
静的メッシュデータをReality APIにエクスポートすることができます。スタティックメッシュはジオメトリオブジェクトと一緒に使用することができます。
実施方法
1.Reality EditorのEdit → Project Settingsをクリックします。
2.下にスクロールして、RealityタブのExportをクリックします。
3.静的メッシュカテゴリの下の+をクリックします。インデックスを展開します。スタティックメッシュを選択します。スタティックメッシュに名前を付けることができます。プロジェクト設定ウィンドウを閉じます。
4.Zero Densityアイコンをクリックしてリアリティコントロールを起動し、[F7]を押してリアリティ設定を起動します。
5.Reality EditorのPlayをクリックします。
6.ノードグラフを開きます。スペース上で右クリック、Create → Geometry → Geometry Meshをクリック。
7.GeometryMeshノードをクリックします。Reality Editorでエクスポートした静的メッシュを選択します。
Unrealモーション・グラフィックスのエクスポート
カスタムUMGウィジェットをReality Editorのテクスチャ出力ノードとして書き出すことができます。
ウィジェットクラスはZDRealityWidgetクラスから派生している必要があります。
実施方法
1.コンテンツブラウザで Add New → User Interface → Widget Blueprintの設計図をクリックします。ウィジェットの名前をCustom Widgetに変更することができます。
2.ダブルクリックしてウィジェットを開きます。シンプルに、ウィジェットに画像を追加します。
3.右上のGraphをクリックします。
4.Class Settingsをクリックし、詳細パネルのParent Classドロップダウンをクリックします。親クラスとして ZDRealityWidget を選択します。
親クラス ZDRealityWidget が必要です。
5.Edit → Project Settingsをクリック
6.下にスクロールして、Realityタブの下のExportsをクリックします。
7.Widget Classの+ボタンをクリックします。0インデックスを展開します。Widget Classのドロップダウンメニューをクリックします。作成したウィジェットを選択します。エクスポート名を指定します。
8.Zero Densityアイコンをクリックしてリアリティコントロールを起動し、[F7]を押してリアリティ設定を起動します。
9.Reality EditorのPlayをクリックします。
10.Reality Setupを開きます。 Create → [EXPERIMENTAL] → Widget → Widgetをクリックします。
11.作成したウィジェットノードをクリックします。ウィジェットメニューからウィジェットを選択します。
Reality Setupでは、ウィジェットをimage/video出力として使用することができます。
Unreal テクスチャ アセットのエクスポート
Unreal TextureのアセットデータをReality APIにエクスポートすることができます。
実施方法
1.トップメニューの Edit + Project Settingsをクリックします。
2.下にスクロールして、RealityタブのExportsをクリックします。
3.Texturesタブの+ボタンをクリックします。0 インデックスをクリックします。エクスポートするテクスチャをクリックします。エクスポート名を変更することができます。プロジェクト設定ウィンドウを閉じます。
4.Zero Densityアイコンをクリックしてリアリティコントロールを起動し、[F7]を押してリアリティ設定を起動します。
5.Reality EditorのPlayをクリックします。
6.Reality Setupグラフを右クリックします。 Create → Media I/O → Unreal Textureをクリックします。
7.クリックするとテクスチャノードが作成されます。テクスチャをクリックすると、Reality Editorでエクスポートしたテクスチャを選択することができます。
ヒント
UpdateEveryFrameをtrueに設定することをお勧めします。
Realityカスタムマテリアルノード
カスタムマテリアルノード
カスタムマテリアルとは、Unreal Materialsで作成された画像処理システムで、後にReality Engineのマテリアルノードとしてノードマテリアルとして使用するためのものです。
マテリアル定義アセット
マテリアル定義は、作成するカスタムマテリアルノードのプロパティをReality Engineに通知するために作成されたファイルです。
渡すことができるプロパティはノードとしてReality APIに接続します。
・Material Definitionでの変数の定義
・カスタムマテリアルノードの作成方法
マテリアル定義の変数を定義する
1-マテリアル定義アセットの作成
1.Add Newボタンをクリックします。
2.Realityにマウスカーソルを合わせて、MaterialDefinitionを選択します。
3.MaterialDefinitonクラスを選択します。
2ノードおよびカテゴリ名
MaterialDefinitionアセットを開きます。
ノード名はノード名を定義し、カテゴリ名はReality Setupでノードの場所を定義します。
3パラメータ
addボタンをクリックし、マテリアルエディタで宣言した変数タイプを選択します。
ParameterNameはマテリアルノードのパラメータ名と同じでなければなりません。
カスタムマテリアルノードを作成する方法
1.Materialの作成
まず、マテリアルを作成します。コンテンツブラウザウィンドウの左上隅にあるAdd Newボタンを使用します。
または、コンテンツブラウザの何もない領域で右クリックし、コンポーネントメニューから選択してアクセスします。
2.Materialドメインの変更
1.マテリアルを開きます。
2.詳細パネル内のマテリアルセクションから、マテリアルドメインをReality Nodeに変更します。(詳細パネルは、マテリアルエディタの左下にあります。)
3.変更を適用して保存します。
3.Materialのコーディング
このチュートリアルでは、マテリアルの色を変更する例を示します。
マテリアルノードをグラフに追加する方法は2つあります。
a.材料グラフの空白領域をクリックします。ノードを選択します。
b.マテリアルエディタの右側にあるパレットからノードを選択し、グラフにドラッグアンドドロップします。
materialをコーディングしましょう。
1.TextureObjectParameterノードを追加します。
2.TextureSampleノードを追加します。
3.VectorParameterノードを追加します。
4.Multiplyノードを追加します。
5.次の図のようにリンクします。
4-RealityのためのMaterial Definition
1.Add Newボタンをクリックします。
2.Realityにマウスカーソルを合わせて、MaterialDefinitionを選択します。
3.MaterialDefinitonクラスを開きます。
4.2つのパラメータを追加します。Exampleには2つのパラメータがあります。TextureObjectParameterおよびVectorParameter。
5.プラスアイコンをクリックし、パラメータのタイプを選択します。
6.パラメータのプロパティを設定します。
パラメータ名はマテリアルノードのパラメータ名と同じでなければなりません。
7.パラメータセクションの下にあるパスセクションを開きます。
このセクションでは、パスを入力して出力します。パスパラメータを定義しない場合、入力の変更は出力に適用されません。
8.2つの入力がありました。TextureObjectParameterおよびVectorParameter。結果として適用するには、このセクションで設定します。
9.セットマテリアル
10.出力としてパラメータを追加します。変更を保存します。
5.Realityへのエクスポート
1.Edit>Project Settingsからプロジェクト設定を開きます。
2.Realityタイトルの下のExportsタブを開きます。
3.MaterialノードのMaterial Definitionsタブの配列複写に要素を追加します。
6.Realityのセットアップ
1.Playボタンをクリックします。
2.Reality Setupを開きます。
3.空白の領域を右クリックし、CustomCategoryにカーソルを合わせます。(これはMaterialDefinitionクラスに由来します。カテゴリ名の下に設定します。)
4.custom materialノードを追加します。
5.下の図のようにグラフを設定します。テクスチャ入力にはCameraを使用します。
6.[MyCustomMaterial]ノードのプロパティタブをクリックします。
7.プロパティメニューから色の値を変更します。
結果を確認しましょう。
実際のUMGの使用
はじめに
Realityでは、UMG Rendererでウィジェットの設計図を使用できます。UMGは、UI要素、メニュー、オーバーレイ、およびその他のインタフェース関連グラフィックスの作成に使用するビジュアルツールです。UMGのコアにはウィジェットがあり、これを使ってインターフェースを構築します。ボタン、チェックボックス、スライダ、プログレスバーなど。
UMGを作成し、Realityセットアップアプリケーションで構成しましょう。
実際にUMGを使用する方法
はじめに
このチュートリアルでは、文字コンポーネントを作成し、それをリアルタイムで変更します。
1. ウィジェットブループリントの作成
まず、ウィジェットの青写真を作成します。コンテンツブラウザウィンドウの左上隅にあるAdd Newボタンを使用します。
または、コンテンツブラウザの何もない領域で右クリックし、コンポーネントメニューから選択してアクセスします。
Add New > User Inteface > Widget Blueprint
Blueprintオブジェクトをコンテンツブラウザに追加する必要があります。新しい名前を付けます"WidgetExample."。ダブルクリックして開きます。
blue printウインドウが開くものとする。ウィジェット設計図ウィンドウには、DesignerとGraphの2つのタブがあります。(エディターの右上をチェックしてください)
デフォルトでは、ウィジェットの設計図はDesignerタブに表示されます。いくつかのコンポーネントを追加してカスタマイズしてみましょう。
2. ウィジェットブループリントの親クラスの変更
始める前に、いくつかのコンポーネントを追加し、ウィジェット設計図の親クラスを変更しましょう。
・graphタブが選択されていることを確認します。
・クラス設定を開きます。
・詳細パネルをチェックします。
・クラスオプションの下にある親クラスをZDRealityWidgetとして変更します。
変更を保存することを忘れないでください。
3. コンポーネントの追加
designerタブを開き、いくつかのコンポーネントを追加します。
この例では、画面にテキストを表示し、テキストの変数をリアルタイムで変更します。
枠線とテキストを追加します。コンポーネントをパレットからキャンバスにドラッグアンドドロップするだけです。次の図のようになります。テキストを枠線の内側にも配置します。
テキストと枠線を作成したら、新しい変数を追加してテキストをリアルタイムで変更します。
・graphタブを開く
・左パネルから新しい変数を追加します。
・名前を付けます。
・変数をpublicに変更します。これは重要な部分です。変数をパブリックに変更しないと、実際の設定では表示されません。
変数は文字列でなければなりません。
変数をpublicにするには2つの方法があります。
1.変数パネルの変数名の横にある目のアイコンをクリックします。
2.または、詳細パネルで「インスタンス編集可能 」プロパティを編集します。どちらの方法でも同じ効果が得られます。
変更を保存します。
4. 変数をコンポーネントにバインドする
ウィジェットの設計図の最後のステップは、変数をテキストにバインドすることです。バインド処理は、デザイナーパネルを開き、テキストを選択し、エディタの右にある詳細パネルをチェックしてください。
詳細パネルで、コンテンツタブの下のバインドボタンをクリックし、変数を選択します。変更を保存します。
これがウィジェットの設計図です。実際の設定で使用するためにエクスポートしてみましょう。
5. UMGのエクスポート
ウィジェットの青写真を閉じて、Edit > Project Settingsからプロジェクト設定を開きます。
Realityタイトルの下にあるExportsタブを開きます。
UMGタブのウィジェットクラスの下にある配列に要素を追加します。エクスポート名を設定し、以前作成したウィジェットクラスを設定します。
6. Reality SetupでUMGを設定する
Reality SetupでUMGを使ってみましょう。Reality EditorのPlayボタンをクリックして、Reality Setupに接続します。Reality Setupを開きます。
Create > UMG > UMG Rendererを右クリックします。
これでUMGRendererというコンポーネントができました。UMGRendererの出力をMixerのオーバーレイ入力に接続してみましょう。下の画像のように、UMGRendererの出力をミキサーのオーバーレイ入力に接続してみましょう。
UMGRendererを選択し、Reality Setupの左にあるプロパティにチェックを入れるだけです。
まず、Widgetを先に作成したWidgetクラスに設定してからエクスポートします。下の画像のように変数が表示されているはずです。下の画像のようになります。textVariable(2)に何かを書き込んで、リアルタイムで変更します。
結果を見てみましょう。
UMGアニメーション
1.Widget Blueprintの作成
ウィジェットの設計図を作成しましょう。コンテンツブラウザウィンドウの左上隅にあるAdd Newボタンを使用してください。
または、コンテンツブラウザの空の領域で右クリックして、コンポーネントメニューから選択してください。
Add New > User Inteface > Widget Blueprint
・新しいものを
ウィジェットの設計図の親クラスをZDRealityWidgetに変更することを忘れないでください。
2.コンポーネントの準備
シーンのデザインを開始します。キャンバスパネルにコンポーネントを追加します。UMGアニメーションを作成してみましょう。
・ウィジェットのblueprintを開きます。
・1.パレットからテキストコンポーネントを選択します。シーンにドラッグ&ドロップします。
・2.詳細パネルからカスタマイズします。(色の変更、フォントサイズの変更など)
3.アニメーションの追加
1.Animationボタンをクリックして新しいアニメーションを追加します。
2.アニメーションに名前を付けて保存します。
3.PALやNTSCなどのfps設定を選択します。
4.アニメーションにトラックを追加する
・Reality Editorの右下にあるアニメーションタブからアニメーションを選択します。
・使用するにはタイムラインがアクティブになっている必要があります。
・先に作成したテキストコンポーネントを選択します。選択しないとトラックメニューにテキストコンポーネントが表示されません。
・トラックメニューにテキストコンポーネントを追加します。
5.トラックにキーを追加する
・トラックメニューから「Textblock(Canvas Panel as Slot)」を選択します。
CanvasPanelSlot_12 "の隣にある "+Track "をクリックします。(ウィジェットの設計図では違う名前になっているはずなので、名前を変更することもできます)。
・Data.Offsetを選択します。
・トラックメニューには、キーで操作するためのプロパティがたくさんあります。この例ではData.Offsetを使います。あなたは理解した後に別のプロパティを使用することができます)。
データを追加した後に、データオフセットのタブの下にプロパティが表示されているはずです。オフセットを追加すると、タブの下にいくつかのプロパティが表示されるはずです。
これらのプラスアイコンでタイムラインにキーを追加することができます。
タイムライン上でキーを使ったアニメーションを作成してみましょう。
5.アニメーションキーの追加
テキストブロックが選択されていることを確認してください。
時間を0に変更します。 時間の設定には2つの方法があります。
1.そのうちの一つは、フィルター検索バーの右にあるタイムボックスを経由しています。その中をクリックして時間を変更してください。
2.2つ目はタイムラインスティックを使ったものです。マウスでドラッグして、設定したい場所にドロップします。
・時間を設定します。
・プラスアイコンをクリックして新しいキーを追加します。
・topのプロパティ値を設定します。(他のプロパティの値を変更することもできます)
アニメーションの準備ができました。
これらの手順の後は、Reality Setupにエクスポートする以外に必要なものはありません。設計図などを用意する必要はありません。(Realityはすべてのアニメーションをノード関数として表示します。)
6.Realityへのエクスポート
・ウィジェットの設計図を閉じてから、Edit>Project Settingsからプロジェクトの設定を開きます。
・Realityタイトルの下にあるExportsタブを開きます。
・UMGタブのウィジェットクラスの下にある配列に要素を追加します。エクスポート名を設定し、ウィジェットクラスを前に作成したものに設定します。
7.RealityでUMGアニメーションを使う
Reality Setupでアニメーションを使ってみましょう。
1.Playボタンをクリックします。
2.Reality Setupを開きます。
3.空の領域を右クリックし、UMGRendererを追加します。
Create > UMG > UMG Rendererを追加します。
UMGRenderer の出力を Mixer のオーバーレイ入力に接続します。
UMGRendererのプロパティを確認します。
ウィジェットクラスを設定します。
functionsを開きます。
このプロパティを説明しましょう。
1.UMG Rendererの機能タブをクリックします。
2.ここでは、アニメーションを再生する前にいくつかのプロパティを用意することができます。
3.選択したアニメーションを停止させるためのものです。
4.選択したアニメーションを一時停止します。
PlayAnimation Execute ボタンをクリックし、Mixer DefaultノードのProgram の出力結果を確認してみましょう。
テクスチャブラシ
UMGコンポーネントで使用しているテクスチャブラシノードは、入力されたテクスチャをスレートブラシ変数に変換します。これにより、Reality API上でスレートブラシ変数を設定したり、ランタイムで変更したりすることができます。
テクスチャブラシの使い方
1.Add Newボタン > ユーザーインターフェースを使用して、ウィジェットのBlueprintを選択します。
2.Graphタブを選択し、クラス設定を開き、親クラスをDetailsタブのZDRealityWidgetに設定します。
3.Designerタブを選択し、パレット下の共通セクションから画像を追加し、Is Variable(変数にする)の選択にチェックを入れます。
4.Graphタブを開きます。変数セクションから新しい変数を追加します。それを変数「SlateBrush」として選択します。
5.公開します。目のアイコンをクリックします。
Reality APIはWidget Blueprintで作成したSlateBrush変数を自動的に検出します。変数を公開する以外は何もする必要はありません。
6.blueprintでコードブロックを作成します。(基本的にはSet BrushノードでMySlateBrush変数をmyImageに設定します)
7.Edit > Project Settings > Exportsからウィジェットのブループリントをエクスポートします。UMG > Widget Classesで新しいエクスポート値を追加します。
8.セットアップAPIの準備が整いました。Playボタンをクリックします。Reality Setupを開きます。
9.UMGRendererを追加
10.UMGRendererコンポーネントのプロパティから、Widgetプロパティ上の特定のUMGクラスを選択します。
ウィジェットクラスを設定すると、スレート変数がUMGRendererコンポーネントに表示されます。
11.Create > UMG > TextureBrushからTextureBrushを追加します。
12.Create > Generator > Checker Generatorから基本入力用の「CheckerGenerator」を追加します。
13.下の画像のようにノードを接続します。
結果を見てみましょう。
アセットブラシ
はじめに
アセットブラシノードでは、Reality EditorのReality Setupで作成した「スレートブラシ」アセットを使用できます。AssetBrushノードの出力は1つで、SlateBrush変数にのみ設定できます。
Reality Editorでスレートブラシの作成を開始します。
1.スレートブラシアセットを追加する
Reality Editorを開き、Add New>User Interface>Slate Brushからスレートブラシを作成するか、コンテンツブラウザの何もない領域を右クリックしてコンポーネントメニューから選択します。
2.構成スレートブラシ
SlateBrushアセットを開き、設定します。変更を保存します。
3.スレートブラシアセットを書き出す
プロジェクトの設定を開きます。
Realityタイトルの下にあるExportsタブを開きます。
4.ウィジェットのBlueprintを作成する
Reality Editorを開き、Add New > User Interface > Widget Blueprintからスレートブラシを作成するか、コンテンツブラウザの何もない領域で右クリックしてアクセスし、コンポーネントメニューから選択します。
5.ウィジェットBlueprintの親クラスの変更とエクスポート
・Widget Blueprintを開きます。
・Graphタブをクリックします。
・クラス設定を開きます。
・「詳細パネル」から「親クラス」をZDRealityWidgetに変更します。
プロジェクトの設定を開きます。
Realityタイトルの下にあるExportsタブを開きます。
ウィジェットクラスに「MyWidgetBlueprint」を追加します。
6.Widget Blueprintにコンポーネントを追加する
このチュートリアルでは、イメージコンポーネントを追加し、アセットブラシノードをイメージのブラシに設定します。
パレットから共通セクションの下にある画像コンポーネントを追加します。
Graphタブを開きます。
スレートブラシの変数を追加します。目のアイコンをクリックして公開します。
変数は下の画像のようになっているはずです。
7.カスタムイベントの追加
graphにカスタムイベントを追加します。そして、下の画像のようにスクリプトを設定します。
このイベントは、MyImage変数のブラシにMySlateVariableを設定します。
8.カスタムイベントのエクスポート
Widget Blueprintのデフォルトクラスを開きます。
「詳細」の「Reality Events」に「SetMyLogo」イベントを追加します。
9.Reality Setupでアセットブラシを使う
エディタのPlayボタンをクリックします。
Reality Setup Applicationを開きます。
Create > UMG > Asset BrushからAsset Brushを追加します。
「AssetBrush」クラスのブラシを設定します。
Create > UMG > UMG Rendererから UMGRenderer を追加します。
UMGRendererクラスを設定します。
下の画像のようにノードを接続します。
10.結果
UMGRendererノードをクリックし、SetMyLogo関数を実行します。
UMGのカスタムイベントをReality APIにエクスポートする
はじめに
Reality APIでは、Widget Blueprintで作成したカスタムイベントを直接使用することができます。定義したイベントはUMGRendererComponentの関数タブに表示されます。
どのように動作するのか見てみましょう。
1. ウィジェットのBlueprintの作成
まず、ウィジェットの設計図を作成します。コンテンツブラウザウィンドウの左上にあるAdd Newボタンを使用するか、コンテンツブラウザの空の領域で右クリックしてコンポーネントメニューから選択してください。
Add New > User Inteface > Widget Blueprint
2. Widget Blueprintの親クラスを変更する
・ウィジェットの設計図の「Graph」パネルを開きます。
・Class Settingsを開きます。
・詳細パネルを確認します。
・クラスオプションの下にある親クラスをZDRealityWidgetに変更します。
3. コンポーネントの追加
このチュートリアルでは、カスタムイベントを追加し、テキストボックスの値を変更します。
・Designerタブを開きます。
・「共通」セクションのパレットからテキストコンポーネントを追加します。
・テキストコンポーネントの詳細パネルから、テキストの横にある「変数です」にチェックを入れます。(フォントサイズなど、テキストの他のプロパティを変更することができます)
4. 例題のコーディング
カスタムイベントを追加します。右クリックしてadd custom eventと書いてください。
Variablesセクションのテキスト変数から参照を取得します。
変数「MyText」にset textノードを追加し、下の画像のようにノードを接続します。
5. カスタムイベントのエクスポート
Class Defaultsを開く。
詳細パネルの中にRealityという項目があります。Reality Events」に新しい要素を追加します。
Realityセクションが表示されない場合は、Widget Blueprintの親クラスを確認してください。ZDWidgetRealityでなければなりません。
ご覧のように、配列の要素名とカスタムイベント名は同じです。もしこれらが一致していなければ、カスタムイベントは表示されません。
6. ウィジェットのBlueprintのエクスポート
ウィジェットの青写真を閉じてから、Edit>Project Settingsからプロジェクト設定を開きます。
Reality Titleの下にあるExportsタブを開きます。
UMGタブのウィジェットクラスの下にある配列に要素を追加します。エクスポート名を設定し、前に作成したウィジェットクラスを設定します。
7. UMG in Reality APIの使用
Reality EditorのPlayボタンをクリックして、Reality Setupに接続します。Reality Setupを開きます。
右クリックしてCreate> UMG > UMG Rendererを選択します。
これでUMGRendererというコンポーネントができました。UMGRendererの出力をMixerのオーバーレイ入力に接続してみましょう。下の画像のように、UMGRendererの出力をミキサーのオーバーレイ入力に接続します。
UMGRendererを選択し、Reality Setupの左にあるプロパティにチェックを入れます。
ウィジェットクラスを "MyWidgetBlueprint"に変更します。
下の画像のようにノードをリンクします。
8.結果
まず、UMGRendererコンポーネントのfunctionsタブでカスタムイベントにチェックを入れます。
結果を確認してみましょう。
ZDPieChart
ZDPieChartとは?
ZDPieChartは、重み付きデータを計算するための3D Pieデータグラフィックを作成するために使用されるActor Componentです。
実装
1.アクターを作成します。「Components」 タブで、 Add Component+ZDPie Chartをクリックします。
2.Add Component + ZD Actorをクリックします。
属性
属性 説明
Radius 円グラフの半径
Height チャートの高さ Z 軸
Resolution テクスチャの品質
Total Weight スライスの総重量
Side Material マテリアルオーバーレイは側面までカバー
Slices スライス データの収集
スライス属性
名前 スライスの具体的な名前
Weight 総重量に対するスライスの重量
Material Materialのオーバーレイはスライスにカバー
Push Out 原点の位置関係の違い
Elevation スカラーを持ち上げる
ZScale Z軸スケール
Pitch X軸での回転
ZDText
ZDTextとは?
ZDTextは、Reality Setupにテキストデータを提供するために、いくつかのテキストプロパティを作成するために使用されるアクターコンポーネントです。
属性
属性 説明
Text 文字列データ型で表示されるテキスト
Font File Path フォントファイルのパスが含まれます
Character Depth 文字と文字の間のスペース
Alignment テキストの位置
Character Size 文字サイズ
Max Width 最大水平サイズ
Max Height 最大垂直サイズ
Material 資料はテキストに反映されます
UVMapping 素材に影響を与えるUVタイプ
必要な知識とお役立ちリンク
必要な知識
Unrealビジュアル・スクリプティング (ブループリント)
Unreal Blueprintシステムは、Reality Setupに似たノードベースのビジュアル・スクリプティング・スクリプティング・システムです。ユーザーはビジュアルノードを順次接続してスクリプトを作成することができます。
Reality Editorスクリプティングを始めるには、少なくともブループリント・ビジュアル・スクリプティングについての知識が必要です。
役立つリンク
Unrealのクラス
効果的なスクリプトを作成するためには、ポーン、プレイヤーコントローラー、アクターなどのアンリアルクラスを理解する必要があります。Unreal Engineのクラスを利用して、様々なクラスを展開し、リアルタイムのシーンを提供することができます。
マテリアルエフェクト
ストリームビデオ入力、メッシュの色を変更したり、見事なシェーダー効果を作ったりと、Unreal Materialsに関する知識を持っています。
ユーザーインターフェース設計
Unreal Motion Graphics は、ボタン、スライド、バーなどのビジュアライゼーションを提供するためのユーザー インターフェイス統合機能を提供します。
アニメーション
アニメーションを作成するには、アニメーションブループリントの基本を理解している必要があります。
パーティクルエフェクト
カスケードパーティクルシステムを見て、火事や火花などのビジュアルエフェクトを作ってみましょう。
映画、映画、カットシーン
シーケンサーで映画やアニメーションのシーケンスや映画のルックを作成します。
スマートな人工知能を作る
AIシステムをもたらすには、AIと行動ツリーを理解する必要があります。
Reality Editorの設定
Reality Engineのいくつかの機能を使用するには、いくつかの設定をReality Editorで行う必要があります。
このセクションでは、様々な機能の設定方法について説明します。
DX12とレイトレーシングを有効にする
DX12でReality Editorを有効にして起動する
レイトレーシングを行うには、Reality Editorで行う必要のある設定がいくつかあります。
・DX12モードでReality Editorを起動します。
・Reality Editorでレイトレースレンダリングを有効にします。
メインメニューのファイルメニューからプロジェクト設定を開きます。
Platforms > Windowsで、デフォルトのRHIドロップダウンを使用して、DirectX12を選択します。
また、DX12モードでReality Editorを起動する方法もあります。
Reality Editorのショートカットアイコンを右クリックし、プロパティに移動します。
Shortcutタブ>Targetセクションで、ファイルパスの最後にC:\Program Files\Zero Density\Reality Editor\2.8\Engine\Binaries\Win64\UE4Editor.exeと入力し、<space>を空けて「-dx12」と入力すると、以下のようになります。
これでReality Editorを起動するとDX12モードで起動するようになりました。
ターゲットパスに-dx12のサフィックスがある場合、Reality Editorは常にDX12で起動します。
レイトレースを有効にする
一度、Reality Editorを起動し、Engine > RenderingでRay Tracingを有効にします。
レイトレーシングを有効にするには、プロジェクトでSupport Compute Skincacheを有効にする必要があります。まだ有効になっていない場合は、有効にするかどうかを尋ねるメッセージダイアログが表示されます。有効にしたい場合は、Yesをクリックしてください。
DX12でReality Editorを再起動し、プロジェクトのレイトレーシングを有効にします。
ハードウェアで加速されたビデオデコーディング
Realityは、お使いのGPUを使ってH.264ビデオストリームの処理を高速化できるようになりました。
これにより、ビデオストリーム再生時にすべてのメディアの処理をGPU上で行わせることでCPU負荷が最大80%まで減少し、結果的に映像が滑らかになり、より高解像度のムービーファイルや同時入力フィードを利用できるようになる可能性があります。
これはUnreal Engine 4.22からの初期リリースです。詳細は以下のリンクから確認できます。
https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_22/index.html
Unreal Engineでのハードウェアアクセラレーションされた
ビデオデコーディングの設定
編集メニューに移動し、設定セクションから「プロジェクト設定」を選択します。
Plugins → WMF Media → Media sectionに移動し、オプション「Hardware Accelerated Video Decoding(ハードウェアアクセラレーションによるビデオデコード(実験的機能))」にチェックを入れます。
または、以下に示すように、単に検索の詳細、videoと入力すると、セクションをスクロールせずに即座にオプションを見つけることができます。
クック名のロングパス
Reality Engine 2.10では、Windows 10 Anniversary Updateでユーザー向けにコック名の長いファイルパスのサポートが追加されました 歴史的に、ウィンドウズのパスは260文字に制限されており、複雑な命名規則やアセットの深い階層を持つプロジェクトでは問題が発生することがあります。Windows 10 Anniversary Updateでは、ユーザーと各アプリケーションがオプトインすることを条件に、はるかに長いファイル名のサポートが追加されます。
Windows 10で長いファイルパスを有効にするには: Windows 10のバージョン1607以降を実行していることを確認してください。
グループポリシー設定またはレジストリを使用してロングパスのサポートを有効にします。
https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maxpath
Unreal Engineでロング パスのサポートを有効にする設定
Editメニューに移動し、Configuration sectionから「Editor Preference」を選択します。
General → Experimental → Content Browser sectionに移動し、「Enable support for for long paths(長いパスのサポートを有効にする)」にチェックを入れます。
または、以下のように検索の詳細を「長い」と入力するだけで、セクションをスクロールすることなく、即座にオプションを見つけることができます。
ロングパスのサポートは万能ではなく、サードパーティ製のツール(Windows エクスプローラのようなオペレーティングシステムの一部であっても)は正しくサポートされていない場合があります。
HAPコーデックを有効にする
HAPコーデックは、GPU上で動作する高解像度動画再生に最適化された高性能コーデックの集合体で、メディア再生時のCPU使用量を大幅に削減します。高性能・高解像度動画再生のスタンダードとなっています。
Reality 2.10のエディタにはHAPコーデックプラグインが搭載されており、GPUアクセラレーションエンコーディングを利用してこのコーデックを利用できるようにするためには有効にする必要がある。
HAP Mediaプラグインは、RealityエディタではデフォルトでEnabledに設定されます。
Reality Editor(リアリティ エディタ)でプロジェクトを開きます。
Unreal Editorのメインメニューから、Edit > Pluginsを選択します。
Media Player(メディアプレーヤー)のカテゴリーで、HAP Media Plugin(ハップ メディア プラグイン)を見つけ、Enabled(有効)ボックスにチェックを入れます。
HAP Mediaプラグインが事前に有効になっていなかった場合は、有効にした後、プロジェクトを再起動して変更を適用するためにプロンプトが表示されますので、[今すぐ再起動]をクリックします。
この記事が気に入ったらサポートをしてみませんか?