We need a highly optimised mesh deformation blueprint node (written in C++) for a multiplayer FPS with destruction for AUD $300.
OVERVIEW:
Carve a hole in a provided mesh using a provided cube transform so bullets can deform a mesh/create holes and players can walk through this new hole.
INPUT:
- location (Vector3), rotation (Rotator) and scale (Vector3) to position the slicing cube
- A reference to the static mesh to slice.
FUNCTION:
- Add noise via a seed number to the cube to make it jaggered.
- Carve a hole in the provided mesh using the provided cube transform, ensuring the gaps in the hole are filled.
- Deform the mesh visually to include this new hole.
- Update collision so that players can walk through the new hole.
OUTPUT:
- A reference to the part that was sliced, so we can apply physics to it.
NOTES:
- As this will be used frequently during a match, it needs to be extremely optimised (<1ms). This includes deforming a large mesh (9k tris) hundreds of times.
- The meshes in the game use Synty Studios assets, which are low poly. Expect around 9k tris for a building.
- You cannot use Geometry Scripting, as this is too slow.
- It must work on any mesh without any authoring pre-runtime.
- It must work in editor and in packaged builds.
- It must be able to accept any mesh, so voxel-based destruction is not allowed.
- This deformation must allow players to walk through the new hole, so no GPU-only systems.
- You can use Runtime Mesh Components or Dynamic Meshes if a way is provided to convert static meshes to this format.
- The function must be callable via Blueprints.
PAYMENT:
Payment will be provided upon a video showcasing the function working in-game AND an screenshot of an Unreal Insights trace is shown with the frame timings of the function.
EXAMPLE:
Note this will be done extremely frequently, so it needs to be highly optimised on complex meshes.
If this is you, please get in touch!