ゲームスレッドと物理スレッドの同期

Unreal Engineの物理シミュレーションについての質問です。

入力の取得 → 入力に基づいてプレイヤーを移動 → 敵を移動 → 衝突を判定 → 判定結果に基づいて敵の死亡処理などを行う

という一連の流れを、同一フレーム内で行いたいと考えております。
プレイヤーや敵の移動は物理ではなくアニメーションや座標の直接指定で行いますので、一連の流れの中で、衝突判定だけ物理シミュレーションで行うことになると思います。(UEの使用経験がまだありませんので、認識が間違っていたらすみません)

ドキュメントの「物理サブステップ機能」によれば、

UE4
では物理サブステップが別の物理スレッドで実行されることによって、ゲームスレッドが継続して稼働できるようにしています。

とのことですが、ゲームスレッドと物理スレッドを完全に同期させ、ゲームスレッドの一連の処理の途中で衝突判定の結果を得ることは可能でしょうか?

また、物理シミュレーションに同じ状況を与えれば、必ず同じ結果が得られますでしょうか?

実際にやったことがないのでわかりませんが、プロジェクト設定の物理周りに色々と設定が出来る項目があります。

Framerateの中でSubsteppingなどの設定を行ないますが、その項目の▼ボタンを押すと更にSync Scene Smoothing Factorなどの情報が出てきます。デフォルトではAsync Scene Smoothing Factorの方に寄った設定になっているみたいなので、基本的に非同期だと思いますが、ここを調整してみるのはいかがでしょう?

ちなみに物理処理はとても重いものなので、同期させずに非同期にさせることが推奨です。シミュレーションは安定するかもしれませんが、サブステップの調整でなんとかする方が最終的にはベターなやり方だと思います。

ご回答有難うございました。

基本的に物理エンジンは非同期で動作するものなのですね。

物理関係の設定を調整してみます。