Camera.pixel (Height / Width) не соответствует размеру Canvas Unity

Я делаю приложение, у которого есть собственный видовой экран Rect:

введите описание изображения здесь

Когда я проверяю размеры этого прямоугольника viewport в пикселях со следующей функцией в c #: Camera.pixelHeight; Camera.pixelWidthя получаю следующие значения: 743px, 770px.

Это выглядит правильно. Теперь, когда я проверяю свой холст в редакторе, я вижу следующие значения для ширины и высоты. См. Img ниже

введите описание изображения здесь

Нет, у меня есть скрипт, который получает ширину и высоту Canvas. Это правильно, я снова получаю 743px и 770px. Но когда я позиционирую свой элемент пользовательского интерфейса, он выходит за пределы, потому что позиционирование ссылается на неверные значения, отображаемые в свойствах Canvas Rect Transform.

Изменить:
Возможно, это связано с тем, как я позиционирую элемент. Я делаю это следующим образом:

sl.position = new Vector3(200, -200, 0);

это положение должно быть относительно точки привязки этого элемента на холсте.

Что здесь происходит и как сделать холст использовать правильные значения?

c#,unity3d,canvas,viewport,

0

Ответов: 0

Camera.pixel (Height / Width) не соответствует размеру Canvas Unity

Я делаю приложение, у которого есть собственный видовой экран Rect:

введите описание изображения здесь

Когда я проверяю размеры этого прямоугольника viewport в пикселях со следующей функцией в c #: Camera.pixelHeight; Camera.pixelWidthя получаю следующие значения: 743px, 770px.

Это выглядит правильно. Теперь, когда я проверяю свой холст в редакторе, я вижу следующие значения для ширины и высоты. См. Img ниже

введите описание изображения здесь

Нет, у меня есть скрипт, который получает ширину и высоту Canvas. Это правильно, я снова получаю 743px и 770px. Но когда я позиционирую свой элемент пользовательского интерфейса, он выходит за пределы, потому что позиционирование ссылается на неверные значения, отображаемые в свойствах Canvas Rect Transform.

Изменить:
Возможно, это связано с тем, как я позиционирую элемент. Я делаю это следующим образом:

sl.position = new Vector3(200, -200, 0);

это положение должно быть относительно точки привязки этого элемента на холсте.

Что здесь происходит и как сделать холст использовать правильные значения?

00C #, Unity3D, холст, окно просмотра,
Похожие вопросы