我正在构建一个自上而下的游戏,我的主要玩家向鼠标指针旋转,但由于某种原因,玩家从他的右边(他的 x 轴)看指针,我需要他从他的 Y 看。
我尝试了多种方法,但仍然与尝试将向量从vector3更改为vector2相同,但它会使我不需要它做的事情,我什至尝试使用四元数。
void controlScheme()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(Vector3.up * PlayerSpeed * Time.deltaTime,Space.World);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(Vector3.down * PlayerSpeed * Time.deltaTime,Space.World);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector3.left * PlayerSpeed * Time.deltaTime,Space.World);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector3.right * PlayerSpeed * Time.deltaTime,Space.World);
}
transform.up = dir;*/
var dir = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);
var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
唯一奇怪的是没有代码告诉引擎让玩家从玩家的右侧向鼠标旋转。