MoverプラグインでPhysics-based CharacterをFTeleportEffectでテレポートさせた際に、例外が発生する

Moverプラグインを利用し、Physics-based Characterによるキャラクター操作の実装を進めています。

Mover Exampleのサンプルレベルのうち、 L_InstantMovementEffects にあるようなテレポート移動を実装しようとしていたのですが、

テレポート時に再現手順に記載したような例外が発生します。

物理演算スレッドからゲームスレッド専用の関数を呼び出してしまったために、例外が発生しているようです。

現状では、Physics-based Character Movementでテレポートは未対応でしょうか?

また、Physics-basedでテレポートを実装する手段はありますでしょうか?

Steps to Reproduce
# 環境

  • Windows 11
  • UE5.5.4:EpicGamesLauncherからインストール

# 再現手順

  1. 添付プロジェクトをUE5.5.4のエディタで開く
  2. ​L_PhysicsSimulatedCharacter レベルを開く( /MoverExamples/Maps/L_PhysicsSimulatedCharacter )
  3. WASDキーで​キャラクターを操作し、「Teleportation」と書かれた左の白い床に乗る[Image Removed]
  4. キャラクターは期待通りテレポートするが、​Output Logに下記のエラーが表示される​
  • LogOutputDevice: Error: Ensure condition failed: GetShadowIndex() == 0 [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\HAL\IConsoleManager.h] [Line: 1610]
  • LogOutputDevice: Error: Ensure condition failed: IsInGameThreadContext() [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Experimental\Chaos\Public\Framework\Threading.h] [Line: 287]
  • LogOutputDevice: Error: Ensure condition failed: Chaos::CVars::bEnableAsyncInitBody || IsInGameThread() [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Experimental\Chaos\Public\Chaos\ParticleHandle.h] [Line: 3861]
  • LogOutputDevice: Error: Ensure condition failed: Chaos::CVars::bEnableAsyncInitBody || IsInGameThread() [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Experimental\Chaos\Public\Chaos\ParticleHandle.h] [Line: 3861]

お世話になっております。

そのテストマップ上のすべてのTeleport Instant Movement EffectsをAsync Teleport Instant Effectsに変更していただけますか?

古いテレポート効果は更新されたコンポーネントを直接移動させるため、非同期には適してくて、ゲームスレッド外で Mover を実行している場合はこれが必要です。

お手数ですが、よろしくお願いします。

ご返答ありがとうございます。

こちらでUE::Tasks::Launchを用いて、ゲームスレッド側で AActor::TeleportTo を利用することで実装できました。

ただ、Async Teleport Instant Effect はUE5.5.4やGitHub mainブランチ最新では見つかりませんでした。

これはまだリリースされていない機能でしょうか? 念のため参考にしたいと考えています。

お世話になっております。

すみません、5.6のリリースになります!ただ昨日からプレビューが発表されたので、FAsyncTeleportEffectの実装で確認できます。

お手数ですが、よろしくお願いします。

FAsyncTeleportEffectを5.6.0-preview-1で見つけました。

こちら参考にして実装してまいります。

ご対応ありがとうございました。