private void FixedUpdate() { GetInput(); Steer(); int layerMask = 1 << 9; layerMask = ~layerMask; RaycastHit hit; Debug.DrawLine(transform.position, transform.position + (-Vector3.up * distToGround)); if (!Physics.Raycast(transform.position, -Vector3.up, out hit, distToGround, layerMask)) { //rb.AddForce(Vector3.down * Time.fixedDeltaTime * carGrav); return; } else if (Physics.Raycast(transform.position, -Vector3.up, out hit, distToGround, layerMask)) { TerrainType tempTerrain = hit.transform.GetComponent <TerrainType>(); if (tempTerrain != null) { if (TerrainType != tempTerrain.terrainTypePicker) { tempTerrain.ChangeTerrainType(gameObject); } } } if (!finished) { if (verInput != 0f) { Accelerate(); } else { Deaccelerate(); } UpdateWheelPoses(); } if (particleSystems.Length > 0) { if (verInput > .1f) { if (particleSystems[0].isStopped) { for (int i = 0; i < particleSystems.Length; i++) { particleSystems[i].Play(); } } } else { if (particleSystems[0].isPlaying) { for (int i = 0; i < particleSystems.Length; i++) { particleSystems[i].Stop(); } } } } }