有人可以向我解释2D的Unity协调系统吗?

时间:2017-09-23 09:20:37

标签: unity3d

我正在尝试制作2D游戏。 我有4个游戏对象,我想放在屏幕的每个角落。,即当我在手机上运行我的应用程序时,它应该在每个角落都可见。 所以我在剧本中所做的是,

//GameObject 1 script
void Start(){
    transform.position = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height));
}

//GameObject 2 script
void Start(){
    transform.position = Camera.main.ScreenToWorldPoint(new Vector2(0, 0));
}

//And same for other 2 gameobjects...

但我没有在屏幕上看到任何物体。

1 个答案:

答案 0 :(得分:1)

你是以正确的方式做到的,但有些时候你应该看看:

  1. 确保您使用正确的相机将坐标从屏幕转换为世界。]
  2. 确保物体的z位置在相机的剪裁平面内(相机的近剪裁平面和相机的远剪裁平面之间必须是smth)。如果游戏对象实际上在裁剪平面内,您可以在编辑器中开始游戏并查看场景视图。
  3. 您正在做的是放置您的游戏对象,以便每个游戏对象的中心位于屏幕的角落。而且它不像gameobject会适合角落。如果你想放置游戏对象以使它们适合角落(不是它们的中心将被放置在角落里),你应该计算每个游戏对象的偏移量。您可以为此目的使用renderer.bound
  4. 确保您的相机渲染了游戏对象所在的图层。你可以用相机的剔除面罩检查它。