![]() ReleaseTickGroup( TG_PrePhysics, bBlockTillComplete=true) RunTickGroup( TG_PrePhysics, bBlockTillComplete=true)Ī. QueueTickFunction()函数(具体细节如上)įTickTaskManagerInterface:: Get(). 遍历AllCoolingDownTickFunctions,对里面处于Enabled状态的 FTickFunction执行 FTickFunction. 以及将创建出来的Task的 FGraphEventRef对象添加到 FTickTaskSequencer.TickCompletionEvents数组中ī. AddTickTaskCompletion()将创建出来的Task任务添加到 FTickTaskSequencer.HiPriTickTasks或 FTickTaskSequencer.TickTasks数组中 StartTickTask()为当前 FTickFunction创建Task任务(Hold不执行) 遍历AllEnabledTickFunctions,逐个执行 FTickFunction. ④ 循环遍历 FTickTaskManager.LevelList数组,执行 FTickTaskLevel. 遍历AllCoolingDownTickFunctions链表,将Cooldown小于等于0的 FTickFunction设置为Enabled状态 然后设置为CoolingDown状态并放进AllCoolingDownTickFunctions列表中Ĭ. ScheduleTickFunctionCooldowns()函数:将TickFunctionsToReschedule中的 FTickFunction按照Cooldown进行升序排序 StartFrame(),返回为Enabled状态 FTickFunction的个数ī. ③ 循环遍历 FTickTaskManager.LevelList数组,执行 FTickTaskLevel. (this, DeltaSeconds, LEVELTICK_All, LevelsToTick) TArray LevelCollections成员变量 逐Level执行 for (int32 i = 0 i SetUpForFrame()。 如:Gravity(重力)、MaxPhysicsDeltaTime、MaxSubstepDeltaTime、MaxSubsteps、bSubstepping等įTickTaskManagerInterface:: Get(). Void UWorld:: Tick( ELevelTick TickType, float DeltaSeconds ) TG_NewlySpawned UMETA(Hidden, DisplayName= " Newly Spawned " ), After every tick group this is repeatedly re-run until there are no more newly spawned items to run. * * Special tick group that is not actually a tick group. TG_LastDemotable UMETA(Hidden, DisplayName = " Last Demotable " ), * * Catchall for anything demoted to the end. TG_PostUpdateWork UMETA(DisplayName= " Post Update Work " ), * * Any item that needs the update work to be done before being ticked. TG_PostPhysics UMETA(DisplayName= " Post Physics " ), * * Any item that needs rigid body and cloth simulation to be complete before being executed. TG_EndPhysics UMETA(Hidden, DisplayName= " End Physics " ), * * Special tick group that ends physics simulation. TG_DuringPhysics UMETA(DisplayName= " During Physics " ), ![]() * * Any item that can be run in parallel with our physics simulation work. TG_StartPhysics UMETA(Hidden, DisplayName= " Start Physics " ), * * Special tick group that starts physics simulation. ![]() TG_PrePhysics UMETA(DisplayName= " Pre Physics " ), * * Any item that needs to be executed before physics simulation starts. * * Determines which ticking group a tick function belongs to.
0 Comments
Leave a Reply. |