Формат вершин Unity Shader в Surface Shader - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь использовать данные вершин в поверхностном шейдере, чтобы получить угол. У меня камера с центром в 0,0. В какой системе координат v.vertex находится в функции вершины?

#pragma surface surf Lambert vertex:vert nolightmap 

void vert (inout appdata_full v, out Input o) 
    {
        o.svc =(1-(_vc*v.vertex.z)/sqrt(pow(v.vertex.x,2) + pow(v.vertex.y,2) + pow(v.vertex.z,2)))/sqrt( 1 - _vc  * _vc);
    }

Я думал, что это будет мировая система координат, но я получаю разные результаты для объектов, которые повернуты в единое целое, по сравнению с объектами, которые вращаются в 3DS Max заранее, чтобы они выглядели одинаково по вершинам. Какие данные я на самом деле получаю с v.vertex.xyz?

1 Ответ

1 голос
/ 23 марта 2012

Объект / Модель / Локальное пространство.Единственный случай, когда это не будет полностью верно, это для пакетных сеток.Пакетирование помещает все соответствующие сетки в одно и то же пространство, которое совпадает с мировым пространством.

...