Navigation
API > API/Runtime > API/Runtime/ClothingSystemRuntimeInterface
References
| Module | ClothingSystemRuntimeInterface |
| Header | /Engine/Source/Runtime/ClothingSystemRuntimeInterface/Public/ClothingSimulationInterface.h |
| Include | #include "ClothingSimulationInterface.h" |
Syntax
class IClothingSimulation
Remarks
Base class for clothing simulators.
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddExternalCollisions
(
const FClothCollisionData& InData |
Called by the engine when an external object wants to inject collision data into this simulation above and beyond what is specified in the asset for the internal actors Examples: Scene collision, collision for parents we are attached to | |
| void | Called by the engine when external collisions are no longer necessary or when they need to be updated with some of the previous collisions removed. | ||
| void | CreateActor
(
USkeletalMeshComponent* InOwnerComponent, |
Create an actor for this simulation from the data in InAsset Simulation data for this actor should be written back to SimDataIndex in GetSimulationData | |
| IClothingSimulationContext * | Create a new context, will not be filled, call FillContext before simulating with this context | ||
| void | Simulation should remove all of it's actors when next possible and free them | ||
| void | DestroyContext
(
IClothingSimulationContext* InContext |
Destroy a context object, engine will always pass a context created using CreateContext | |
| void | FillContext
(
USkeletalMeshComponent* InComponent, |
Fills an existing context for a single simulation step, called by the engine on the game thread prior to simulation | |
| void | FillContext
(
USkeletalMeshComponent* InComponent, |
Fills an existing context for a single simulation step, called by the engine on the game thread prior to simulation | |
| void | GatherStats () |
Called by the engine once per physics tick to gather non-cycle stats (num sim verts etc.) Will not be called if STATS is not defined, not required to be implemented if no need for stats. | |
| FBoxSphereBounds | GetBounds
(
const USkeletalMeshComponent* InOwnerComponent |
Get the bounds of the simulation mesh in local simulation space | |
| void | GetCollisions
(
FClothCollisionData& OutCollisions, |
Called by the engine to request data on all active collisions in a simulation. | |
| int32 | GetNumCloths () |
Return the number of simulated cloths. Implementation must be thread safe. | |
| int32 | Return the number of dynamic (simulated) particles. Implementation must be thread safe. | ||
| int32 | Return the number of iterations used by the solver. | ||
| int32 | Return the number of kinematic (fixed) particles. Implementation must be thread safe. | ||
| int32 | Return the number of substeps used by the solver. | ||
| void | GetSimulationData
(
TMap< int32, FClothSimulData >& OutData, |
Fill FClothSimulData map for the clothing simulation. | |
| float | Return the simulation time in ms. Implementation must be thread safe. | ||
| void | Initialize () |
Initialize the simulation, will be called before any Simulate calls | |
| bool | IsTeleported () |
Return whether the simulation is teleported. Implementation must be thread safe. | |
| void | Set the maximum number of iterations used by the solver. | ||
| void | Set the number of iterations used by the solver. | ||
| void | SetNumSubsteps
(
int32 |
Set the number of substeps used by the solver. | |
| bool | Called by the engine to detect whether or not the simulation should run, essentially are there any actors that need to simulate in this simulation | ||
| void | Shutdown () |
Shutdown the simulation, this should clear ALL resources as we no longer expect to call any other function on this simulation without first calling Initialize again. | |
| void | Simulate
(
IClothingSimulationContext* InContext |
Run a single tick of the simulation. | |
| void | UpdateWorldForces
(
const USkeletalMeshComponent* OwnerComponent |
Update the forces coming from the world. |