private Vector3 GetPos(int x, int z, int max) { float t = (x + z) / (max * 2f); float xT = (float)x / max; float zT = (float)z / max; float yPox = BezierUtil.GetCubic( t, BezierUtil.GetCubic(xT, 0f, _ampl00, _ampl01, 0f), BezierUtil.GetCubic(zT, 0f, _ampl10, _ampl11, 0f), BezierUtil.GetCubic(zT, 0f, _ampl20, _ampl21, 0f), BezierUtil.GetCubic(xT, 0f, _ampl30, _ampl31, 0f) ); return(new Vector3( x, roundFloorYPos ? Mathf.Floor(yPox) : yPox, z )); }