Realistic Rainbow Shader (VRChat)
Overview
This is an asset for VRChat worlds.
This is a realistic-looking rainbow shader that can be used in Unity, VRChat, and similar platforms. I created it with the idea of adding a natural-looking rainbow to worlds. It also represents secondary rainbows and the slightly brighter and whiter area inside the rainbow.
It includes three patterns: a rainbow that appears natural from one side only, a rainbow that is easily visible from all directions, and a halo-like rainbow with added noise, suitable for various effects.
Whether the rainbow is a semicircle or a full circle can be freely changed with the Mask parameter. Brightness, hue, and saturation are adjustable.
Reference video for the halo-like expression added in the update:
https://twitter.com/noriben327/status/1400398610613686273
Background skybox and objects are not included.
Description
Prefab files are located in the NoribenLunch/noribenRainbow/Prefabs folder.
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
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
Update History
- 2020/10/11 V001 Initial release
- 2021/06/03 V002 Added the ability to add noise to the rainbow and to change the hue and saturation.
- 2022/03/11 V003 Supported Single Pass Stereo (Instanced) rendering. Changed folder structure.
Contact
https://twitter.com/noriben327
Material Parameter Explanation
- Mask: The amount of fading in the vertical direction.
- Rainbow Intensity: The brightness of the main rainbow.
- Secondary Rainbow Intensity: The brightness of the secondary rainbow.
- Inside White Intensity: The brightness of the whitish part inside the rainbow.
- Hue: Changes the hue.
- Saturation: Changes the saturation.
- Noise Tex: Texture for noise.
- Noise Size: The size of the noise.
- Noise Move Speed: The speed of the noise movement.
- Fresnel: The amount of fading when viewed from the side.
- Fresnel Angle: The angle at which it fades when viewed from the side.
- Cull: Allows changing of the culling.
Unitypackage