Latios-Framework icon indicating copy to clipboard operation
Latios-Framework copied to clipboard

Psyshock: Runtime Mesh Collider Blobs

Open Dreaming381 opened this issue 6 months ago • 0 comments

Psyshock: Runtime Mesh Collider Blobs

Psyshock uses Blob Assets for some collider types, such as Convex and TriMesh. However, currently these may only be constructed during baking. We would like to support constructing these at runtime or embedded into other blob assets. This is largely a refactoring effort.

Task Is Prerequisite For

  • Runtime Convex and TriMesh Colliders
  • Convex and TriMesh Colliders inside Compound Colliders

Base Requirements

Create static methods that take in a ref BlobBuilder, a ref ConvexColliderBlob or ref TriMeshColliderBlob, a FixedString128Bytes, and a Mesh.MeshData. The methods should build the blob assets borrowing code from ConvexBuilder and TriMeshBuilder inside Psyshock’s Smart Blobber Systems. Those builders should then be reworked to invoke these newly refactored methods.

Challenging Bonus

Currently, the construction methods allocate temporary containers every call. It would be great to replace most or all of these with allocations made by ThreadStackAllocator.

Dreaming381 avatar Aug 14 '24 06:08 Dreaming381