Surface Detection
![Footsteps_Surface](http://couchardthomas.com/wp-content/uploads/2019/12/Footsteps_Surface.jpg)
One AnimNotify event for each foot (for more precision, in some case we could save resources by only sending one raycast but I wanted more precision).
![Raycast_FS](http://couchardthomas.com/wp-content/uploads/2019/12/Raycast_FS.jpg)
Raycast starting from the foot and going to the ground. Each floor object on the level as a physical material attached to him with a surface type that is used to control a switch in Wwise.
![PhysicalMat](http://couchardthomas.com/wp-content/uploads/2019/12/PhysicalMat.jpg)
All the surfaces so far.
![MatSettings](http://couchardthomas.com/wp-content/uploads/2019/12/MatSettings.jpg)
Example for the main floor physical material.
![FS_Switch](http://couchardthomas.com/wp-content/uploads/2019/12/FS_Switch.jpg)
Wwise footsteps switch.
Water Depth
![Water_Raycast](http://couchardthomas.com/wp-content/uploads/2019/12/Water_Raycast.jpg)
Raycast starting from the foot and upward if the character is in a defined « Water Zone ». The distance between the surface of the water and the ground is used to control an RTPC.
![WaterDepth](http://couchardthomas.com/wp-content/uploads/2019/12/WaterDepth.jpg)
Water Depth RTPC used to control the basic footsteps sounds (making them really quiet when the water is deep enough).