如果我设置 Time.timeScale = 0; 如果设置 Time.fixedDeltaTime = 0,则没有任何变化;我的物理对象开始出现奇怪的行为,但并没有完全停止。也许有人知道如何更改 DOTS Physics 的 timeScale
问问题
441 次
1 回答
0
在函数Unity.Physics\ECS\Base\Systems\StepPhysicsWorld.cs
内部,OnUpdate()
使用标量修改 timeStep 值,使其看起来像这样:
float timeStep = Time.DeltaTime * PhysicsSettings.TimeScale;
// Schedule the simulation jobs
Simulation.ScheduleStepJobs(new SimulationStepInput()
{
World = m_BuildPhysicsWorldSystem.PhysicsWorld,
TimeStep = timeStep,
Gravity = stepComponent.Gravity,
SynchronizeCollisionWorld = stepComponent.SynchronizeCollisionWorld > 0,
NumSolverIterations = stepComponent.SolverIterationCount,
SolverStabilizationHeuristicSettings = stepComponent.SolverStabilizationHeuristicSettings
}, m_Callbacks, handle, stepComponent.MultiThreaded > 0);
PhysicsSettings
我的存储点物理全局变量的类在哪里。
于 2021-03-19T15:39:25.613 回答