Add water system package

This commit is contained in:
Vova
2023-12-06 20:29:45 +02:00
parent 627a90012a
commit 58d0f79bd1
140 changed files with 33167 additions and 3 deletions
@@ -0,0 +1,43 @@
using UnityEngine;
using UnityEngine.Rendering;
namespace WaterSystem
{
/// <summary>
/// Camera script to align the water mesh with the camera in a quantized manner
/// </summary>
[ExecuteInEditMode]
public class MainCameraAlign : MonoBehaviour
{
public float quantizeValue = 6.25f;
public float forwards = 10f;
public float yOffset = -0.25f;
private void OnEnable()
{
RenderPipelineManager.beginCameraRendering += UpdatePosition;
}
private void OnDisable()
{
RenderPipelineManager.beginCameraRendering -= UpdatePosition;
}
private void UpdatePosition(ScriptableRenderContext src, Camera cam)
{
if (cam.cameraType == CameraType.Preview) return;
var newPos = cam.transform.TransformPoint(Vector3.forward * forwards);
newPos.y = yOffset;
newPos.x = QuantizeValue(newPos.x);
newPos.z = QuantizeValue(newPos.z);
transform.position = newPos;
}
private float QuantizeValue(float value)
{
return quantizeValue * (int) (value / quantizeValue);
}
}
}