vault backup: 2025-06-26 23:34:25
This commit is contained in:
parent
c9b2983224
commit
009d92252b
@ -310,6 +310,47 @@ bool AShaderWorldActor::SetupCollisions()
|
||||
}
|
||||
```
|
||||
|
||||
#### CollisionFinalizeWork()
|
||||
```c++
|
||||
bool AShaderWorldActor::CollisionFinalizeWork()
|
||||
{
|
||||
SCOPED_NAMED_EVENT_TEXT("AShaderWorldActor::CollisionFinalizeWork()", FColor::Magenta);
|
||||
SW_FCT_CYCLE()
|
||||
|
||||
if (!CollisionReadToProcess.IsEmpty())
|
||||
return true;
|
||||
|
||||
const double GameThreadBudget_ms = SWGameThreadBudgetCollision_ms.GetValueOnGameThread();
|
||||
|
||||
double TimeStart = FPlatformTime::Seconds();
|
||||
|
||||
if(CollisionWorkQueue.Num()<=0)
|
||||
return true;
|
||||
|
||||
{
|
||||
FScopeLock CollisionMeshArrayAccess(&CollisionMeshAccessLock);
|
||||
for (int i = CollisionWorkQueue.Num() - 1; i >= 0; i--)
|
||||
{
|
||||
if ((FPlatformTime::Seconds() - TimeStart) * 1000.0 > GameThreadBudget_ms)
|
||||
return false;
|
||||
|
||||
FCollisionProcessingWork& Work = CollisionWorkQueue[i];
|
||||
|
||||
ensure(CollisionMesh.Find(Work.MeshID));
|
||||
|
||||
FCollisionMeshElement& Mesh = CollisionMesh[Work.MeshID];
|
||||
|
||||
Mesh.Mesh->UpdateSectionTriMesh(Work.DestB);
|
||||
|
||||
CollisionWorkQueue.RemoveAt(i);
|
||||
}
|
||||
}
|
||||
|
||||
CollisionWorkQueue.Empty();
|
||||
return true;
|
||||
|
||||
}
|
||||
```
|
||||
### SpawnablesManagement()
|
||||
|
||||
### TerrainAndSpawnablesManagement()
|
||||
|
Loading…
x
Reference in New Issue
Block a user