以下の内容はhttps://pafuhana1213.hatenablog.com/entry/2017/02/09/013219より取得しました。


UE4のFullBodyIKプラグイン「IKinema RunTime Plugin」を使ってVRコスプレしてみた

はじめに

突然ですが、
VRコスプレデビューしましたー!


(いや、まあ、便乗してやってみたレベルですが…)


今回使用したのは
UE4用FullBodyIKプラグイン「IKinema RunTime Plugin」です。
http://www.ikinema.com/full-body-ik-for-vrwww.ikinema.com
この記事を書いた時期だと↓の動画で話題になっていました
www.youtube.com

IKinemaは様々なプロジェクトで使用されているアニメーション用プラグインですが、
UE4を用いるインディーズ向けに格安なライセンスが用意されています。
なんと99ドル!…いやいや格安ですって!

  • バイナリ形式での配布
  • 99ドル(買い切り)
  • フォーラムでのサポートのみ
  • Launcherで配布されているエンジンのみに対応
  • PCサポートのみ
  • 14日間無料体験可能

単純なIKならUE4標準で用意されていますが、
全身を取り扱うFullBodyIKの実装はかなり難易度が高いです。
ということで、早速このプラグインを試してみましょう!

Ikinemaへのアカウント登録とプラグインのダウンロード

まずはIKinemaのインディーズライセンスを選択します。
http://www.ikinema.com/full-body-ik-for-vr

次に、14日間の無料体験版を選択します。

アカウント登録ページが表示されるので、
各項目を埋めた後に下のSUBMITボタンを押します。

その後、入力したメールアドレスに登録メールが届くので、
その中にあるリンクをクリックして登録を完了して下さい。

その後、先程のアカウント登録ページを開き、
上の方にあるメールアドレス・パスワード入力欄を埋めて実行すると、
プラグインのダウンロードページに飛ぶのでプラグインをダウンロードします。

そして、そのファイルの中にある4.XX(XXは対応しているバージョン)の中が
IKinemaプラグインです。エンジン又はプロジェクトのPluginsフォルダに入れて下さい。


これでUE4上でIKinemaプラグインを使う準備が出来ました。


以降は、公式サイトのチュートリアルに従ってセットアップを進めます。
http://www.ikinema.com/index.php?mod=documentation&show=184&id=310www.ikinema.com

IKinema用リグの作成

www.youtube.com

まず、IKinema用の専用リグを作成します。

作成したIKinema Rigを開きます。
注:IKinema Rigを開いた状態でレベルを実行すると落ちます! 4.14現在

ここから、以下のボーンに対してTaskを紐付けます。
各Taskにモーションコントローラからの値を渡すことで、FullBodyIKを実現します。

  • 頭(VR HMD Task)
  • 両手(Left/Right Motion Controller Task)
  • お尻(Hip Task)
  • 両膝(Knee Task)
  • 両足(Foot Task)

の前に、IKinemaリグでは不要なボーンを片っ端から削除します。
(例:指、髪の毛、IK用ボーン、服類、おっぱいなどなど…)

参考までにグレイマンだとこのぐらいまで削除します。

一通り削除できたら、↑の項目ごとにTaskを紐付けます。
左手の場合は、まず左手用のボーンを選択し右クリックメニューからTaskを選択します。

手と頭の場合は位置・回転を細かく調整する必要があります。
手の場合は表示されたコントローラを調整します。気合と根性で。
(手の場合は握らせる感じにすれば上手くいくことが多いです)

各ボーンとの紐付けが出来たら、次は以下のボーンに対してPresetを設定します。

  • 各Spine
  • 両肩(shoulder)
  • 両上腕 (upper arm)
  • 両前腕(lower arm)

Spineの場合はこんな感じ。このPresetにより回転軸の制限などを行います。

他にも色々なパラメータがあるのですが…まだ把握し切れていないので
一旦IKinemaRig側の設定はこれで完了です。

キャラクタ用BPの作成

先程の動画の9分付近から

次に、実際に制御するキャラクタ用BPを作成します。
このBPではキャラクタの表示と各トラッカーからの値の取得を行います。
VROriginがキャラクタの頭にあうように設定するとちょうど良いです。
https://dl.dropboxusercontent.com/u/30427841/IKCharacter.PNG

…写経面倒だと思うのでBPアップします。バージョンは4.14です。
https://dl.dropboxusercontent.com/u/30427841/BP_IKCharacter.uasset

このタイミングでアニメーションBPを作成して
2つのSkeltalMeshコンポーネントに設定しておきましょう。

アニメーションBPの設定

www.youtube.com

最後に、実際にキャラクターの動きを制御する部分を設定します。
まずはBPからHMDとモーションコントローラのTransformを取ってきます。

次に、AnimGraphにIKinema for VR用のノードを配置します。

そのノードを選択し、End EffectorパラメータのLimb Transformsを設定します。
ArrayElementsを4まで増やし、各Boneに値を設定。Hips Transformも設定します。

そして、Reflesh nodeを実行した後に、

こんな感じに組みます!最後の最後に雑い!
(ぼけてよく見えない方は、画像を別タブで開いて見て下さい)
https://dl.dropboxusercontent.com/u/30427841/animbp.png

In Poseに指定するアニメーションは特に指定はありません。
通常のT・Aポーズ、または待機モーションで問題無いかと思います。


長くなりましたが、これで準備完了です!
VR Previewを実行すると自分の動きにキャラクタが連動すると思います!

…え?挙動がおかしい?よし、ならばIKinemaRigの調整地獄行きだ!
(あまり把握できてないので情報欲しいです…)

…まだ開発途中なせいか、出るはずのピンが無かったりクラッシュしたりと
怪しい挙動をすることが多々あります。
不具合が起こった際は一からやり直した方が安全かもしれません…

最後に

今回はIKinemaのVR向けチュートリアルに沿って、導入方法の説明をしました。
もし説明が抜けている所があればご指摘頂けるとありがたいです。

ドキュメントを見る限りまだまだ機能がありそうなので、
また後日まとめてみようと思います…たぶんきっとおそらくだれかおねがい

ではでは、よいVRコスプレライフを

続き
pafuhana1213.hatenablog.com




以上の内容はhttps://pafuhana1213.hatenablog.com/entry/2017/02/09/013219より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14