【发布时间】:2021-06-22 02:07:31
【问题描述】:
我试图让我的角色指向我的鼠标光标所在的位置,但是这不能正常工作。我已将脚本“test_1”附加到角色并使其转动,这非常棒,但它需要面对我的鼠标位置。当我在角色周围移动鼠标时,它目前只是随机旋转。我尝试将脚本附加到主摄像头,希望它能正常工作,但摄像头只是不断地绕圈翻转,因此脚本当前附加到播放器。我只是在寻找一种方法来旋转并将我的角色指向鼠标位置,同时用主摄像机(玩家视图)看一个角度。这是video。 Babo Violent 2 是一个很好的游戏参考。
我的代码:
using UnityEngine;
public class test_1 : MonoBehaviour
{
void Update()
{
Vector3 vecWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition + Vector3.forward * 10f);
float fAngle = AngleBetweenPoints(transform.position, vecWorldPos);
transform.rotation = Quaternion.Euler(new Vector3(0f, fAngle, 0f));
}
float AngleBetweenPoints(Vector2 a, Vector2 b)
{
return Mathf.Atan2(a.y - b.y, a.x - b.x) * Mathf.Rad2Deg;
}
}
提前致谢!
【问题讨论】: