Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/BindTexture.cs
2026-03-04 09:37:33 +08:00

53 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.Rendering.HighDefinition;
[ExecuteInEditMode]
public class BindTexture : MonoBehaviour
{
private WaterSurface waterSurface;
private float regionSize = 1f;
public Material CustomPassMaterial;
public Material localVolumetricFogMaterial;
public Material decalMaterial;
private void Start()
{
Init();
}
private void OnEnable()
{
Init();
}
private void Init()
{
if (waterSurface == null)
{
waterSurface = GetComponent<WaterSurface>();
}
}
private void Update()
{
Texture causticsBuffer = waterSurface.GetCausticsBuffer(out regionSize);
Texture deformationBuffer = waterSurface.GetDeformationBuffer();
CustomPassMaterial.SetColor("_TintColor", waterSurface.scatteringColor);
CustomPassMaterial.SetFloat("_WaterHeight", waterSurface.transform.position.y);
if (deformationBuffer != null)
{
decalMaterial.SetTexture("_DeformationTexture", deformationBuffer);
}
if (causticsBuffer != null)
{
CustomPassMaterial.SetTexture("_CausticsTexture", causticsBuffer);
localVolumetricFogMaterial.SetTexture("_CausticsTexture", causticsBuffer);
decalMaterial.SetTexture("_CausticsTexture", causticsBuffer);
}
}
}