1.通过角度旋转。
float angle = Mathf.Atan2(deltVec2.x, deltVec2.y) * Mathf.Rad2Deg;
Debug.Log($"angle = {angle}");
characterController.transform.rotation = Quaternion.Euler(new Vector3(0, angle + _orginVec3.y, 0));
deltVec2是相对于触碰开始点的偏移量,Mathf.Atan2(deltVec2.x, deltVec2.y)是求出弧度,然后转化成角度angle。
旋转rotation是四元数,四元数的创建方法有多种,通过角度创建方法是Quaternion.Euler();里面参数new Vector3(0, angle + _orginVec3.y, 0),是要在原来角度,加上旋转的角度angle,即可求出现在的角度