Initial commit
This commit is contained in:
@ -0,0 +1,32 @@
|
||||
using UnityEngine;
|
||||
|
||||
// Sets up transformation matrices to scale&scroll water waves
|
||||
// for the case where graphics card does not support vertex programs.
|
||||
|
||||
[ExecuteInEditMode]
|
||||
public class WaterSimple : MonoBehaviour
|
||||
{
|
||||
void Update()
|
||||
{
|
||||
if( !GetComponent<Renderer>() )
|
||||
return;
|
||||
Material mat = GetComponent<Renderer>().sharedMaterial;
|
||||
if( !mat )
|
||||
return;
|
||||
|
||||
Vector4 waveSpeed = mat.GetVector( "WaveSpeed" );
|
||||
float waveScale = mat.GetFloat( "_WaveScale" );
|
||||
float t = Time.time / 20.0f;
|
||||
|
||||
Vector4 offset4 = waveSpeed * (t * waveScale);
|
||||
Vector4 offsetClamped = new Vector4(Mathf.Repeat(offset4.x,1.0f), Mathf.Repeat(offset4.y,1.0f), Mathf.Repeat(offset4.z,1.0f), Mathf.Repeat(offset4.w,1.0f));
|
||||
mat.SetVector( "_WaveOffset", offsetClamped );
|
||||
|
||||
Vector3 scale = new Vector3( 1.0f/waveScale, 1.0f/waveScale, 1 );
|
||||
Matrix4x4 scrollMatrix = Matrix4x4.TRS( new Vector3(offsetClamped.x,offsetClamped.y,0), Quaternion.identity, scale );
|
||||
mat.SetMatrix( "_WaveMatrix", scrollMatrix );
|
||||
|
||||
scrollMatrix = Matrix4x4.TRS( new Vector3(offsetClamped.z,offsetClamped.w,0), Quaternion.identity, scale * 0.45f );
|
||||
mat.SetMatrix( "_WaveMatrix2", scrollMatrix );
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d2f50a8e0bb841a5aaa90ae55db8849
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
Reference in New Issue
Block a user