Quest Basic Water Shader(VRChat)
Overview
This is an asset for VRChat worlds.
This is a world asset for a water shader created for Quest, balancing good appearance, lightweight performance, and ease of use on Quest to provide a basic water shader that can be used with confidence. It can also be used as a lightweight water shader on PC.
However, expressions such as refraction are not included as they do not work on Quest.
The color and texture have been repeatedly checked and adjusted for Quest2, PCVR, and desktop. Please adjust the color and transparency to match the world's lighting and Skybox.
Features
- Compatible with both Quest and PC
- Lightweight with a decent appearance
- Easy to use with simple parameters
- Verified to work on Quest
- Includes 8 types of material setting examples
Eight setting examples are included as material samples. Please use them as references for parameter settings.
- Basic normal type
- One with fast wave speed
- One with a slightly greenish color
- One with small waves
- One with almost no waves, like a calm sea
- One with faded edges
- One assigned to a cube
- One assigned to a sphere
Sample World
https://vrchat.com/home/launch?worldId=wrld_ac29d71a-99e5-421e-a2d2-80047336fac3
Operational Verification Status
Verified to work in Unity2019.4.31f1 and Unity2022.3.6f1 Built-in RP & Linear Color environments. Usable in Unity, VRChat.
- VRChat Worlds
- PC World: OK
- Quest World: OK
- VRChat Avatars
- PC Avatar: OK
- Quest Avatar: No
- Unity
- Built-in RP: OK
- URP: No
- HDRP: No
Update History
- 2023/08/01 V001 Initial release
- 2023/08/09 V002 Fixed an issue where the NormalStrength slider was set to a value that was difficult to adjust
Terms of Use
- Using in world creation or avatars: OK
- Redistribute / Sharing Files: Prohibited
- Reselling / Claiming it as your own work: Prohibited
- Including in avatars or worlds for sale: Prohibited
Contact
https://twitter.com/noriben327
Material Parameter Explanation
AlbedoColor: Base color
ReflectionColor: Reflection color
Opacity: Opacity
Metallic: Metallicness
Smoothness: Smoothness
WaveNormalTex: Texture for waves
Tiling: Texture tiling size
TextureMappingMode: Selects the method for mapping wave textures. Choices are WorldPositionXZ (XZ plane of the world), VertexPositionXZ (XZ plane of the object), and UV (typical UV mapping). For flat and large surfaces like the sea, WorldPositionXZ is recommended, and UV is convenient for three-dimensional objects like cubes.
NormalStrength: Strength of the normals, indicating wave height.
ScrollSpeed_X: Scroll speed of the waves (X direction)
ScrollSpeed_Y: Scroll speed of the waves (Y direction)
UpDownAmplify: Moves the entire object up and down, used to represent the vertical motion of water at the shoreline.
UpDownSpeed: Speed of the vertical motion
UpDownOffset: Amount of vertical offset
UpDown_Direction: Direction of the vertical motion
VertexPosEdgeFade: Fades the edges of the object on the XZ plane
VertexPosEdgeOpacity_MaxDistance: Distance at which fading ends
VertexPosEdgeOpacity_MinDistance: Distance at which fading begins
Unitypackage