我无法找到答案的超级基本问题:
我所做的就是创建一个新的2D统一项目并在场景中添加一个精灵。我向精灵添加了一个C#脚本,并将其位置设置为新的Vector2(0,0)。运行时,精灵将其中心点移动到屏幕中心,而不是左下角。当我在编辑器中将spite的位置设置为0,0时也是如此。我已经尝试让精灵成为相机的孩子,我尝试过使用WorldToScreenPoint()。已经有一段时间了,因为我使用过Unity,所以我不能理解某些东西。
感谢您的帮助
编辑: 正如这里提到的单行代码,不要认为这会增加很多清晰度。
public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
this.transform.position = new Vector2 (0, 0);
}
// Update is called once per frame
void Update () {
}
}
答案 0 :(得分:1)
Unity基于相机的平截头体渲染,而不是任意的屏幕像素位置(除非您通过脚本将其转换为平截头体)。
默认情况下,相机会“查看”场景空间原点(0, 0
),如果你将精灵放在那里,当然它会在游戏的屏幕上居中。
<强> [编辑] 强>
BTW,来自......
我试过让雪碧成为相机的孩子,我试过了 使用WorldToScreenPoint()。
......似乎你正试图将一个精灵放在与相机有关的地方。如果是GUI,那么正确的方法是 不 作为相机的孩子。 而是使用屏幕空间Canvas
。屏幕空间画布与相机不同,也基于像素位置工作! =)强>