/// <summary> /// 初期化 /// </summary> public void Initialize(WaveParameter parameter, NativeArray <float> waveArray, Material material) { this.parameter = parameter; this.waveArray = waveArray; resolution = new Vector2Int(parameter.NumX, parameter.NumY); CreateMesh(material); }
public void SetWaveParameters(int i, WaveParameter parametres) { string propertyName = "_Wave" + (i + 1).ToString() + "Parameters"; if (m_seaMaterial.HasProperty(propertyName)) { Vector4 propertyValue = new Vector4(parametres.angle * Mathf.Deg2Rad, parametres.radius, parametres.period, parametres.waveLenght); m_seaMaterial.SetVector(propertyName, propertyValue); } propertyName = "_Wave" + (i + 1).ToString() + "GroupParam"; // OK for seaShader version 4 if (m_seaMaterial.HasProperty(propertyName)) { Vector4 propValue = new Vector4(parametres.density, parametres.advance); m_seaMaterial.SetVector(propertyName, propValue); } propertyName = "_Wave" + (i + 1).ToString() + "density"; // OK for seaShader version 3 if (m_seaMaterial.HasProperty(propertyName)) { float density = parametres.density; m_seaMaterial.SetFloat(propertyName, density); } propertyName = "_Wave" + (i + 1).ToString() + "advance"; // OK for seaShader version 3 if (m_seaMaterial.HasProperty(propertyName)) { float advance = parametres.advance; m_seaMaterial.SetFloat(propertyName, advance); } }