コード例 #1
0
    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;
            }
        }
    }