僕の私のUnrealな日々

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

UE4+VR:画面の中心とオブジェクト(アクター)が重なった時にイベントを発生させるブループリントについて

 題名これであってるのかな・・・

f:id:Bussan_dayo:20150529205418p:plain

 

ぶっさんです。

随分前ですが、OculusRift DK2を使ってこんなものを作りまして、


[UE4+Oculus] change the furniture of Materials ...

 

 

unrealbussan.hatenablog.com

 

これをまとめておこうかなと思います。

全部まとめるとちょっと複雑になってて無理(めんどくさい)ので大本の部分を。

 

これは一つのアクターにコリジョン複数設置しそれをキャラクターから出てくるTraceLineを認識してブループリント内で判別しイベントを開始します。

f:id:Bussan_dayo:20150529202312p:plain

この画像凄いわかりずらい・・・

 

 

画面の中心とアクターが重なった時にイベントを発生させるブループリントの実装!!

上のを簡易的に実装したのが以下の動画です

 

 

仕様:オブジェクトを見るとライトの色が変わる

 

使用するもの:

FirstPersonCharacterテンプレート

スターターコンテンツ

 

 

FirstPersonCharacter側のBluePrint

 まずLineTracebyChannelを接地します。以下のノード構成は、カメラの位置から前方(前方から2000掛けた位置)のオブジェクトを判別します。

f:id:Bussan_dayo:20150529203025p:plain

 

 

f:id:Bussan_dayo:20150501222604p:plain

デバッグモードをオンにするとこんなかんじです。

 

 

Return Valueからブランチを出し、OutHitからBreak Hit Resultを出します。Hit Componentから変数を宣言し名前をPrimitiveにします。(画像だとスペルミスしてる・・・)

f:id:Bussan_dayo:20150529203421p:plain

 

テーブル側のブループリント

ブループリントを作成し、以下のようにコンポーネントを接地します。

f:id:Bussan_dayo:20150529203627p:plain

 

StaticMeshでテーブルを設置します。上によくわからない置物を設置します。その周りにコリジョンを設置します。コリジョンはAll Blockに設定します。

 

ポイントライトも設置します。

Visiableにチェックを付けます

f:id:Bussan_dayo:20150529203909p:plain

(Defaultだと多分チェックがついてる状態になってると思います。今回は画像をスクショする上で目障りだったので消しました。)

 

テーブルのブループリントのエディタ側

 まずイベントTick、Get Player Characterを出しFirstPersonCharacterにキャストします。

f:id:Bussan_dayo:20150529204319p:plain

 

 次にシーケンスを設置し、コンポーネントからWater Object Collisiton(左のオブジェクトのコリジョン)を置きます。

f:id:Bussan_dayo:20150529204447p:plain

 

FirstPersonCharacterから作成した変数「Primitive」を出し、Equalノードを出しWater Object CollitionとPrimitiveを繋げます。そしてブランチノードを出します。

f:id:Bussan_dayo:20150529204622p:plain

 

そして、Trueになったら光の色を変えるので、コンポーネントからPointLightを出し[Set Light Color]を出します。このノードは名前の通りライトの色を変えます。

 

f:id:Bussan_dayo:20150529204836p:plain

 

これを各コリジョン分作成します。

f:id:Bussan_dayo:20150529204910p:plain

 

 

これで完成です。

 

後ろのゲージは、

 

unrealbussan.hatenablog.com

 をいじれば出来るはずはず・・・・

 

 

個人的にはVRコンテンツではなるべく外部ディバイスを使いたくない、首を酷使したい側の人間なのですが今のVR的にそれはナンセンスなのでしょうか。(GreaVR的に・・・)

 

まあそんなことはどうでもよくて明日のOcuBen楽しみですね。

 

以上。

 

 (ちょっと寝不足感出てるので間違ってる部分があればTwitterでお願いします。)