public void UpdateShape(SplatRenderer.WetMap wetMap) { if (life <= 0) return; life--; for (var i = 0; i < vertices.Length; i++) { var x = vertices[i]; var v = velocities[i]; var d = (1f - alpha) * motionBias + alpha / Random.Range(1f, 1f + roughness) * v; var x1 = (Vector2)x + flow * d + new Vector2(Random.Range(-roughness, roughness), Random.Range(-roughness, roughness)); var w = wetMap.GetWater((int)x1.x, (int)x1.y); if (w > 0) vertices[i] = (Vector3)x1; } #if USE_MESH_DOUBLE_BUFFERING var tmpMesh = mesh; mesh = _backbufferMesh; _backbufferMesh = tmpMesh; if (_backbufferMesh.vertexCount == vertices.Length) { _backbufferMesh.vertices = vertices; _backbufferMesh.RecalculateBounds(); } else { UpdateMesh(_backbufferMesh); } #else if (mesh.vertexCount == vertices.Length) { mesh.vertices = vertices; mesh.RecalculateBounds(); } else { UpdateMesh(mesh); } #endif }
// Use this for initialization void Start() { _selectedBrushfab = brushfabs[0]; _splatRenderer = GetComponent <SplatRenderer>(); }
// Use this for initialization void Start() { _selectedBrushfab = brushfabs[0]; _splatRenderer = GetComponent<SplatRenderer>(); }