void Awake() { QualitySettings.vSyncCount = 0; // VSync must be disabled to set FPS Application.targetFrameRate = 60; floorMode = FloorMode.DOWN; collider = GetComponent <BoxCollider2D> (); }
public void Apply(FloorMode mode) { switch (mode) { case FloorMode.Noise: compute.SetVector("_NoiseParams", new Vector3(noiseSpeed, noiseScale, 1f)); compute.SetVector("_Radius", new Vector2(radius, radius + distance)); break; case FloorMode.Circle: break; case FloorMode.Line: var hw = width * 0.5f; var hd = depth * 0.5f; line.x = Random.Range(-hw, hw); line.y = Random.Range(-hd, hd); line.z = Random.Range(-hw, hw); line.w = Random.Range(-hd, hd); break; } compute.SetVector("_Circle", circle); compute.SetVector("_Line", line); Compute(kernels[mode], Time.deltaTime); }
public void UpdateSensorOrigins(ref FloorMode floorMode, BoxCollider2D collider, float angle) { Bounds bounds = collider.bounds; bounds.Expand(boundOffset * -2); if (playerPhysics.landed) { float floorModeRaw = (Mathf.Round((angle / 90f)) % 4f); Debug.Log("Floor Mode" + floorModeRaw); floorMode = (FloorMode)(Mathf.Round((angle / 90f)) % 4f); } switch (floorMode) { case (FloorMode.DOWN): collider.size = new Vector2(0.125f, 0.2f); minDistance = collider.bounds.size.y / 8; aBottom = new Vector2(collider.bounds.min.x + verticalOffset, collider.bounds.center.y); bBottom = new Vector2(collider.bounds.max.x - verticalOffset, collider.bounds.center.y); aTop = new Vector2(collider.bounds.min.x + verticalOffset, collider.bounds.min.y + .15f); bTop = new Vector2(collider.bounds.max.x - verticalOffset, collider.bounds.min.y + .15f); horizontal = new Vector2(collider.bounds.center.x, collider.bounds.min.y + .15f); //bHorizontal = new Vector2 (collider.bounds.center.x, collider.bounds.min.y + .0005f); directionBottom = Vector2.down; directionRight = Vector2.right; downSign = -1; return; case (FloorMode.LEFT): collider.size = new Vector2(0.2f, 0.125f); minDistance = collider.bounds.size.x / 8; aBottom = new Vector2(collider.bounds.center.x, collider.bounds.max.y - verticalOffset); bBottom = new Vector2(collider.bounds.center.x, collider.bounds.min.y + verticalOffset); aTop = new Vector2(collider.bounds.min.x + .15f, collider.bounds.max.y - verticalOffset); bTop = new Vector2(collider.bounds.min.x + .15f, collider.bounds.min.y + verticalOffset); horizontal = new Vector2(collider.bounds.min.x + .15f, collider.bounds.center.y); //bHorizontal = new Vector2 (collider.bounds.min.x + .0005f, collider.bounds.center.y); directionBottom = Vector2.left; directionRight = Vector2.down; downSign = -1; return; case (FloorMode.UP): collider.size = new Vector2(0.125f, 0.2f); minDistance = collider.bounds.size.y / 8; aBottom = new Vector2(collider.bounds.max.x - verticalOffset, collider.bounds.center.y); bBottom = new Vector2(collider.bounds.min.x + verticalOffset, collider.bounds.center.y); aTop = new Vector2(collider.bounds.min.x + verticalOffset, collider.bounds.max.y - .15f); bTop = new Vector2(collider.bounds.max.x - verticalOffset, collider.bounds.max.y - .15f); horizontal = new Vector2(collider.bounds.center.x, collider.bounds.max.y - .15f); //bHorizontal = new Vector2 (collider.bounds.center.x, collider.bounds.max.y - .005f); directionBottom = Vector2.up; directionRight = Vector2.left; downSign = 1; return; case (FloorMode.RIGHT): collider.size = new Vector2(0.2f, 0.125f); minDistance = collider.bounds.size.x / 8; aBottom = new Vector2(collider.bounds.center.x, collider.bounds.min.y + verticalOffset); bBottom = new Vector2(collider.bounds.center.x, collider.bounds.max.y - verticalOffset); aTop = new Vector2(collider.bounds.max.x - .15f, collider.bounds.min.y + verticalOffset); bTop = new Vector2(collider.bounds.max.x - .15f, collider.bounds.max.y - verticalOffset); horizontal = new Vector2(collider.bounds.max.x - .15f, collider.bounds.center.y); //bHorizontal = new Vector2 (collider.bounds.max.x - .0005f, collider.bounds.center.y); directionBottom = Vector2.right; directionRight = Vector2.up; downSign = 1; return; } }