When I first started thinking about this piece, I immediately wanted to do a first-person project, preferably with an effect you could interact with in-game.
An artist named Oliver was interested in making a hard surface piece, and we decided to collaborate.
We thought a weapon as a tool to traverse vertically and possibly stun enemies would be super fun to do.
I was very inspired by the game Pray (one of my favorite games) with its gloo cannon and wanted to make something similar. We discussed a few potential materials that the gun could spit out. We decided on ice.
For me, the project focused on making an ice material for the platforms that could read as ice. I also wanted to make a rig and a few animations for the arms and gun to bind the showcase of the Cryolauncher together. I added a few particle effects and a decal to sell the effect further.
Unreal:
Blueprints, materials and Particles
Houdini:
Ice mesh
Maya:
Animation and rigg
Substance designer:
Textures
Other assets from
Gun mesh and textures:
Arm mesh and textures:
Environment:
Ice iteration
The ice material went through many iterations. It was a challenge to get it reflective and translucent without using actual translucency. After exploring a few ideas, I found a solution that worked well for what I was trying to achieve.
The ice block to the right is the final result.
I wanted to create a reflective surface that changed based on camera angle to fake depth. To do this, I used a reflection vector that was based on a normal map texture and a camera vector transformed in tangent space.
This was made so that the effect would stick to the surface orientation and react based on the normal direction.
Later, I isolated parts of the reflection vector with masks (RG - lateral direction and B - facing direction toward the camera)
I divided and multiplied it by 50 with a noise texture to create a strong distortion when gracing angles occur and less when facing the camera. All together with one more texture created a mask that moves with the camera, warps with noise texures and stretches along view angle.
To make the ice more interesting/frosty, I added two masks with different behaviours. I also wanted the blend between the wall frost decal and the ice platform to feel more cohesive.
One is a slope mask, to make the surface frosty, depending on how much the surface faces upward.
The other one is a direction-based mask with a noise texture to make the mask's edges more irregular.