UDN
Search public documentation:
ActorTickingJP
English Translation
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 ホーム > エンジン プログラミング > アクタのティック
UE3 ホーム > UnrealScript > アクタのティック
UE3 ホーム > ゲームプレイ プログラミング > アクタのティック
UE3 ホーム > UnrealScript > アクタのティック
UE3 ホーム > ゲームプレイ プログラミング > アクタのティック
アクタのティック
概要
TG_PreAsyncGroup
TG_DuringAsyncGroup
TG_PostAsyncGroup
- 衝突状態を変更したり、衝突可能なアクタをスポーンしたり、Novodex データに書き込みを行ったりするアクタは、TG_PreAsyncWork に入れる必要があります。通常ここに入れられるアクタとしては、Pawn、武器、および、剛体クラスの一部があります。
- 衝突状態を変更したり、衝突するアクタをスポーンしたり (衝突しないアクタならよい)、Novodex データを変更するアクタは、TG_DuringAsyncWork グループに配置する必要があります。ここでは、アクタのティックにかかる時間が物理シミュレーションにかかる時間を隠してくれる、つまり、ここで 2ms ティックすると、2ms のシミュレーション時間が自由になるので、最適の場所です。このグループに入れるアクタの候補としては、パーティクル システム、オーディオ、AI 処理などがあります。
- アクタ自体の Unreal データを更新する前に、Novodex からデータを取得する必要があるアクタは、TG_PostAsyncWork に入れる必要があります。ビークルやラグドールは、たいていこのグループに入れられます。
アクタのスポーン
コンポネントのティック
ティック コードのフロー
ゲーム スレッド | 物理スレッド |
---|---|
ワールドのアクタ リストを走査して、TG_PreAsyncWork の中のアクタをティックし、それ以外のアクタは遅延する | アイドル |
ティックされた各アクタのコンポネント リストを走査して、TG_PreAsyncWork の中のコンポネントをティックし、それ以外のアクタは遅延する | アイドル |
物理スレッドを開始するように通知する | シミュレーションを開始する |
TG_DuringAsyncWork リストの各アクタをティックする | 物理系をシミュレートする |
アクタの各コンポネンをティックする (必要があれば遅延する) | 物理系をシミュレートする |
TG_DuringAsycnWork がコンポネントをティックするまで、各コンポネントを遅延する | 物理系をシミュレートする |
物理動作が完了するまでブロック | シミュレーション結果を返す |
TG_PostAsyncWork リストの各アクタをティックする | アイドル |
アクタの各コンポネンをティックする | アイドル |
TG_PostAsycnWork がコンポネントをティックするまで、各コンポネントを遅延する | アイドル |
レンダリングおよび繰り返し | アイドル |
詳細なコードのフロー (および、ティック後)
コードのフロー (フレームごと)
Object ticking Pre-physics controller (input) pawn (script) Components SkeletalMeshComponent: update animations, skeleton controls, then compute the matrices Physics, async pawn physics Post-physics Camera tick Viewport tick "server travelling" "client travelling" streaming Render Calculate VP matrix (ask camera in script, returns cached value) Controller.PreRender UTPawn.PreRender (pretty good thing for licencees to use as well) Render everything Audio Callgraph computation