Website powered by

Haunted Book VFX

I was asked to help in a small horror project with various effects, and that haunted book scene were particularly interesting.

The books placed as simple Static Meshes in the scene by the Environment artist. One important detail is the FloatingBooks Actor Tag on them.

The books placed as simple Static Meshes in the scene by the Environment artist. One important detail is the FloatingBooks Actor Tag on them.

The Book Controller get all the actors with the tag in the Constructor script and build arrays for the books with their full transform, Static Mesh ID  and a Normalised Height from the Surface.

The Book Controller get all the actors with the tag in the Constructor script and build arrays for the books with their full transform, Static Mesh ID and a Normalised Height from the Surface.

When the player triggers the floating book effect, the Niagara system is activated and the original static meshes are destroyed in the scene. As the Mesh particles has the same transform and mesh the change is seamless.

There are separate Mesh Renderers in the Emitter for the Static Meshes and the StaticMeshID picks the proper one by Visibility Tag.

There are separate Mesh Renderers in the Emitter for the Static Meshes and the StaticMeshID picks the proper one by Visibility Tag.

The height is saved in the constructor script so the upper books leaves first.

The vortex contains mesh instances, chasing a rotating point around with random speed/direction. There is a random attractor rotating in the mess, that gives a more chaotic feel to the results.

There are room to improve, like combining the two systems into one, add player avoidance, also the vortex could react to the player and impacting books. And many more.

There are room to improve, like combining the two systems into one, add player avoidance, also the vortex could react to the player and impacting books. And many more.