僕の私のUnrealな日々

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

制作物:ピッキング

 

 

ダイイングライトみたいなピッキングのBP作りました。

 

www.youtube.com

 

難易度から解除の角度まで全部設定できます。

勿論、いろんなアクターに対応できるからボックスの開け閉めだけでなくドアとかもできちゃう。

 

後々わかったけど、マーケットプレイスに似たようなの会ってうーんってなりました。

 

以上です。

 

 

夏コミではこういうギミックを使ったゲームを配布できればなぁと思ってます。ある程度形にはしたいです。

UE4:ドラッグアンドドロップでマテリアルを変えるブループリントの実装

 

f:id:Bussan_dayo:20160612205047p:plain

 

以前こういったものを作りまして

www.youtube.com

 

 

配布すると書いておきながら、ノードが汚くそのまま配布するのも嫌だなと思って一週間以上が立ってます。

 

その中の処理の一個で一個ドラッグアンドドロップでマテリアルを変えるものを作ったのですが思ったより簡単に実装できたので記事にします。

 

 

動画での手法はデータテーブルにマテリアルデータとテクスチャーを入れて、テーブルに存在する分Widget上のスクロールボックスにボタンのWidgetを配置していく手法なのですが、この処理をブログに書くのはちょっとアレなので簡易版を作成しました。

f:id:Bussan_dayo:20160612180330p:plain

 

 

 

 

ドラッグアンドドロップでマテリアルを変えよう!

 

 

 

 

Pawn側のBlueprint

Pawnを作成します。

f:id:Bussan_dayo:20160612173617p:plain

 

親クラスをDefaultPawnにしました。

f:id:Bussan_dayo:20160612173645p:plain

 

続きを読む

UE4メモ:画面をクリックせずにマウスカーソルの有無の処理を瞬時に切り替える

 

どういうことかというと、SetShowMouseCursorというノードがありましてそのノードはマウスのカーソルを表示するか設定できるノードなのですが

f:id:Bussan_dayo:20160522153215p:plain

 

たとえば以下のノード構成はFを押した際にマウスカーソルWidgetを表示、もう一度押すとマウスカーソルが消えてWidgetが消えるしたものです。

f:id:Bussan_dayo:20160522153228p:plain

 

実行してみるとFを押した際にWidgetが出てきますが、Playerの操作を取得してしまいます。(画面キャプチャでマウスカーソルは消えています。)

f:id:Bussan_dayo:20160522153248p:plain

 

一度画面をクリックするとPlayerの操作がきかなくなります。

 

もう一度Fを押すとWidgetが消えマウスカーソルはなくなりますが、画面を一回クリックしないとPlayer操作が効かない状態となっています。

f:id:Bussan_dayo:20160522153353p:plain

 

 

動画にするとこんな感じです。

 

 

 

これはSetShowMouseCursorをTrueの状態にすると、自動でInputModeがGameOnlyからGame and UIに切り替わる仕組みがあるらしく、

その処理は画面をクリックした際に流れているっぽいです。

 

マウスカーソルの有無を設定した後に瞬時に処理を切り替えたい場合は、マウスカーソルをTrueにする場合はノードの後にSetInputModeGameandUIノードを、falseにする場合はSestInputModeGameOnlyのノードを置く必要があるっぽいですね。

f:id:Bussan_dayo:20160522154138p:plain

 

 

 

 

今後忘れそうなのでメモ程度ですが

 

以上です。

最近の進捗

 

制作物の記事を上げたのが2月で震えたので最近の進捗を・・・

 

最近はマルチプレイの実装を行っています。

 

 

あとはモデル作ったりSubstancePainterをやったりと・・・

 

 もっといろいろとやりたいんですけど、忙しいので少しづつ作っていきたいですね・・・

 

 

以上

 

 

 

 

UE4:Widget上にActorを表示する際の新たな手法の模索

Widget上にActorを映しだす方法ってネット上にチュートリアルが存在しています。

 

Render 3D objects in UMG Widget/HUD | EngineUnreal

この方法、ブロックで部屋を作って映し出す方法なんでもすれども、ブロック無しでできないかなーと思い、この方法を踏襲しつつ違う方法で試してみました。

 

以前作ったこれを使います。

 

 

 

 この方法により

 

f:id:Bussan_dayo:20160501203707p:plain

 

周りにブロックをおかずに

