// // Crest Water System // Copyright © 2024 Wave Harmonic. All rights reserved. namespace WaveHarmonic.Crest.Generated { enum CollisionLayer { /// /// Include all displacement. /// Everything, /// /// Only include Animated Waves. /// AfterAnimatedWaves, /// /// Include Animated Waves and Dynamic Waves. /// AfterDynamicWaves, } } namespace WaveHarmonic.Crest.Generated { enum CollisionLayers { /// /// All layers. /// Everything, /// /// No extra layers (ie single layer). /// Nothing, /// /// Separate layer for dynamic waves. /// /// /// Dynamic waves are normally combined together for efficiency. By enabling this layer, dynamic waves are combined and added in a separate pass. /// DynamicWaves, /// /// Extra displacement layer for visual displacement. /// Displacement, } } namespace WaveHarmonic.Crest.Generated { enum CollisionSource { /// /// No collision source. Flat water. /// None, /// /// Uses AsyncGPUReadback to retrieve data from GPU to CPU. /// /// /// This is the most optimal approach. /// GPU, /// /// Computes data entirely on the CPU. /// CPU, } } namespace WaveHarmonic.Crest.Generated { enum DefaultClippingState { /// /// By default, nothing is clipped. Use clip inputs to remove water. /// NothingClipped, /// /// By default, everything is clipped. Use clip inputs to add water. /// EverythingClipped, } } namespace WaveHarmonic.Crest.Generated { enum DepthProbeMode { /// /// Update in real-time in accordance to refresh mode. /// RealTime, /// /// Baked in the editor. /// Baked, } } namespace WaveHarmonic.Crest.Generated { enum DepthProbeRefreshMode { /// /// Populates the DepthProbe in Start. /// OnStart, /// /// Requires manual updating via DepthProbe.Populate. /// ViaScripting, } } namespace WaveHarmonic.Crest.Generated { enum DisplacementPass { /// /// Displacement that is dependent on an LOD (eg waves). /// /// /// Uses filtering to determine which LOD to write to. /// LodDependent, /// /// Renders to all LODs. /// LodIndependent, /// /// Renders to all LODs, but as a separate pass. /// /// /// Typically used to render visual displacement which does not affect collisions. /// LodIndependentLast, } } namespace WaveHarmonic.Crest.Generated { enum FloatingObjectModel { /// /// A simple model which aligns the object with the wave normal. /// AlignNormal, /// /// A more advanced model which samples water at the probes positions. /// Probes, } } namespace WaveHarmonic.Crest.Generated { enum LodInputBlend { /// /// No blending. Overwrites. /// Off, /// /// Additive blending. /// Additive, /// /// Takes the minimum value. /// Minimum, /// /// Takes the maximum value. /// Maximum, /// /// Applies the inverse weight to the target. /// /// /// Basically overwrites what is already in the simulation. /// Alpha, /// /// Same as alpha except anything above zero will overwrite rather than blend. /// AlphaClip, } } namespace WaveHarmonic.Crest.Generated { enum LodInputMode { /// /// Unset is the serialization default. /// /// /// This will be replaced with the default mode automatically. Unset can also be used if something is invalid. /// Unset, /// /// Hand-painted data by the user. /// Paint, /// /// Driven by a user created spline. /// Spline, /// /// Attached 'Renderer' (mesh, particle or other) used to drive data. /// Renderer, /// /// Driven by a mathematical primitive such as a cube or sphere. /// Primitive, /// /// Covers the entire water area. /// Global, /// /// Data driven by a user provided texture. /// Texture, /// /// Renders geometry using a default material. /// Geometry, } } namespace WaveHarmonic.Crest.Generated { enum LodInputPrimitive { /// /// Spheroid. /// Sphere, /// /// Cuboid. /// Cube, /// /// Quad. /// Quad, } } namespace WaveHarmonic.Crest.Generated { enum LodTextureFormatMode { /// /// Uses the Texture Format property. /// Manual, /// /// Chooses a texture format for performance. /// Performance, /// /// Chooses a texture format for precision. /// /// /// This format can reduce artifacts. /// Precision, /// /// Chooses a texture format based on another. /// /// /// For example, Dynamic Waves will match precision of Animated Waves. /// Automatic, } } namespace WaveHarmonic.Crest.Generated { enum Placement { /// /// The component is in a fixed position. /// Fixed, /// /// The component follows the transform. /// Transform, /// /// The component follows the viewpoint. /// Viewpoint, } } namespace WaveHarmonic.Crest.Generated { enum QuerySource { /// /// This game object's transform. /// Transform, /// /// The viewer's transform. /// /// /// The viewer is the main camera the system uses. /// Viewer, } } namespace WaveHarmonic.Crest.Generated { enum ShorelineVolumeColorSource { /// /// No depth color. /// None, /// /// Depth color based on water depth. /// Depth, /// /// Depth color based on shoreline distance. /// Distance, } } namespace WaveHarmonic.Crest.Generated { enum WaterInjectionPoint { /// /// Renders in the default pass. /// /// /// For the water surface, this will be determined by the material (opaque or transparent). This pass is controlled by Unity, and is not compatible with certain features like soft particles. /// Default, /// /// Renders before the transparent pass. /// /// /// This has advantages like being compatible with soft particles, refractive shaders, and possibly third-party fog. /// BeforeTransparent, } } namespace WaveHarmonic.Crest.Generated { enum WaterReflectionSide { /// /// Both sides. Most expensive. /// Both, /// /// Above only. Typical for planar reflections. /// Above, /// /// Below only. For total internal reflections. /// Below, } } namespace WaveHarmonic.Crest.Generated { enum WatertightHullMode { /// /// Use displacement to remove water. /// /// /// Using displacement will also affect the underwater and can nest bouyant objects. Requires the displacement layer to be enabled. /// Displacement, /// /// Clips the surface to remove water. /// /// /// This option is more precise and can be submerged. /// Clip, } }