This page is a work in progress and could be pending updates.
Execution Order
概述
在擴展KCC時,KCC內部邏輯的執行順序是需要考慮的。
簡化的執行順序
KCC.SetInputDirection()
:在KCC內部更新之前,由玩家控制器代碼呼叫。KCC.SetLookRotation()
:在KCC內部更新之前從玩家控制器代碼中呼叫。- 另一個設置”輸入”屬性的KCC API呼叫
- KCC內部更新
- 預先緩存KCC處理器
IKCCProcessor.SetInputProperties()
:專用於設置輸入屬性(地面角度、基地位置、重力......)的階段。IKCCProcessor.SetDynamicVelocity()
:專用於計算KCCData.DynamicVelocity的階段。IKCCProcessor.SetKinematicDirection()
:專用於計算KCCData.KinematicDirection的階段。IKCCProcessor.SetKinematicTangent()
:專用於計算KCCData.KinematicTangent的階段。IKCCProcessor.SetKinematicSpeed()
:專用於計算KCCData.KinematicSpeed。IKCCProcessor.SetKinematicVelocity()
:計算KCCData.KinematicVelocity的專用階段(結合之前階段計算的運動學屬性)。- 用計算出的速度進行運動。如果期望的速度太大,這個步驟可以連續執行多次(應用CCD)。
- 物理學查詢。
IKCCProcessor.ProcessPhysicsQuery()
:專用於計算單個物理查詢後的屬性(例如運動速度的地面投影)。- 碰撞更新:
IKCCProcessor.Enter()
和IKCCProcessor.Exit()
的呼叫返回。
IKCCProcessor.Stay()
:專於執行自定義處理器邏輯的階段。- 轉換同步。
關於處理器及其階段的更多訊息,請查看註釋代碼和KCC範例項目。
Back to top