Perot Artifax - AR Experience
The Fossil Finder Artifax App is a Tablet AR experience currently up at the Perot Museum in Dallas, in their Origins Exhibit. My role for this project at Groove Jones was to develop a few shaders and animations that were needed for the unique design guidelines for the experience.
Below are components I worked on with some gifs of the shaders, along with a screenshot of the Node graph created in Amplify Shader Editor (similar to the Material Editor in Unreal) and a short description explaining the effect.
The AR Dig Hole
The purpose of this asset was to behave like a 'scanner' which reveals artifacts underneath the ground. Imagine the grey being the camera Pass-through (which is only apparent on device), and anywhere the user looks this hole opens up and reveals any artifacts that may be hiding underground, which they then dig up.
The main goal with this asset was to create a shader that displaced an animated mesh in a particular way without any inner penetration of geometry. The solution I ended up with was to displace vertices world space on the x and z plane only, using a texture to drive that displacement. This allowed not only for the animation to be noticeable when the user held the tablet still, but also give the feeling of movement along the ground when moving the tablet as well.
(I created the shader, model, and rig/animations for this asset, but not the textures.)
For the masking, I used a separate passthrough material which shows the skybox (in this case the camera feed), and applied that on the part of a ring-disc mesh that animates outward.
There was, again, a very specific design I needed to adhere to here; this shader required an asset to be able to transition from a stylized look to a pbr-lit look.
For the stylized pattern I used world space mapping to pan a texture along the object, and exposed some parameters to tweak the final look. I then lerp'ed all inputs with a float parameter to transition between the two looks.
The rainbow outline is a second very simple material that scaled the vertex normals and used a rainbow gradient texture in screen space, and the material was given lower render queue in order to be written behind the main shader.
Ground Coverage Shader
For the ground around the revealed artifacts, we wanted a stylized topographical look projected over everything. I did this simply by mapping the topographical texture using the x and z coordinates. This allowed us to experiment with different rock placements along the ground while maintaining the desired look.
This effect could have been achieved a bit cheaper by combining all the final ground coverage assets and projection unwrapping it, but this solution was much faster to implement, and we weren't at all concerned with overall performance.