Skip to content

Document PostTick and PreTick for Simulation #342

Open
@Doprez

Description

@Doprez

We should add a section to the Physics manual to show how to subscribe to the physics tick events in order to mimic what people are used to for FixedUpdate.

Example:

using Stride.Engine;
using Stride.Physics;

public class FixedUpdate : StartupScript
{
	public override void Start()
	{
		var sim = this.GetSimulation();
		sim.PreTick += Sim_PreTick;
		sim.PostTick += Sim_PostTick;
	}

	private void Sim_PreTick(Simulation sender, float tick)
	{
		// Run before the Simulation is updated
	}

	private void Sim_PostTick(Simulation sender, float tick)
	{
		// Run after the Simulation is updated
	}

	public override void Cancel()
	{
		var sim = this.GetSimulation();
		sim.PreTick -= Sim_PreTick;
		sim.PostTick -= Sim_PostTick;
	}
}

This should be a pretty simple manual page I think but we should also add it to the Stride for Unity® developers somewhere that would mention FixedUpdate from Unity.

more things to think about:

  • The Bepu physics implementation does not have these events. This will be a Bullet physics doc.
  • C# events kind of suck for performance apparently. Maybe we should give an example on how to make a single event call that can call multiple scripts with some sort of custom processor?
  • Maybe for Bepu we can show how to use the SimulationUpdateComponent which works very similar to Unitys Monobehaviour with the Fixedupdate replaced by SimulationUpdate and AfterSimulationUpdate methods.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions