Skip to content

An advanced ocean system implemented in Unity3D

License

Notifications You must be signed in to change notification settings

cyhunter/crest-oceanrender

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 

Intro

Crest is a technically advanced ocean renderer implemented in Unity3D 2018.3.

Teaser

Gallery

Your game here! I'm looking for projects to showcase - if you upload a video of your work to youtube and send me a link I'll put a thumbnail here and link to it.

Documentation

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

Prerequisites

  • Unity version:
    • Releases specify which version of Unity they were developed on.
    • The master branch generally moves forward with Unity releases to take advantage of improvements. It's rare that we take a hard dependency on a new feature in the core Crest code, so it is usually possible to stand Crest up in earlier versions of Unity.
    • One exception to the previous point is the async readback API used to read collisions and flow data back to the CPU. This code will need to be manually disabled on pre-2018 versions.
    • Another exception is prefabs which are used sparingly in Crest and generally do not change much between releases, but are moved forward with Unity versions and are have limited backwards compatibility.
  • 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.

Releases

Releases are published semi-regularly and posted on the Releases page. Unity packages are uploaded with each release. Since development stability has historically been good, an option would be to grab the latest version from the master branch instead of waiting for releases. Be aware though that we actively refactor/cleanup/change the code to pay technical debt and fight complexity so integrations may require some fixup.

Crest exercises semantic versioning and follows the branching strategy outlined here, although there is no develop branch used yet - development occurs on feature branches that are merged directly into master.

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:

  • Crest currently only works with the out of the box render pipelines in Unity (forward or deferred). It does not currently support LWRP or HDRP. If you would find such support useful, please feel free to comment in issue #49.
  • Azure[Sky] requires some code to be added to the ocean shader for the fogging/scattering to work. This is a requirement of this product and apparently comes with instructions for what needs to be added. See issue #62.

About

An advanced ocean system implemented in Unity3D

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 63.4%
  • ShaderLab 16.7%
  • C 11.4%
  • HLSL 5.9%
  • C++ 2.6%