僕の私のUnrealな日々

UE4のBluePrintを使って小さなギミックを作ったりしてます。ブログを通じて情報共有ができたらなと思います。

UE4:新・簡単なOculus(VR)用のメインメニューの作り方(複数対応編 2018年バージョン)

この記事の複数対応についてTwitterのDMにて質問を受けましたので記事にしました。

UE4:簡単なOculus(VR)用のメインメニューの作り方 - 僕の私のUnrealな日々

 

 

 

BarWIDのコンポーネントプログレスとテキストを起きます。

 

 

 

アンカーは中央に設定してください

f:id:Bussan_dayo:20180826171238p:plain

 

コンポーネントをボックスコリジョンを親にして、子にWidgetを設定してください。

Widgetには先程作成したBarWIDを設定します。

f:id:Bussan_dayo:20180826171339p:plain

BoxのコリジョンをAllBlockに。WidgetをNoCollisionに設定してください

 

BarWID

BarWIDにてパーセントを設定する関数、Textにセットする関数を作成しました。

f:id:Bussan_dayo:20180826171551p:plain

f:id:Bussan_dayo:20180826171614p:plain

 

バインドを作成しテキストに設定を行いました。

f:id:Bussan_dayo:20180826171657p:plain

f:id:Bussan_dayo:20180826171715p:plain

 

LoadBarBP

タイムラインを作成しました。

f:id:Bussan_dayo:20180826171834p:plain

 

5秒間で1になるようなものです。プログレスバーの時間を変更する場合はここの時間の設定を変えてください。 

f:id:Bussan_dayo:20180826171847p:plain

 

 IsLoadingというBoolの変数を作成しました。EventLoadingに処理が走った際、Falseだったらタイムラインの処理が、EventStopLoadingの処理の際はTrueだった場合にタイムラインの処理が入るようにしました。

f:id:Bussan_dayo:20180826172005p:plain

 

処理終了後はOpenLevelを呼んでいます。Name型の変数を作って接続しています。

この変数は編集可能にしてください。

f:id:Bussan_dayo:20180826173808p:plain

 

 

 

ThirdPersonCharacter

 TickからLineTraceの処理を呼んでいます。これはカメラから1000離れた所までトレースを出すといったものです。HitActorにLoadBarBPをキャストで他のBPにあたった時の処理を弾いています。f:id:Bussan_dayo:20180826172154p:plain

 

LoadBPというLoadBarBP型の変数を作成し、変数がNullだった場合変数に入れEventLoadingを呼び出します。また、Traceに失敗知ている場合及びLoadBarBP型ではなかった場合、EventStopLoadingを呼び出し変数を空にします。 

 

f:id:Bussan_dayo:20180826173652p:plain

 

 レベルに配置し、作成した変数OpenLevelにレベル名を入れます。

f:id:Bussan_dayo:20180826173913p:plain

 

 Loadのバーのテキストにレベル名を入れたいのでBeginPlayでSetName関数にOpenLevelを入れます。

f:id:Bussan_dayo:20180826174025p:plain

 

 以上