private void DetectGround() { this.groundDetected = Physics.SphereCast(new Vector3(this.transform.position.x, this.transform.position.y - this.characterController.height / 2 + this.sphereGroundDetectionRadius - this.characterControllerRadiusCompensator, this.transform.position.z), this.sphereGroundDetectionRadius, Vector3.down, out this.lastGroundDetectedInfos, 4, groundLayerMask); RaycastHit pmHit; if (Physics.SphereCast(this.transform.position, 1f, Vector3.down, out pmHit, 0.5f, groundLayerMask)) { if (pmHit.transform.tag.Contains("PMouvante") && !this.jumping) { RotatePlateformMovement rpm = pmHit.transform.GetComponentInParent <RotatePlateformMovement>(); PlateformMovement pm = pmHit.transform.GetComponentInParent <PlateformMovement>(); if (rpm != null) { this.plateformeMouvanteDir = rpm.VectorDirecteurPlateforme(this.transform); } else if (pm != null) { this.plateformeMouvanteDir = pm.VectorDirecteurPlateforme(); } } else { this.plateformeMouvanteDir = Vector3.zero; } } }