Skip to content

An advanced ocean system implemented in Unity3D

License

Notifications You must be signed in to change notification settings

ideoservo/crest

 
 

Repository files navigation

 

Intro

Crest is a technically advanced ocean renderer implemented in Unity3D 2019.4 and later. The version hosted here targets the built-in render pipeline, a link to the scriptable render pipeline versions (URP/HDRP) on the Asset Store are below.

Teaser

Discord for news/updates/discussions: https://discord.gg/g7GpjDC

Twitter: @crest_ocean

URP asset: Crest Ocean System URP

HDRP asset: Crest Ocean System HDRP

Showcase Gallery

Your game here! We're looking for projects to showcase - if you upload a video of your work to youtube and send us a link (or create a pull request) we'll put a thumbnail here and link to it.

Out of Reach: Treasure Royale - Trailer Windbound - Brave the Storm Announce Trailer [Official] An Adventure to the World of Artificial Intelligenc Hope Adrift Gameplay & Release Trailer Morild Navigator Blue Water Dev Diary - CIWS Expo Crest Ocean System - Pirate Cove Example Scene Critter Cove & Crest Trailer Of Ships & Scoundrels - Crest Demo Rogue Waves

Documentation

Refer to USERGUIDE.md for full documentation, including Initial setup steps.

There is also a getting started video here: https://www.youtube.com/watch?v=qsgeG4sSLFw&t=142s .

Prerequisites

  • Unity version:
    • The SRP assets on the Asset Store specify the minimum version required.
    • Releases on this GitHub target the built-in render pipeline, and each release specifies which version of Unity it was developed on. Currently Unity 2019.4 or later is the minimum version. See further down for 2018.4 support.
  • Crest example content:
    • The content requires a layer named Terrain which should be added to your project.
    • The post processing package is used (for aesthetic reasons), if this is not present in your project you will see an unassigned script warning which you can fix by removing the offending script.
  • .NET 4.x runtime
  • Shader compilation target 4.5 or above
    • Crest unfortunately does not support OpenGL or WebGL backends

Releases

One way to obtain Crest is take the latest version in the master branch by forking/cloning this repository or by using the green download button above. The files that should be copied into an existing project are under crest/Assets/Crest. Note that crest/Assets/Crest/Crest-Examples contains example content that is useful for first time users but not required for the core Crest functionality.

Releases of this version of Crest are published irregularly and posted on the Releases page. Unity packages are uploaded with each release which can be imported into your project using Assets/Import Package.

2018.4

There is a legacy branch for 2018.4 support. A direct download to an archive is available here. It is not actively developed.

Issues

If you encounter an issue, please search the Issues page to see if there is already a resolution, and if you don't find one then please report it as a new issue.

There are a few issues worth calling out here:

  • Sky solutions such as Azure[Sky] requires some code to be added to the ocean shader for the fogging/scattering to work. This is a requirement of these products which typically come with instructions for what needs to be added. See the wiki for examples.
  • This built-in render pipeline version of crest requires the Draw Instanced option on terrains to be disabled at start time. It can be re-enabled subsequently after the depth cache is populated. See issue #158.
  • Crest does not support OpenGL or WebGL backends

About

An advanced ocean system implemented in Unity3D

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 77.9%
  • ShaderLab 13.9%
  • HLSL 8.2%