Скажем, у вас есть тривиальный шейдер Unity. Он вообще не использует никаких текстур. Он просто захватывает позицию ..
void vert (inout appdata_full v, out Input o)
{
UNITY_INITIALIZE_OUTPUT(Input,o);
o.localPos = v.vertex.xyz;
}
, а затем рисует квадрат ..
квадрат в примере был растянут примерно на 3: 1 с помощью преобразования.
Если бы в шейдере мы просто знали масштабирование (или просто отношения), мы могли бы очень легко нарисовать «квадратные квадраты»
Это, очевидно, обычная повседневная техника для таких вещей, как рекламный щит, 2D-изображения и фон и т. Д.
В текущем единстве (2018), как, черт возьми, вы просто получаете текущее масштабирование объекта, в Cg?
Это одна из тех сумасшедших вещей Unity, которая (1) совершенно недокументирована (2) где единственная доступная информация о ней - это 13 лет , я имею в виду, что некоторые из вовлеченных людей могут быть умершим (3), он сильно изменился в разных версиях Unity, поэтому часто обсуждение этого вопроса совершенно неверно. Вздох.
Как это сделать? Вы можете?
В настоящее время у меня просто тривиальный сценарий передачи значения, что нормально, но немного дрянно.