Art and Visuals
- Fisharium is Designed to support Android ES3.1 and IOS metal Renderer.
- Some workaround has to be done in order to bring a better visual quality while keeping graphics as fake as possible
- General features like modular shadows are used to visualize fish shadows instead of Dynamic cascaded shadow maps alongside with baked shadows
- Tanks are designed to look similar to salt water tanks
- Each tank is split into a level that loads and unloads based on player selection
- Consist of static meshes with vertex based movement
- Contain far edge collision to stop camera from going to extreme position
Steps done to make Underwater water-like
- There are many ways to bring caustics, One way is to use Decals and project caustics. Problem of this method is it cannot be mapped based on the angle of the surface so texture will stretch based on initial projection. it can be countered using scene component world normal. but scene component world normal cannot be accessed to older mobile devices.
- 2nd method is to use a light function to project caustics. This method is fairly accurate but light function is not supported for some mobile devices.
- we used our third option where we made a material function with caustics that can be applied to individual objects, this way we can have a material that support all devices while masking the underside of meshes where caustics wont reach.
- Distortion displaces the main screen output by adding a panning cloud map to the UV coordinates of the Postprocess output.
- This gives a nice distortion effect that is not realistic but gives a representation of underwater
- Particles are done using Niagara
- One particle represent water rays casted by caustics
- One represent floating particles or dust in water
- One Represent gas bubbles often created by corals and pump
- Fishes are designed to be vibrant but representing real life fish with a variety of CREL (Common, Rare, Epic and Legendary) system