/// <summary>
        /// 使transform面向target
        /// </summary>
        /// <param name="transform">旋转对象</param>
        /// <param name="formRotation">初始rotation</param>
        /// <param name="toTarget">面向的位置</param>
        /// <param name="interpolate">插值[0-1]</param>
        /// <param name="lerpType">插值类型</param>
        /// <param name="withoutAxis"></param>
        /// <returns></returns>
        public static bool FaceToTarget(Transform transform, Quaternion formRotation, Vector3 toTarget, float interpolate = 1, PBEnums.LerpType lerpType = PBEnums.LerpType.Lerp, PBEnums.Axis withoutAxis = PBEnums.Axis.None)
        {
            Vector3 face = toTarget - transform.position;

            SetVector3WithoutAxis(ref face, withoutAxis, 0);
            Quaternion toRotation = Quaternion.LookRotation(face);

            if (interpolate > 1)
            {
                interpolate = 1;
            }
            switch (lerpType)
            {
            case PBEnums.LerpType.Lerp:
                transform.rotation = Quaternion.Lerp(formRotation, toRotation, interpolate);
                break;

            case PBEnums.LerpType.Slerp:
                transform.rotation = Quaternion.Slerp(formRotation, toRotation, interpolate);
                break;
            }
            if (interpolate == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 面对面
        /// </summary>
        /// <param name="T1"></param>
        /// <param name="T1FormRotation"></param>
        /// <param name="T2"></param>
        /// <param name="T2FormRotation"></param>
        /// <param name="interpolate"></param>
        /// <param name="lerpType"></param>
        /// <param name="withoutAxis"></param>
        /// <returns></returns>
        public static bool FaceToFace(Transform T1, Quaternion T1FormRotation, Transform T2, Quaternion T2FormRotation, float interpolate = 1, PBEnums.LerpType lerpType = PBEnums.LerpType.Lerp, PBEnums.Axis withoutAxis = PBEnums.Axis.None)
        {
            bool a = FaceToTarget(T1, T1FormRotation, T2.position, interpolate, lerpType, withoutAxis);
            bool b = FaceToTarget(T2, T2FormRotation, T1.position, interpolate, lerpType, withoutAxis);

            return(a && b);
        }
        /// <summary>
        /// 移动
        /// </summary>
        /// <param name="transform"></param>
        /// <param name="formPos"></param>
        /// <param name="toPos"></param>
        /// <param name="interpolate"></param>
        /// <returns></returns>
        public static bool MoveTo(Transform transform, Vector3 formPos, Vector3 toPos, float interpolate = 1, PBEnums.LerpType lerpType = PBEnums.LerpType.Lerp)
        {
            if (interpolate > 1)
            {
                interpolate = 1;
            }
            switch (lerpType)
            {
            case PBEnums.LerpType.Lerp:
                transform.position = Vector3.Lerp(formPos, toPos, interpolate);
                break;

            case PBEnums.LerpType.Slerp:
                transform.position = Vector3.Slerp(formPos, toPos, interpolate);
                break;
            }
            if (interpolate == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }