diff --git a/packages/core/src/physics/PhysicsManager.ts b/packages/core/src/physics/PhysicsManager.ts index e4a31ac9d4..363d674aa9 100644 --- a/packages/core/src/physics/PhysicsManager.ts +++ b/packages/core/src/physics/PhysicsManager.ts @@ -23,6 +23,7 @@ export class PhysicsManager { private _engine: Engine; private _restTime: number = 0; + private _fixedTimeStep: number = 1 / 60; private _colliders: DisorderedArray = new DisorderedArray(); @@ -152,9 +153,6 @@ export class PhysicsManager { } }; - /** The fixed time step in seconds at which physics are performed. */ - fixedTimeStep: number = 1 / 60; - /** * The gravity of physics scene. */ @@ -169,6 +167,19 @@ export class PhysicsManager { } } + /** The fixed time step in seconds at which physics are performed. */ + get fixedTimeStep(): number { + return this._fixedTimeStep; + } + + set fixedTimeStep(value: number) { + if (value > 0) { + this._fixedTimeStep = value; + } else { + console.warn("fixedTimeStep must be greater than 0."); + } + } + constructor(engine: Engine) { this._engine = engine; @@ -302,7 +313,7 @@ export class PhysicsManager { * @internal */ _update(deltaTime: number): void { - const { fixedTimeStep, _nativePhysicsManager: nativePhysicsManager } = this; + const { _fixedTimeStep: fixedTimeStep, _nativePhysicsManager: nativePhysicsManager } = this; const componentsManager = this._engine._componentsManager; const simulateTime = this._restTime + deltaTime;