Unity 3D 每次加载关卡时,几个对象不会显示在屏幕上

Unity 3D Several objects not showing on the screen everytime the level is loaded

我有一个简单的 2D 游戏,每当加载关卡时我都会遇到一个奇怪的问题,包括平台和敌人在内的几个对象不会显示在屏幕上,2D 背景也不会显示,但所有对象都在那里,我可以在层次结构中看到它,它们正在按照它们应该喜欢的方式运行,比如杀死玩家等等。他们只是不出现在屏幕上。我终于能够在游戏过程中暂停玩家并将相机的 z 位置设置为 -11 及以上时显示它们,但每次关卡重新加载时,如玩家死亡后,都会发生同样的问题。

我什至在移动设备上对其进行了测试,但同样的问题出现了,而且我什至无法与关卡上的任何 UI 按钮进行交互,即使我检查了它们的所有代码都是合适。

请帮忙。

编辑:

好的,看完你的回复,我想这可能会有帮助。每次我统一加载这个项目时总是会出现这些错误,但是一旦游戏 运行.

它们就会消失

如您所见,平台和敌人确实出现在相机视锥体上,但当我开始游戏时它们消失了。

可能是因为你的cam的near clipping太高了;将其设置为 0.1 并重试。

好的,我终于找到问题了。经过大量的摸索和测试,我发现屏幕上没有出现的对象的 z 位置设置为 -10,这与相机的 z 位置相同。

问题是我使用这段代码在 Awake 方法中设置对象的位置:

transform.position = camera.main.ViewportToWorldPoint(new Vector3(x, y, 0));

实际发生的是所有 x、y 和 z 坐标都与相机的位置相关。所以将 z 位置设置为 10 对我来说是固定的。

感谢大家对我的帮助。