Я хочу создать второй набор UV, а затем переместить каждую вершину UV в объекте по вектору u=0, v=1.0/number of vertices
. Новые координаты вершин UV, созданные для плоскости с 4 вершинами, должны выглядеть так: для вершины 0 (u=0,v=0)
, для вершины 1 (u=0,v=0.25)
, для вершины 2 (u=0,v=0.5)
, для вершины 3 (u=0,v=0.75)
и т. д.
У меня есть исходный код на С#:
Vector2[] UV2 = new Vector2[m.vertexCount];
float HalfTexelSize = (1f/ (float)m.vertexCount)/2f;
for (int i = 0; i < m.vertexCount; i++) {
UV2[i] = new Vector2(0f, (float)i / (float)m.vertexCount) + new Vector2(0f, HalfTexelSize);
}
m.uv2 = UV2;
meshFilter.mesh = m;
Что касается моего исследования, то в Python нет векторов, и теперь я застрял с решением. Пока придумал вот это:
import maya.cmds as cmds
cmds.polyUVSet(create=True, uvSet='map2')
vertexCount = cmds.polyEvaluate(v=True)
vertexCount_float = float(vertexCount)
HalfTextureSize = (1.0/vertexCount/2.0)
x = 1.0/vertexCount
sel = cmds.ls(sl=1, fl=1)
for i in sel:
i=0, i<sel
cmds.polyEditUV(uValue=0.0, vValue=x)
Но на выходе я получаю второй UV-набор с каждой вершиной в (0,0) UV-координатах. Может кто-нибудь мне помочь? Любое решение MEL/Python будет оценено по достоинству.