docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct Simulation

    Steps a physics world.

    Implements
    ISimulation
    IDisposable
    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Physics
    Assembly: Unity.Physics.dll
    Syntax
    public struct Simulation : ISimulation, IDisposable

    Properties

    CollisionEvents

    Gets the collision events.

    Declaration
    public CollisionEvents CollisionEvents { get; }
    Property Value
    Type Description
    CollisionEvents

    The collision events.

    Contacts

    Gets the contacts stream.

    Declaration
    public readonly NativeStream Contacts { get; }
    Property Value
    Type Description
    NativeStream

    The contacts stream-->.

    FinalJobHandle

    Gets the handle of the final job.

    Declaration
    public JobHandle FinalJobHandle { get; }
    Property Value
    Type Description
    JobHandle

    The final job handle.

    FinalSimulationJobHandle

    Gets the handle of the final simulation job (not including dispose jobs).

    Declaration
    public JobHandle FinalSimulationJobHandle { get; }
    Property Value
    Type Description
    JobHandle

    The final simulation job handle.

    ImpulseEvents

    Gets the impulse events.

    Declaration
    public ImpulseEvents ImpulseEvents { get; }
    Property Value
    Type Description
    ImpulseEvents

    The impulse events.

    TriggerEvents

    Gets the trigger events.

    Declaration
    public TriggerEvents TriggerEvents { get; }
    Property Value
    Type Description
    TriggerEvents

    The trigger events.

    Type

    Gets the simulation type.

    Declaration
    public SimulationType Type { get; }
    Property Value
    Type Description
    SimulationType

    UnityPhysics.

    Methods

    Create()

    Creates a new Simulation.

    Declaration
    public static Simulation Create()
    Returns
    Type Description
    Simulation

    A Simulation.

    Dispose()

    Disposes the simulation.

    Declaration
    public void Dispose()

    ResetSimulationContext(SimulationStepInput)

    Resets the simulation storage

    • Reallocates input velocities storage if necessary
    • Disposes event streams and allocates new ones with a single work item
    Declaration
    public void ResetSimulationContext(SimulationStepInput input)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    ScheduleBroadphaseJobs(SimulationStepInput, JobHandle, bool)

    Schedule broadphase jobs.

    Declaration
    public SimulationJobHandles ScheduleBroadphaseJobs(SimulationStepInput input, JobHandle inputDeps, bool multiThreaded = true)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    JobHandle inputDeps

    The input deps.

    bool multiThreaded

    (Optional) True if multi threaded.

    Returns
    Type Description
    SimulationJobHandles

    The SimulationJobHandles.

    ScheduleCreateJacobiansJobs(SimulationStepInput, JobHandle, bool)

    Schedule create jacobians jobs.

    Declaration
    public SimulationJobHandles ScheduleCreateJacobiansJobs(SimulationStepInput input, JobHandle inputDeps, bool multiThreaded = true)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    JobHandle inputDeps

    The input deps.

    bool multiThreaded

    (Optional) True if multi threaded.

    Returns
    Type Description
    SimulationJobHandles

    The SimulationJobHandles.

    ScheduleNarrowphaseJobs(SimulationStepInput, JobHandle, bool)

    Schedule narrowphase jobs.

    Declaration
    public SimulationJobHandles ScheduleNarrowphaseJobs(SimulationStepInput input, JobHandle inputDeps, bool multiThreaded = true)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    JobHandle inputDeps

    The input deps.

    bool multiThreaded

    (Optional) True if multi threaded.

    Returns
    Type Description
    SimulationJobHandles

    The SimulationJobHandles.

    ScheduleSolveAndIntegrateJobs(SimulationStepInput, JobHandle, bool)

    Schedule solve and integrate jobs.

    Declaration
    public SimulationJobHandles ScheduleSolveAndIntegrateJobs(SimulationStepInput input, JobHandle inputDeps, bool multiThreaded = true)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    JobHandle inputDeps

    The input deps.

    bool multiThreaded

    (Optional) True if multi threaded.

    Returns
    Type Description
    SimulationJobHandles

    The SimulationJobHandles.

    ScheduleStepJobs(SimulationStepInput, JobHandle, bool)

    Schedule all the jobs for the simulation step. Enqueued callbacks can choose to inject additional jobs at defined sync points. multiThreaded defines which simulation type will be called: - true will result in default multithreaded simulation - false will result in a very small number of jobs (1 per physics step phase) that are scheduled sequentially Behavior doesn't change regardless of the multiThreaded argument provided.

    Declaration
    public SimulationJobHandles ScheduleStepJobs(SimulationStepInput input, JobHandle inputDeps, bool multiThreaded = true)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    JobHandle inputDeps

    The input deps.

    bool multiThreaded

    (Optional) True if multi threaded.

    Returns
    Type Description
    SimulationJobHandles

    The SimulationJobHandles.

    Step(SimulationStepInput)

    Steps the world immediately.

    Declaration
    public void Step(SimulationStepInput input)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    StepImmediate(SimulationStepInput, ref SimulationContext)

    Steps the simulation immediately on a single thread without spawning any jobs.

    Declaration
    public static void StepImmediate(SimulationStepInput input, ref SimulationContext simulationContext)
    Parameters
    Type Name Description
    SimulationStepInput input

    The input.

    SimulationContext simulationContext

    [in,out] Context for the simulation.

    Implements

    ISimulation
    IDisposable
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)