UE プラグインダウンロード

以下はダウンロードリンクです。UEのソースコードを確認して開発することができ、自分でコンパイルすることができます。現在のプラグインは UE5 バージョンにのみ対応しており。

ue plugin source

ue 5.1 plugin prebuild

ue 5.2 plugin prebuild

ue 5.3 plugin prebuild

ue 5.4 plugin prebuild

UE 使用説明

  1. UEで新しいプロジェクトを作成

    ブループリントまたはc++プロジェクトのどちらでも可能です。プラグインの二次開発が必要な場合は、c++プロジェクトを作成し、キャラクターをインポートします(キャラクターのデフォルトポーズはT-Poseでなければならず、A-Poseでは手の動きが異常になります)。次に、プロジェクトのフォルダを開き、新しい Plugins フォルダを作成し、rebocap_unreal_engine_pluginPlugins に配置します。例えば、新しい testV3 プロジェクトを作成した場合、全体のディレクトリ構造は以下のようになります:

    pic_left
  2. UEを再度開くと自動的にコンパイルされます【ソースコードがリリースされているため、すべてのバージョンに対応するはずです】

    プラグインの二次開発とデバッグは、Riderを使用して [name].uproject を直接開くことで簡単に行えます。

    Riderを使用してコンパイルし、コンパイルエラーを確認できます。UEの自動コンパイルを使用してエラーが発生した場合は、Saved/Logs/[name].Log を確認してください。UE の出力ログは一般的に日本語のエンコード問題があるため、システムエンコードを UTF-8 に調整する必要があるかもしれません。

  3. スケルトンバインディングの手順

    • キャラクターアセットのスケルトンメッシュをクリックし、右クリックして新しいアニメーションブループリントを作成し、アニメーションブループリントをダブルクリックして編集します。【不明な点はビデオと併せて確認することをお勧めします】
    • 右クリックして Rebocap を検索し、Rebocap Body Pose を選択してノードを作成し、ノードの右側のキャラクターを出力ポーズの Result に接続します。
    • ブループリント編集ページの左下の変数セクションでプラスボタンをクリックして新しい変数を作成し、変数タイプを検索して Rebocap を選択し、RebocapMapData を選択してクラス参照を行います。次に、変数をブループリントにドラッグして先ほど作成したノード RetargetAsset に接続すると、自動的に変数ノードが生成されます。次に、左上のコンパイルボタンをクリックします。
    • 先ほど作成した変数ノードをクリックし、右側のデフォルト値でプラスボタンをクリックして新しい Map アセットを作成します。自動的に新しいページに移動し、新しいページでユーザーがスケルトンマッピングを手動で入力する必要があります。注意として、24個のノードすべてを入力することをお勧めします。Avatar のスケルトン名に基づいて入力してください。

      スケルトン名はブループリントページの上部バーの最初のライトブルーのスケルトンキャラクターをクリックすると自動的に選択され、各スケルトンの対応するポイントを確認できます。Rebocap の24個のノードのポイントは標準の人体スケルトンポイントです。ここで Rebocap のスケルトン名はスケルトンボーンの起点に基づいて命名されています。例えば、VRM では LeftUpperLeg と命名されているボーンの起点はヒップなので、Rebocap では L_Hip と命名されます。LeftFoot の起点は足首なので、対応する命名は L_Ankle です。Rebocap では L_Foot は足の指に対応します。UEの命名体系では一般的に ball と呼ばれます。

      L Collar 左肩のスケルトン

      L Shoulder 左上腕のスケルトン

      L Elbow 左前腕のスケルトン

      L Wrist 左手のスケルトン

      L Hand 左手の中指のスケルトン【駆動しません】

      スケルトンが多い場合は、適切な位置を選択して選択することができます。例えば、脊柱が6本ある場合は、そのうちの3本を選択することができます。

    • 先ほどのブループリントページに戻り(選択したスケルトンマッピングは保存してコンパイルしないと有効になりません)、変数ノードの値を先ほど作成した Map アセットに設定します。

    • 再度コンパイルし、Warning を確認します。通常、Warning は3つだけです。スケルトンマッピングが間違っている場合は、特定のスケルトンが見つからないという警告が表示されます。
    • アニメーションブループリント編集ウィンドウを閉じ、トップメニューの ウィンドウ->バーチャルプロダクション->Live Link をクリックし、ソース->Rebocap Source->conn を選択します。【port はポート番号です。Rebocap のブロードキャストポート番号を変更した場合は、ここも変更する必要があります】。Rebocap クライアントが開いている場合、connectok 状態になります。そうでない場合は bad 状態です。また、ユーザーが動作キャリブレーションを行った後にデータのブロードキャストが開始されます。
 <div align="center">
 <img src="../../img/ue_plugin/ue2.png" alt="pic_left" width="80%">
 <img src="../../img/ue_plugin/ue3.png" alt="pic_left" width="80%">
 </div>
  1. コードの説明

主な動作制御に関連するコードはSource\rebocap\Private\rebocap_pose_node.cppにあり、その他は周辺関連コード(例えばdllの呼び出しやlivelinkなど)です。その中で、Init_Foot_Vertices_And_SkeletalData関数はキャラクターのデフォルト骨格位置およびvertポイントを取得し、地面接触用の6つのポイント【各足6つ】を計算します。自動計算のため精度が不足する可能性があるので、ユーザーは自分で足底の6つのポイントを見つけてパラメータを渡すと、より正確になるかもしれません。

PS:足が大きいとキャラクターが上下に揺れる可能性があります。極端な例を挙げると、例えば2メートルの大きな足を持つキャラクターが2メートルしかない場合、つま先で立ってから地面に降りると、つま先が地面に接触し続けるためにキャラクターが上下に揺れることになります。

パッケージ化を必要とする開発者の方は、最新バージョンのプラグインをダウンロードしてください(以前のバージョンではパッケージ化後に動作しません)。runtime モードでは livelink 接続管理が追加されています。Plugins/rebocap_unreal_engine_plugin/Source/rebocap_runtime/Private/RebocapLivelinkManagerDemoWidget.cpp ファイルの ConnectLiveLinkDisconnectLiveLink メソッドを参考にして独自に実装することができます。プラグインに付属のUIを無効にしたい場合は、Plugins/rebocap_unreal_engine_plugin/Source/rebocap_runtime/rebocap_runtime.Build.cs を編集し、USE_REBOCAP_LIVELINK_MANAGER_DEMO のマクロ定義をコメントアウトしてから自分でコンパイルしてください。プラグインを自分のプロジェクトに組み込む開発者の方は、独自にUIを追加して livelink の接続を管理してください。

runtime モード(standalone or game mode、つまりパッケージ化後の実行)については、現在のところ runtime モードでメッシュの頂点を取得する方法が見つかっていないため、パッケージ化後は自動ボーン登録に足底が含まれず、足底の表現が Editor モードよりも少し劣ることがあります。将来的にはこの問題を解決する予定です。

Editorlivelink 接続を使用する場合、livelink チャンネルが占有され、game モードでの接続が成功しない可能性がありますので、Editor を再起動してから試してください。

ビデオ操作デモ

ここには音声がなく、仮に使用しています。後でより本格的なものにします。

Meta Human を Tpose に変更

以下はビデオチュートリアルと対応するTposeファイルのパッケージです。ビデオに従って操作してください。変換ファイルは現在UE5.3にのみ対応しており、他のバージョンは後で追加します。

ダウンロード

results matching ""

    No results matching ""