Получите позицию UnityEngine.UI.Images в screenSpace и вычислите нормализованное смещение (внутри наложенного холста)C#

Место общения программистов C#
Ответить
Anonymous
 Получите позицию UnityEngine.UI.Images в screenSpace и вычислите нормализованное смещение (внутри наложенного холста)

Сообщение Anonymous »

Решаемая проблема:
Упрощенная

С учетом UnityEngine.Ui .Image Как найти положение X,Y
нормализованного смещения (например, 0,4, 0,3 от верхнего левого угла) внутри этого
изображения в единицах ScreenSpace, например 400,300
< /blockquote>
Я думаю, мне нужно найти значение ScreenSpace в верхнем левом углу
, а затем, зная общий размер визуализированного изображения, масштабировать нормализованные смещения на фактическое соотношение размеров, выраженное в пикселях.
Думаю, мне нужно найти значение ScreenSpace в верхнем левом углу
, а затем, зная общий размер визуализированного изображения, масштабировать нормализованные смещения на фактическое соотношение размеров, выраженное в пикселях.
p>
Рисунок 1:
Изображение

На рисунке 2 показаны нормализованные смещения, которые следует использовать.
Рисунок 2:
Изображение


Итак, в точности мне нужно найти смещение в пикселях ScreenSpace topLeft прямоугольника, который я сохранил напротив изображения.

Я понимаю, что это, вероятно, комбинация Camera.main.ViewportToWorldPoint() и некоторых ссылка на границы,
возможно, масштабирование с помощью backgroundImage.sprite.pixelsPerUnit?
Трудно представить, как именно это сделать.
спасибо


Подробнее здесь: https://stackoverflow.com/questions/512 ... rmalised-o
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»