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