f:id:Bussan_dayo:20160501203951p:plain

 

Widget上にだすことが出来ました。

 

 

以前からあるチュートリアルを改造した形になるので詳しい実装方法についてはチュートリアルを見てください。

 

Postprocess側

Can you post process just some actors? - UE4 AnswerHub

このアンサーハブに書いてある手法を用います。

Postprocessのノード構成を若干変えてこのようにしました。

f:id:Bussan_dayo:20160501204133p:plain

色はRGBで0.1.1となります。 

 

 

描画ターゲットを作成し、BlueprintのScene2DCaptureを作成します。

記事にもある通り描画ターゲットのテクスチャーサイズを2048にします。

2Dcaptchaを設置し、TextureTargetに作成した描画ターゲットを入れ、ポストプロセスのセッティングのBlendablesに先ほど作成したポストプロセスマテリアルを入れます。

f:id:Bussan_dayo:20160501204521p:plain

 

椅子を設置した後にアンサーハブにもあるようにRenderCustomDepthPassにチェックを入れます。

f:id:Bussan_dayo:20160501204712p:plain

 

 

 

次にCaptureSourceをFinalColorへ変更します。

f:id:Bussan_dayo:20160501204649p:plain

 

 

Widgetに乗せるためのマテリアルも若干変えました。

f:id:Bussan_dayo:20160501205922p:plain

 

 

これでWidgetのimageにマテリアルを貼り付け、CreateWidgetとAddViewノードで画面上に出てきます。

 

 

アニメーションと組み合わせてロード画面を作ってみました。

 

 

カメラには RenderCustomDepthPassにチェックを入れたものしか映らないのでレベルに目立たずに配置出来ると思います。又は一つのBlueprintで管理すればもっと良いのかもしれませんね。

 

もっといい方法がありましたら、ぜひ共有していただけると幸いです。

 

 以上です。

 

記事を書いてくださったThomas Coquel氏、アンサーハブに投稿してくださったson1cman氏そして解答してくださったAchilleon氏に感謝いたします。

 

UE4:HUDを用いたターゲットのマーキングについて

f:id:Bussan_dayo:20160411223921p:plain

 

 

 

 

 

 

 

こんな感じのものを作りました。

HUDで行ったのはWidgetだとちょっとめんどくさいなぁと思いこっちで作ってみました。Widgetだとimageを動的に生成することが難しい(調べきれてないだけかも)のです。そうなると、一回はマーキングできますけど2個以降になると難しい。まあ、今回使うマーキングの画像を一つ置いてWidgetを何個も生成すれば出来るけども・・・

 

とりあえずHUDを用いた方法の一つということでまとめます。

Widgetの方法もあったら是非教えて下さい~!

 

仕様:

1.アクターに対し右クリックでマーキング

2.アクターに対して左クリックでアクターをマーキングごと消す。

3.一つのKey入力でLevel上にあるアクターすべてをマーキングする

 

使用するもの

FirstPersonテンプレート

 

 1.アクターに対し右クリックでマーキング

FPSキャラクターのブループリント

まずFire以降のBPを全部消します。

f:id:Bussan_dayo:20160411215928p:plain

 

右クリックのInputを設定します。

 

f:id:Bussan_dayo:20160411223331p:plain

 

次にTraceLinebyObjectを用い以下のようにノードを組みます。

f:id:Bussan_dayo:20160411220150p:plain

これでカメラから先のアクターを認識できます。

 

続きを読む

UE4:GearVRのアプリ開発で詰まった所

詰まった所が合った場合随時更新します。

 

はじめに

GearVR買いました。

 

なので早速UE4でアプリ開発を開始しました。

 

詰まった部分1「GearVR上でBlackScreenになる」

いろんなサイトを見てGearVRにプロジェクトを映してたんですけど、出来ない。

 

まずUE4.11で作成をしたのですが、うんともすんとも言わない。

GALAXYを開発者モードにしてもなんともならないのでUE4.10に変えました。

開発者モードで実行した場合きちんと描画されるのですが、GearVRに装着すると音だけでて画面には描画されなくなりました。ブラックスクリーンのままです。

 

そっから数時間いろいろと設定をした所、ドキュメントに書かれている設定+SteamVRのプラグインを切ることで動きました。

ちなみに同じ設定をUE4.11でやったら出来ませんでした。

 

以上です。