After playing Nex Machina for a while, the shattering effect which turns monsters and scenes into cubes really fascinated me and I can't hold my curiosity to explore how they made it. I have tried to google some relevant material but I only found a video which introduces the game engine theory of Nex Machina and a blog post which briefly shows and introduces how they made the effect.

According to the information I have gathered, this shattering effect is achieved via ray tracing and morphing technique, but I don't know how exactly they implemented this. I have found a "Ray-tracing morph" solution here but obviously, it can not achieve the "Cube" effect in Nex Machina.

Since no GDC talk or technical blog is found from Housemarque, we can only guess how they implemented this. Any discussion is welcomed!

  • \$\begingroup\$ Since it is the first time I ask a question here, if any clue is missing or unclear please feel free to inform me. Thank you very much ^_^ \$\endgroup\$ – Alpha Mistral Jan 20 '18 at 7:32

According to its wikipedia page, Nex Machina uses Signed Distance Fields.

In the video you linked, the graphics programmer says that their world is actually defined with voxels (and presumably rendered by raymarching it.)

Because their world definition is already volumetric, it is easier to spawn particles inside those volumes.

If you have conventional 3D models that are represented by its boundary as polygons, you would have a harder task. You could convert your boundary representation mesh into voxels, and then use that for a particle simulation. But it wouldn't be able to do it on the impressive scale that Nex Machina does it.

Only partly related to your question, but the most impressive (2D) real time shattering I've seen is in the mobile game "Smash Hit." Its author blogged about the technology behind that one.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.