Perception Neuron 1.0 でUE4 に直接接続できるか検証

UE4

はじめに

Perception Neuron のサイトにはPerception Neuron2.0とUE4の連携の設定方法が載っています。

support.neuronmocap.com

私が持っているのはPerception Neuron2.0ではなくPerception Neuron1.0です。2.0の手順で試そうと思っても前提条件で揃えなければならない器具が揃っていないのです。前提を無視して手順を続けてみてもすぐに行き詰まります。

しかしそれでも…ということで試したら特に詰まることもなくできたのでメモしておきます。

参照元

www.youtube.com

前提条件

  • UE 4.24.3 がインストールされている事

手順

  1. 装着する

Axis Neuron での作業

  1. 接続や調整(手順詳細)
    ken26u.hatenablog.jp
  2. File→Setting を開く
  3. Output Format の Displacement のチェックを外す
    • displacement はのぞまないトランジションデータを含めてしまうので無効化する
      • Neuronのデフォルトの身長は 160cm。そのスケール基準でUE4に移動の情報送信されるのでそれを止める
    • 回転の情報のみ送信されるようになる
  4. Broadcasting の UDP にチェックを入れる
    • 受信側でIPを打たなくて良くなる模様
  5. Broadcasting の BVH にチェックを入れる。ClientPort をメモしておく。

Unreal Engine4.24.3 での作業

今回UE4の最新である4.25では行っていません。理由は手順が4.24のものだったためです。

なので4.25でも可能だと思いますが、4.25 だとNewPoseCalcというノードを配置する手順でそのようなノードが見つからず詰まります。しかしこれは私がPerception Neuron 1.0しか持っていないというのとは関係がなく誰がやってもそうなると思うので、いずれ手順が修正されるかプラグインが修正されると考えられます。

プラグインインストール

  1. プラグインアバターをダウンロードする

neuronmocap.com

  1. プロジェクトを作成する
    • ゲーム
    • ブランク
    • プロジェクト設定
  2. プロジェクト作成後一旦UE4を終了させる
  3. プロジェクトフォルダに Plugins というフォルダを作成
  4. ダウンロードした 4.24.2.zip を解凍し配置する
  5. プロジェクトを開く
  6. 設定 → プラグインを開く
  7. Perception Neuron を検索しEnabledする
  8. プロジェクトを再起動する
    • 有効にすると再起動が必要と言われるのでそのまま再起動

アバターインポート&リターゲット

これは動作確認用です。知識のある方は好きなスケルタルメッシュで良いと思います

  1. コンテンツブラウザのインポートを押す
  2. fbx をインポートする
    • Avatar.zipを解凍したらその中にFbxがあります
  3. Avatorの場合は特に弄る事なくそのままインポートでOKのようです

    • 結果
  4. ケルトン(NeuronRobot_SingleMesh_Skeleton)を選択して右クリック、Anim ブループリントを作成する

    • 結果
  5. Animブループリント(NeuronRobot_SingleMesh_Skeleton_AnimBlueprint)を開く
  6. NewPoseCalc を配置し最終アニメーションポーズに接続

    • NewPoseCalc を選択。詳細にある BoneMapの対応関係を全て設定する必要があるので、右に対応するボーン名を左から設定しなければならないが便利機能がある模様。
    • 対応するボーン名は右側の Robot_ を除いた名前となっている
  7. Skeleton Name Prefix に Robot_ と入力する

    • 結果 設定できる箇所は全て設定が完了する

ブループリント作成&配置

  1. ブループリントを作成
    • 親クラス: Actor
    • 名前: AvatarBluePrint
  2. 作成したブループリントを開く
  3. Perception Neuron コンポーネント追加
  4. Skeltal Mesh コンポーネントを追加
  5. Perception Neuron コンポーネントを Default Scene Root にドラッグ
    • この手順は特に必要ない。これによってビューポートの中心にある丸い玉がなくなる。
  6. Skeltal Mesh の Skeltal Mesh(NeuronRobot_SingleMesh) を設定
  7. Skeltal Mesh の Animation Class(NeuronRobot_SingleMesh_Skeleton_AnimBlueprint) を設定
  8. 配置
  9. Avatar の参照名を設定

    • 名前は Axis Neuron に表示されている名前

Perception Neuron Manager の配置

  1. モードパネルより Perception Neuron Manager を配置する
  2. 設定
    • ポート番号はAxis Neuron での作業時にメモした番号を入力
    • Use UDP (UDPを使用)にチェックが入っていること

プレイをした後動くとちゃんと連動してUEが動いている事が確認できる

  • 😅キャリブレーションなど調整事は一切していませんので腕があらぬ方向に向いていたりしますががちゃんと連動しているので良しとしています

最後に

UE4でアニメーションを作ってなにか作れないかと思っていたのでかなり楽になりました。

これができなければ Perception neuron → BlenderUE4 という段階を踏むことになり。

Blenderで一旦リグのリマッピング(リターゲット)のために Auto Rig なるものを購入して…などと複雑な事を考えていました。

リターゲットはPerception neuron から UE4 に直接行く場合でも必要ですが、ほぼワンタッチでできるのでBlenderに持っていく場合でも Perception → UE4 →(UE to Rigify) Blender で簡単にできそうです。

そちらもいずれは記事にすると思います。

メモ

装着の順番

  1. 胴体
  2. 足(もも→スネ→足)
  3. 左右 腕
  4. HUB
  5. 左右 手のひら
タイトルとURLをコピーしました