Как получить пространство объекта в шейдере из образа пользовательского интерфейса (DisableBatching, похоже, не работает) - PullRequest
0 голосов
/ 12 апреля 2019

У меня очень простая сцена с изображением и холстом (его родитель). На изображении есть шейдер, все, что он делает, это умножает vertex.x на 2 (находясь в пространстве объектов) перед тем, как перевести его в пространство клипа. Результат следующий: enter image description here

Кажется, что изображение использовало объектное пространство холста вместо своего собственного для умножения.

Весь шейдер выглядит так: enter image description here

Я пытался использовать тег «DisableBatching» = «True», чтобы сохранить пространство объекта изображения в шейдере, но безуспешно. Даже пробовал с разными версиями единства. (Да, я отчаялся здесь: D)

Спасибо за любые идеи заранее.

1 Ответ

0 голосов
/ 29 апреля 2019

Данные вершин системы пользовательского интерфейса уже предоставлены относительно экрана, с (0, 0) в центре и, по моему опыту, с правым верхним углом (screen.width / 2, screen.height / 2). Однако это может измениться в зависимости от платформы или настроек холста.

Это поведение, которое вы здесь видите, координата x масштабируется на 2 относительно центра вашего холста (что, скорее всего, будет продолжением вашего экрана в игровом представлении).

Само по себе "объектного пространства" не существует, вам нужно будет передавать дополнительные данные (т.е. в координате текстуры) в зависимости от ваших потребностей.

...