茶ポーン

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

UE4公式Leapmotionプラグインを触ってみた感

UE4.7でLeapmotionプラグインが公式対応との事で、少し触ってみました。
これから触る人がこれがどんな感じなのか、既存のプラグインとおおまかに何が違うか分かる手助けになればと思うので、
軽くまとめておこうかと思います。
(まだ触ってる途中な部分もあるので、間違っている箇所などあればツッコミ頂ければ幸いです…ッ!)

公式プラグインで使える機能について

まず非公式プラグインと違う点として、使用できる機能が少しすくなめです。

Leap Motion Unreal Plugin — Leap Motion Unreal SDK v2.3 documentation

こちらのLeapmotion公式ドキュメントを見ると、公式のLeapMotionプラグインは現状では
「道具の追跡」
「ジェスチャー」
「イメージ」 etc...

などの機能を使うことが出来ないようです。(C++からだともしかすると使えるかもしれません・・・!)
これらの機能を使う場合は非公式のプラグインを使うようにと、
公式でも誘導されているのが現状なようです。

じゃあ非公式プラグイン使ったほうがいいの・・・?

https://twitter.com/toorsoo/status/573166921375326209
機能的にはすごく使いやすいです!
手・指などの位置・向きの情報だけ取得できればいいのであれば、
公式プラグインは現状でもとてもオススメです!


導入について

Leapmotionプラグインを使用する場合、ランチャーからDLしたエディタでは現状使うことが出来ず、
エディタをソースからビルドする必要があります。

historiaさんのこちらのページを手順通りにすれば問題なくできるかと思います!できました!
[UE4] エンジンのソースコード取得とビルド手順のまとめ UE4.6改訂版 | historia Inc - 株式会社ヒストリア
アリガタヤ、アリガタヤ・・・(´エ`)


ソースからビルドしたエディタを立ち上げてPluginを確認すると、Leapmotionプラグインが見当たると思います。
f:id:toorsoo:20150313012536p:plain
Enabledにチェックを入れてエディタを再起動すればLeapmotionを使用する準備は完了です!

手をだしてみる

実際使ってみます!
とりあえずは手の表示をしてみたいと思います。


プレイヤーの動き等が最初から入っていて試しやすいので、FPSテンプレートでプロジェクトを作りました。

Content/FirstPersonBP/FirstPersonCharacterがプレイヤーのアクターにあたるものなので、
今回はこちらにLeapMotionの機能を追加して試す形にしたいと思います。

① LeapMotionControllerコンポーネントを置く

LeapMotionを使用するにはこのコンポーネントを使います。
このコンポーネントがむっちゃ便利です。

FirstPersonCharacterを開き、LeapControllerコンポーネントを追加します。
f:id:toorsoo:20150313014955p:plain



②おもむろに実行してLeapmotionに手をかざすと既に手が出ます

f:id:toorsoo:20150313015121p:plain


つよい!!

このLeapMotionControllerコンポーネントは様々なプロパティが用意されており、
手の大きさや表示するメッシュ、HMDへのマウント時設定などもここで行うことができます。
f:id:toorsoo:20150313020316p:plain


非公式プラグインではこの辺りはほぼブループリントを使って実装していたのですが、
プロパティ変更だけでできるようになっています。ここがとてもイイ!



ブループリントで手・指の情報取得

手の情報はLeapMotionHandActor、指などの情報はLeapMotionBoneActorと、それぞれアクターが用意されています。
それぞれ情報はLeapMotionControllerから取得する事ができます。
f:id:toorsoo:20150313021835p:plain
https://twitter.com/toorsoo/status/573187357878304771

指の情報を取得する場合、GetBoneActorノードに指定するLeapBoneで、どの指のどの箇所を取得するかを指定できるようになっています。
指情報に関するLeapMotionのドキュメントはこちらです
Bone Name Enumeration — Leap Motion Unreal SDK v2.3 documentation


このような感じで各種情報取得ができるようです。

またLeapMotion用に用意されてブループリントのノードについては、
LeapMotion公式のドキュメント(英語)に詳細があるのでこちらを見るのがいいかと思います。
Blueprint Reference — Leap Motion Unreal SDK v2.3 documentation

他いろいろ

https://twitter.com/toorsoo/status/573189722115162114
https://twitter.com/toorsoo/status/573175370234527744



現状はこんな感じでした!
またアップデートがあれば更新していきたいと思いまする。









f:id:toorsoo:20150313030613p:plain
Yuiチャンカワイイ