Stylized Water 2 documentation

Stylized Water 2

Stylized Water 2
Author: jonathan
Version: 1.1.4
Dated: 22 Sep 2020

4.4.Scripts & Utilities #

Water Object

You’ll find this component on every prefab. It merely provides an easy way to identify which objects in the scene represent water. Currently, the Planar Reflection Renderer component, Underwater Rendering extension and Buoyancy API make use of this.

The component caches the mesh and material used, so these can be retrieved instantly. The transform may also be used, to fetch the water level.

Water Mesh creator

The package comes paired with a utility that can generate plane or circle meshes, to be used with the water shader. This makes it easy to add subdivions to a mesh, without having to leave Unity. When using waves, a mesh requires a sufficient vertex density.

To create one

Right-click in the project window and go to Create->Water mesh. This creates a new .watermesh asset, which is essentially a regular mesh, so can be assigned to any Mesh Filter component.

Adding too many subdivisions (+65k vertices) will result in a mangled mesh

API

The StylizedWater2.WaterMesh class can also be instantiated, in order to create a mesh through custom scripts. Or you can use the static StylizedWater2.WaterMesh.Create to create a mesh directly.

Water Grid

This component lives up to its name, it creates a grid of water meshes around its position.

It can be added through Add Component->Stylized Water 2->Water Grid or Window->Stylized Water 2->Create water grid

The “Follow target” transform field can be set so the grid follows this around on the XZ axis. The position is snapped to the nearest vertex, so waves will not appear to wobble when the grid is moved. For the water surface to appear consistent when moving, the UV Source under the “General” tab in the material UI must be set to “World XZ Projected” (default).

This can be utilized to create water tiles for streaming systems, or faking an infinite ocean.

Because the created meshes are procedural in nature, it’s not possible to use this in a prefab.

Yes No Suggest edit
Last updated on August 24, 2021
3 of 3 users found this section helpful
Suggest Edit