【发布时间】:2019-01-24 05:48:31
【问题描述】:
所以我有这个脚本可以围绕我的“角色”旋转一个点,它一直有效,直到我使用画布 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;
}
}
【问题讨论】:
-
看起来 Aim 或 AimAxis 可能已移动到世界坐标中的 [0,0]。
-
“我该如何解决这个问题?” 可能适用于在 SO 上提出的所有问题中超过一半的标题。您的头衔是您将问题“推销”给潜在回答者的机会。请使其与您的问题相关。
-
您可以使用 transform.LookAt,或者从四元数获取 lookatDirection,然后从那里进行旋转,而不是分配给 transform.up。
标签: c# unity3d game-development