Oculus Rift 2 Advent Calendar 2014 - Qiitaの6日目です。
↑のカレンダーが途切れそうだったので、急いでネタを作りました。
今回はゲームエンジン使いません。題名の通り、
C# + OvrvisionSDK(C#) + OpenCVSharp + WPFでゴリゴリコード書く感じです。
VisualStudioCommunity2013を使います。
いつも以上に説明雑いです。仕様です。
Unreal Engine 4 (UE4) Advent Calendar 2014 - Qiita
の二日目です。
記事名の通り、UE4のポストプロセスマテリアルについて雑多に色々書きます
今回は基本編です。この記事の内容をベースに色々してみたことを
来週に書きます。(記事が長くなり過ぎたので分割しました)
あなた「この記事を見なくても、この参考サイトを巡回すればいいんじゃね?」
わたし「…君のような勘のいいガキは嫌いだよ」
「そもそもポストプロセスマテリアルってなんやねん?」という方には、
@aizen76さんのこの記事がオススメです
UE4 ポストプロセスエフェクトについて - Let's Enjoy Unreal Engine
題名の通り、ユニティちゃんを揺らしました
まずは結果の動画から
UE4 + Unity-Chan Live! Test2 - YouTube
フヒヒ…色んな所が揺れてますなぁ…!
このコンテンツは、『ユニティちゃんライセンス』で提供されています
以下、物理アセットツール (PhAT)による揺れ実装の手順・パラメータなどの紹介
続きを読むたまには、小ネタでサクッと更新
BPだけ見たい人は、「BPでCollision位置を補正」の項に飛んで下さい
下のようにコンポーネントを組んで、
カメラに紐付けたCollisionBoxに当たるとダメージ、というゲームを作るとします。
通常ですと、単にCollisionBoxのHit・Overlapイベントを見るだけです。
しかし、OculusRiftを用いた場合はBPで一工夫する必要があります
OculusRift画面に切り替えた後のカメラを「HMDカメラ」とします。
OculusRiftのトラッキングでHMDカメラが移動・回転するのですが、
切り替え前のカメラ(FirstPersonCamera)にはトラッキング結果が
反映されていません!
つまり、こんな事が起こってしまします(赤い□はCollision Boxです)
OculusRiftを被って盛大に避けても、実際の当たり判定位置が
変わりません。これではゲームになりません…
題名の通り、11/1に行われた
第2回 関西 Unreal Engine4 勉強会で発表してきました。
【関西】【11/1】第2回 Unreal Engine4 勉強会 : ATND
pptxファイル+動画ファイル
@kurisaka_konabeさんのtogetterまとめ
【関西】【11/1】第2回 Unreal Engine4 勉強会 #UE4Study - Togetterまとめ
@aizen76さん(各発表のスライドあり)
UE4 第2回関西Unreal Engine4勉強会を開催しました - Let's Enjoy Unreal Engine
@PaperSlothさん
UE4勉強会に行ってきました(累計3回目) - PaperSloth’s diary
以降は、題名通りの単なる日記です
UE4 4.5から、スケルトンが異なっていてもアニメーションを流用できる
機能が追加されました。
Unreal Engine | アニメーション リターゲット(異なるスケルトン)
今回は、この機能を使ってMMDのモーションをUE4のSkeltonMeshに
適用してみました。(これまではスケルトンの違いから無理でした)
このコンテンツは、『ユニティちゃんライセンス』で提供されています
何かを忘れる度に増える、そんなBluePrintメモ
その1:
UE4 BluePrintメモ その1 - ぼっちプログラマのメモ
指定のクラス(※1)へのキャスト(※2)結果で判定。
キャスト失敗時に例外処理(重めの処理)が走ってそうで少し怖い。
非プログラマ向け
※1:BluePrintに付けた名前
※2:あるクラスを指定したクラスに上書きすること。
対象のクラスが指定クラスと関係あれば成功、なければ失敗。
相手のタグ情報である程度判定し、その後にキャストするパターン。
「RInterp To」ノードの、Currentに現在のRotatorを、
Targetに「Find Look at Rotation」ノードで求めた、目標への向きを入れることで、
目標方向に対してのゆるやかな回転を実現できます。
(○nityのQuaternion.Slerp, Mathf.SmoothDampAngleのようなもの)
InterpSpeedの値で回転速度を調整できます。