Rendered in UE4. Destruction simulated in Houdini.
Responsible for the car explosion effects and camera.
Car model by Maggie Chang. cycmaggie.com/
Environment from Western Desert Town by KK Design on Epic Marketplace.
This is a really fun project to work with. Thank you for the lovely car model created by Maggie Chang. Also thanks for the great tips from Tony Cheung and advice from my Professor Joe Pasquale.
Breakdown
Niagara Elements
It contains the following elements/layers in the Niagara system:
– Main Explosion
– Radial Speed Line
– Shockwave
– Fire on the car
– Fire flying over
– Smoke
Main Explosion
Radial Speed Line
Shockwave
Fire
My first attempt to create fire sprite sheet is to render a sequence of the side-view of a simulated campfire out of Houdini, and then display it on a plane inside UE4. This method doesn’t work well because although the fire looks more realistic, it creates obvious intersection with the car model.
The fire shader will choose the specifying RGBA channel as the emmissive mask, therefore more than one fire sequence can be packed in one texture.
Smoke
The smoke use the explosion shader.
I found out normal map doesn’t not looks good on the smoke particles when it is rotating, therefore I only used the diffuse map and the smoke alpha.
Houdini Simulation
Thanks to the SideFXLab tool, I’m able to export cloth sim and RBD sim to Unreal. Most of the simulation is then blend back to the hand-animated animation.
Car Body Sim
I used vellum sim to achieve the effects of bending metal. Since vellum cloth can be too elastic and soft sometimes, I painted where I don’t want it to deform to have @mass=0, which will deactivate it.
Door Sim
Door sim is done by RBD sim. Pieces are held together by hard constraint so it deforms upon impacts. ConeTwist constraint is used in the door hinge and is made broken by vex code.
Cable Sim
I used vellum solver for the cable sim. I created a sim cage and applied hair constraint on it, then applied pin constraint on both end of the line.
I used the following vex code in the vellum solver to break the pin constraint, so that one end of the cable will detach when the car explode.
I then used pointDeform to blend back the sim to the original mesh. One thing I would like to improve is to prevent the sim cage from twisting.
Final Note
The Fire
The fire is definitely the most challenging parts for me! I would like it to cover more nicely around the car so that it doesn’t exposed the car interior too much. To make it looks better, I tried to dial up the particles count but that will increase the overdraw greatly.