のしメモ アプリ開発ブログ

Unityアプリとかロボットとか作ってるときに困ったこととかメモ

UE4でPerceptionNeuronをリアルタイムで動かしてみる

UE4でPerception Neuronを動かしてみたので手順をメモ

実現させたこと

Perception Neuronからリアルタイムにデータを受け取ってモデルを人と同じように動かす
youtu.be

参考

使用するSDKはNEURONの公式が推奨しているSMARTISANという会社が作っているUnreal-Pluginを使用します
https://neuronmocap.com/software/unreal-plugin

マニュアルドキュメントやマニュアル動画は下記のリンクに記載があります
How can I setup the Unreal Plugin? – Perception Neuron

一応、その手順を見ながら導入をやってみる

検証環境

OS Windows 10 64bit
Axis Neuron 3.6.32
UE4 4.12.5

テストプロジェクトを作成

空のプロジェクトを選択

NEURONプラグインを追加

1. プロジェクト作成後、一回エディタを閉じる
2. プロジェクトのルートディレクトリにPluginsフォルダを作成し、そのフォルダにperceptionneuronのPluginを配置
3. エディタを再度開く
4. 編集->PluginからperceptionneuronのPluginの項目をEnabledにチェックをいれる

アニメーションブループリントの作成

モデルデータの配置

Skeletonの入っているモデルをインポート。

任意のFBXをインポート

その際にImport as Skeletalにチェックが入っていることを確認する。

今回はUE4_Mannequin_Mobileを使用します

マーケットプレイスからUE4_Mannequin_Mobileをインポート。

Animation Blueprintの作成

Skeletonを選択し、右クリックで作成する->Animブループリントを選択

コンテンツブラウザにAnimation Blueprintが追加される

Animation Blueprintの編集

1. Animation Blueprintをダブルクリックして、編集ページに遷移
2. アニムグラフのWindowタブを開く
3. 右クリックでNewPoseCalcを検索しノードを作る
4. NewPoseCalc最終アニメーションポーズにつなげる

Skeleton Retargeting

Skeletonのそれぞれの役目を記載する必要がある
NewPoseCalcを選択し、Skeletons Retargeting->Bone Mapを開いて編集する

ここでSkeletonのkey名と、Skeletonを設定できる
上記のような形で設定していく

Actor Blueprintの作成

1. コンテンツブラウザに戻り、右クリックでブループリントクラス->アクターを選択しAvatar Blueprintを作成
2. Avatar Blueprintをダブルクリックして編集ページを開く
3. コンポーネントを追加からPerceptionNeuronスケルタルメッシュコンポーネントを追加

4. SkeletalMeshの詳細から、Animation->Anim ClassとMesh->スケルタルメッシュの項目を追加する



5. コンパイルしてAvatarBlueprintは閉じる

Axis Neuronの側の設定

Settings->Broadcastingの項目を変更

UDPに変更
・ポートを指定(7002にする)
・BVHを指定

接続したNeuronの名前を設定する


この場合はAvatar00

レベルに配置していく

1. Neuronで検索して、Perception Neuron ManagerとPerception Neuron Spawnerを配置

2. Perception Neuron Managerのポートを設定
設定で変更したポート番号を入力する

3. Perception Neuron SpawnerのAvatar nameとActor Blueprintを指定
Avatar Nameは接続しているNeuronの名前
・Dynamic Actor Classは先ほど作成したActor Blueprintを設定


実行すると動く!
youtu.be