Расположить один объект рядом с другим

268
23 декабря 2017, 02:50

Необходимо расположить Объект1 рядом с Объект2.

Чтобы найти d, мне нужно найти ширину этих объектов, и distance будет ровняться сумме половине этих ширин. Как можно найти ширину этих объектов в системе координат, чтобы в дальнейшем я мог задать position у Объект2, как Объект1.position.x + distance?

Answer 1

Судя по рисунку, предполагается работа в 2d. Все зависит от того, чем вы пользуетесь для отрисовки этих объектов на сцене. В любом случае, центр объекта можно получить с помощью transform.position, и все что останется, найти половину ширины каждого объекта. Возможные варианты:

  1. SpriteRenderer - используйте SpriteRenderer.bounds(документация по Bounds), чтобы получить размеры прямоугольника, описывающего ваш объект, а дальше посчитайте половину длины.
  2. Unity UI Image - все еще проще чем в первом случае, у каждого объекта на Canvas есть компонент RectTransform, у которого можно получить rect - описывающий его прямоугольник и дальше работать с ним. Пример.

Также, не забудьте что считать расстояние между объектов нужно в одной системе координат (обращая внимание на положение в иерархии и локальные/глобальные координаты). Также для расчета расстояния между двумя точками (центрами объектов) может помочь метод Vector2.Distance.

READ ALSO
Отобразить PNG из API во View

Отобразить PNG из API во View

Получаю через API картинку PNG в контроллере

201
Как обработать SqlException - The parametrised query … expects the parameter … which is not supplied

Как обработать SqlException - The parametrised query … expects the parameter … which is not supplied

Имеется форма, на которой расположен DataGridView и к ней BindingNavigator, созданный автоматически

185
Лишние запросы prevel.js

Лишние запросы prevel.js

При открытии приложения с локального сервера (на expressjs) кроме непосредственно самих файлов (index

254