茶ポーン

ゲーム作りめも。VR幻想郷いきたい。

UE4でLeapmotionつかってみるついでに指からびーむだす(Leapmotion導入編)

:2014/12/11追記
UE4.6でも動作を確認しました!
一部ノードがエディタを日本語で使用していると検索に引っかからないようです。
↓をお試し下しまし。
「AddLeapController」 → 「追加 LeapController」

:2015/2/24追記
本記事で紹介しているプラグインは、現状UE4.6までうごきます!
UE4.7でLeapmotionプラグインを使用しようとすると
「(プロジェクト名) could not be complied. Try rebuilding from source manualy.」
このようなエラーが出るので、
手動でのプラグインアップデートか、UE4.6での使用をオススメします!

:2015/2/25追記
UE4公式のプラグインの解説ではありませんのでご注意下さい!
https://developer.leapmotion.com/documentation/unreal/index.html
こちらのLeapmotion公式ページ下部で紹介されているプラグインの導入になりますー。
:2015/3/27追記
UE4.7に対応されたようです!
LeapSDK 2.2.4までの対応がされているようです!





以下本文です。


~~前置き~~



精神的にすごい疲れてたのですが、



5月ごろ触ってたLeapmotionのプラグインインターネッツの海で更にパワーアッポしてたので、
少し触って遊んでみました。

なのでそれについてメモ書き程度に残しておこうと思います。




UE4については趣味で触ってる段階のまだまだ未熟者になりますので、
変なところがあれば暖かいマサカリなどぶん投げてくだされば嬉しいです・・・! _/'_'_=


記事の内容的には、きりが悪くなりそうなので

  1. Leapmotionの触り部分
  2. パーティクル(ビーム)部分

で前半後半でわけることにしました。

Leapmotion設定については前半だけで大丈夫な構成になってると思います。



~~前置きここまで~~


今回使ったのはバージョンはそれぞれ(当時)最新の
UE4.5.1
Leapmotion:2.1.6
です。

Windowsでの確認しかしていないのでご了承下さい・・・!




ということでまずはLeapmotionを導入していきます。

UE4へのLeapmotion導入に関してはこちらの素敵なフォーラムをそのまま参考にしました。

[Plugin] Leap Motion - Event Driven




まずは、簡単に導入方法辺りを書いていきます。


導入


プラグインが公開されているフォーラムのドキュメント通りに進めていきます。


プラグインダウンロード
こちらからダウンロード https://forums.unrealengine.com/showthread.php?49107-Plugin-Leap-Motion-Event-Driven
f:id:toorsoo:20141111233208p:plain
バージョンに合わせてダウンロードします。Latest - 0.7.8 (UE4.5, Leap SDK 2.1.6)
デスクトップなど、お好きな位置に保存してください。



② 導入するプロジェクトを用意
LeapMotionを使用するUE4のプロジェクトを用意します。
今回は説明用に、新規作成したプロジェクトに導入してみたいと思います。
ひとまずFirstPersonテンプレートを選択し、「TestLeapmotion」と名前をつけて新規プロジェクトを作成しました。
f:id:toorsoo:20141111234255p:plain



プラグイン導入
先ほどダウンロードした「leap-ue4-master」内にある

  • 「Binaries」
  • 「Plugins」


フォルダを、導入するプロジェクトのルートフォルダにコピーします。
f:id:toorsoo:20141112000010p:plain
ルートフォルダは .uprojectファイルが置いてある階層です。
このあたりにあると思います。
C:\Users\○○○○\Documents\Unreal Projects\TestLeapmotion

プロジェクトを立ち上げていた場合はコピー後にプロジェクト一度立ち上げなおし、
プラグインを再度読み込ませる必要があるようです。


これだけでプラグイン導入は済むようです。すごく簡単……ッ



プラグインがインストール出来ているかどうかは↓で判断できるので、確認してみて下さい。
ある時ー
f:id:toorsoo:20141112000410p:plain
ない時ー
f:id:toorsoo:20141112000506p:plain





とりあえず、インストールは完了です。

次にLeapmotionの値を取得してみます!




④ 初期設定
まずはLeapmotionを扱うブループリントを作成します。
f:id:toorsoo:20141112002055p:plain
今回はアクターを選択して、LeapControllerという名前のブループリントを作成しました。


次に作成したブループルリントのコンポーネントを開き、
「ブループリントのプロップ」をクリック。
詳細窓にある実装インターフェイスから「追加」のプルダウンメニューを開き、
「Leap Event Interface」を選択します。
f:id:toorsoo:20141112010533p:plain


次にコンポーネントを追加からLeapControllerを追加します。
f:id:toorsoo:20141112003044p:plain


次は、コンポーネントの初期化が必要なのでブループリントで初期化してあげます。



グラフを開き、Construction SctriptでAdd LeapControllerノードを呼び出し、
先ほど追加した LeapController コンポーネントを設定してやります。
日本語エディタだと ▶コンポーネントを追加▶Input▶追加 LeapController ノードがそれに当たるようです。

f:id:toorsoo:20141112004210p:plain

Event Graphの方で BeginEvent から同様に設定する方法でも大丈夫だと思います。


これでLeapmotionから値を取得する準備は完了です!




⑤ かるくさわってみる

指の位置に球を表示してみます。

f:id:toorsoo:20141112005325p:plain

EventGraphタブを開き、上記のようにノードを配置してみます。

まずは FingerMoved イベントですが、これは指が動いた時にイベントが走ります。
イベントが走った際に指の情報が取得できるので、指の座標に
Draw Debug Sphereを使って球を表示させています。


あとは実際にシーンに配置して試して見ます


f:id:toorsoo:20141112005900p:plain


実行!!


f:id:toorsoo:20141112010004p:plain

出たで工藤!

少しわかりにくいかもしれないですが、指の位置にデバッグ用の球が表示されています。



小さかったり地面にめりこんでたりしますが、とりあえず出ました!
あとは値をいじればなんとかなりそうです。



次回は実際これを使って指からビームを出す過程をかいてみたいと思います。_/'ω'_=



UE4でLeapmotionつかってみるついでに指からびーむだす(指から弾を出す編) - toorsoo's diary