所以我有这个脚本,可以围绕“字符”旋转一个点,直到我使用canvas ui元素添加了一个小地图,该脚本才起作用,现在仅在屏幕的左下角起作用。 Here you can see more clearly what im talking about.
这是我的脚本:
using UnityEngine;
public class PlayerAim : MonoBehaviour
{
private void LateUpdate()
{
AimMouse();
}
void AimMouse()
{
Vector3 mousePos = Input.mousePosition;
mousePos = Camera.main.ScreenToWorldPoint(mousePos);
Vector2 direction = new Vector2(
mousePos.x - transform.position.x,
mousePos.y - transform.position.y
);
transform.up = direction;
}
}
答案 0 :(得分:1)
我愿意打赌您的小地图使用第二台相机,对吗?两个摄像机都具有MainCamera标签吗?如果是这样,则调用Camera.main的代码将无法确定其实际使用的摄像机的行为。最有可能的是,它将Minimap摄像头用于ScreenToWorldPoint调用,这给了您意外的行为。
您需要做的是(a)从小地图相机对象中删除MainCamera标记,或(b)在您的脚本中添加Camera引用,然后直接在代码中引用它。