Я делаю игру в Unity, где объекты появляются в активном состоянии в виде типа сетки. Я хочу, чтобы первый объект появлялся на левом краю экрана, а остальные следовали. И у меня это работает более или менее правильно, когда я тестирую встроенный игровой тестер Unity. Я даже пробую это в разных разрешениях и все равно выглядит нормально. Однако, когда я собираю проект и затем тестирую его, все объекты находятся вне камеры, и это не похоже на предварительную сборку. Я перепробовал много разных предложений, которые я нашел в Google, и они, похоже, не лучше Я создаю экземпляр первого объекта, чтобы сначала получить значение X края экрана, используя int ix = -(Camera.main.scaledPixelWidth / 2)
И тогда я добавлю половину ширины объекта, используя
var renderer = clone.GetComponent<Renderer>();
float width = renderer.bounds.size.x / 2f;
ix += (int) width;
Я также пытался использовать значения screen.width и Camera.main.PixelWidth, и все они одинаковы ... Они хорошо выглядят во всех аспектах rat ios на встроенном предварительный просмотр игры для Unity, но когда я делаю сборку для Windows или WebGL, объекты запускаются за пределами экрана, и только последние несколько отображаются на экране. Есть ли у кого-нибудь предложения о том, как заставить объекты отображаться ровно на краю, независимо от разрешения? Я понимаю, что это может работать лучше, если объекты размечены вручную, но объекты необходимо визуализировать в начале уровня, поскольку идея состоит в том, чтобы повторно использовать одну сцену и загрузить ресурсы в зависимости от проанализированного файла xml, так как это игра-головоломка, и я хочу, чтобы пользователи тоже могли создавать свои собственные головоломки.