UE4 でcppを使用する

2016.05.26 | unreal engine 4

UPROPERTY 変数や関数にマクロをつけることでBPへの公開などが可能

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Damage")
UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Transient, Category = "Damage")

ブループリントで使用可能な関数

UFUNCTION(BlueprintCallable, Category = "Damage")

ブループリントでcppのイベントを取得する

UFUNCTION(BlueprintImplementableEvent, Category = "Damage")

※ヘッダに記載する。

オーバーライド可能な関数

void ACppActor::PostInitProperties()
初期値の設定などに使用する。 コンストラクタの後に適用される。


#if WITH_EDITOR
void ACppActor::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
}
#endif

エディタ上でプロパティの変更時に実行される。

コンポーネントからのcppのイベントをBP側で受ける

DECLARE_DYNAMIC_MULTICAST_DELEGATE(FTestDelegate);
UPROPERTY(BlueprintAssignable, Category = "Test")
FTestDelegate OnTestDelegate;

OnTestDelegate.Broadcast();

動的デリゲート
https://docs.unrealengine.com/……index.html

C++ Event dispatchers: How do we implement them?
https://forums.unrealengine.co……ement-them

String Conversions: FString to FName, FString to Int32, Float to FString
https://wiki.unrealengine.com/……to_FString

参考

UE4 の C++ プログラミング入門
https://docs.unrealengine.com/……index.html

C++ プログラミングのチュートリアル
https://docs.unrealengine.com/……index.html

プラグイン
https://docs.unrealengine.com/……index.html

HARLEY-DAVIDSON Street750 + UE4 + Oculus + Arduino = JumpStart eXstream

2015.08.16 | oculus, unreal engine 4

ちょっと書くのが遅くなりましたが、、
2015年5月23日、24日、富士スピードウェイにて行われた HARLEY-DAVIDSON BLUE SKY HEAVEN にて UE4 + Oculus + Arduino + HARLEY-DAVIDSON Street750 という、実車とVR体験を組み合わせたコンテンツ「JumpStart eXstream」を展示しました。

概要等はprototypeのサイトに記載していますが、特徴としては HARLEY-DAVIDSON Street750 実車にエンジンをかけているということです。
以前の横浜ホットロッドショーバージョンでは、室内での展示ということもあり、バイクはエンジンが動いていない状態で、ハンドルやクラッチをカメラを使用しOpenCVを使いセンシングしていましたが、今回の展示では富士スピードウェイで野外ということもあり、実車のエンジンをかけることができます。
さらに、バイクをJumpStartというローラー台にのせることにより、エンジンをかけたバイクの後輪を空転させることができます。
また、最近のバイクは電子制御されている部分が多く、速度や回転数、アクセル・ブレーキの状態などをリアルタイムに取得することができます。
それらの走行情報をArduinoで取得し、描画用のPCへOSCで送信しOculus上のVR空間での走行へと反映しています。

バイクを電気系統をHackしてその情報をVR空間へ反映させています。バイクのセンシングは弊社のハードの得意なバイカーがArduinoで実装しています。

continue reading…

異なるアプリ間で動画処理を連携 Syphon と Spout + BlackMagic

異なるアプリ間で画像のデータをやり取りする場合。
主な例としては、VJソフト上でほかのアプリで描画した内容を描画してミックスしたい時や、プロジェクションマッピングの素材として別アプリで描画したものを使用したいとき、oFで描画した内容をUnity内で表示したいときなど。

Macでの定番としては Syphon がある。

サイトを見るとわかる通り、いろいろなアプリに対応している。
Unity版は、 https://github.com/Syphon/Unity3D

これを使うことでUnityで描画した内容を MadMapper 等で補正してプロジェクションマッピングに使用したりなどできる。

このような仕組みのwindows版が Spout

こちらもいろいろなアプリに対応。vvvvとかね。
もちろんUnity版のプラグインも https://github.com/sloopidoopi……pout4Unity

MadMappaerと同じようなプロジェクションマッピングするのに便利なのが、mapio2

BlackMagic Intensity シリーズなどキャプチャボードで取得した画像をSyphonなどで使用したいときには、BlackSyphon または、 BlackSpout

blackMagicからの描画を受け取る方法として、
oFだと、下記addon。
https://github.com/kylemcdonal……Blackmagic

Unityだと有料になるけれど、AVPro Live Camera
https://www.assetstore.unity3d……ntent/3683

どちらもBlackmagic Decklinkをサポートしている。

その他/参考
DeckLink.net
Full HD映像をMacに入力してoFでリアルタイムにエフェクトをかける

UE4 to Spout Plugin
https://forums.unrealengine.co……out-Plugin
https://github.com/Allar/UE4ToSpout

UE4+Oculus+oFで展示コンテンツをつくった

Unreal Engine 4 (UE4) Advent Calendar 2014 – Qiitaの15日目の記事です。

先日、パシフィコ横浜にてYokohama ホットロッドカスタムカーショーに、UE4+Oculusを使ったコンテンツを展示してきました。
初めてのUE4とOculusでコンテンツを作ったのでそのことについて書きます。
概要については、「横浜ホットロッドカスタムショーにGodSpeed VRを展示してきた」を。

今回使用したUEのバージョンはwindowsのUnreal Engine 4.5.1です。
UEを触り始めて間もないので、間違いなどあれば指摘ください。

■システム概要
スライド1

まずシステムの概要から、シーン描画はUE4を使用しOculusに表示しています。
センシング用のアプリケーションはoFでOpenCVを使い実装しています。
4つのカメラ入力がありそれぞれのセンシング位置についたマーカーの位置の変化に応じて、アクセル、フロント・リアブレーキ、クラッチ、ギア入力の値をoscでシーン描画PCに送信しています。
受け取った値を元に、描画PCではVR上のバイクの動作を変化させ、Oculusのヘッドトラッキング位置と合わせて、ライダーのボーンを実際のユーザーの動きに近くなるように制御しています。
バイクの速度変化に合わせて、工業用扇風機の風力を変化させるためにセンシングPC内のDoctorMXに対してOSCで風量を送信し、DoctorMX からDMXで調光器から工業用扇風機を制御しています。
バイクには振動装置を2台つけて、ローパスフィルタを通った低音で筐体となるバイクを振動させています。

continue reading…

横浜ホットロッドカスタムショーにGodSpeed VRを展示してきた

横浜ホットロッドカスタムショー(12月7日 パシフィコ横浜)にGodSpeed VRとして、UE+Oculus+センシングを使用したコンテンツを展示してきました。

写真 2014-12-06, 18 14 49

アクセルブレーキ入力などをセンシングしたバイクにoculusをかぶってまたがりソルトフラッツで開催される、最高速を競うボンネビルスピードウィークをVR空間内で体感するコンテンツです。

continue reading…

pagetop