Что делает RectTransform.GetWorldCorners () под капотом?Это дорого? - PullRequest
2 голосов
/ 15 мая 2019

Что метод Unity 2D UI RectTransform.GetWorldCorners () делает под капотом?Я беспокоюсь о том, что это дорого.Использует ли он Raycasting для нахождения углов мира?

К вашему сведению: я использую холст с режимом рендеринга "Пространство экрана - Камера"

1 Ответ

3 голосов
/ 15 мая 2019

Я проверил исходный код, сгенерированный моей IDE, и RectTransform.GetWorldCorners() не выполняет никаких радиопередач. Это шаги, которые он выполняет, чтобы получить уголки мира.

  1. Звонит RectTransform.GetLocalCorners() и получает местные углы от RectTransform.rect.
  2. Каждая из локальных угловых точек умножается на transform.localToWorldMatrix матрицу.

Так что, очевидно, этот метод относительно недорогой для использования, но всегда кэшируйте результат, пока вы не внесете какие-либо изменения в RectTransform.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...