mirror of
https://git.mirrors.martin98.com/https://github.com/google/draco
synced 2025-08-11 23:29:03 +08:00
Fixed uv in maya importer, code refactoring
This commit is contained in:
parent
3597709dc8
commit
8522e990b9
@ -95,8 +95,7 @@ class DracoTranslator(OpenMayaMPx.MPxFileTranslator):
|
||||
normals = []
|
||||
us = OpenMaya.MFloatArray()
|
||||
vs = OpenMaya.MFloatArray()
|
||||
newMesh = None
|
||||
fnMesh = OpenMaya.MFnMesh()
|
||||
poly_count = [3] * mesh.faces_num
|
||||
for n in range(mesh.vertices_num):
|
||||
i = 3 * n
|
||||
vertices.append(OpenMaya.MPoint(mesh.vertices[i], mesh.vertices[i + 1], mesh.vertices[i + 2]))
|
||||
@ -104,20 +103,19 @@ class DracoTranslator(OpenMayaMPx.MPxFileTranslator):
|
||||
normals.append(OpenMaya.MFloatVector(mesh.normals[i], mesh.normals[i + 1], mesh.normals[i + 2]))
|
||||
if mesh.uvs:
|
||||
i = 2 * n
|
||||
us.append(float(mesh.uvs[i]))
|
||||
vs.append(float(mesh.uvs[i + 1]))
|
||||
|
||||
poly_count = [3] * mesh.faces_num
|
||||
us.append(mesh.uvs[i])
|
||||
vs.append(mesh.uvs[i + 1])
|
||||
|
||||
#create mesh
|
||||
if mesh.uvs:
|
||||
#TODO: ensure the mesh actually uses the uvs inside maya
|
||||
newMesh = fnMesh.create(vertices, poly_count, mesh.faces, uValues=us, vValues=vs)
|
||||
else:
|
||||
newMesh = fnMesh.create(vertices, poly_count, mesh.faces)
|
||||
fnMesh = OpenMaya.MFnMesh()
|
||||
newMesh = fnMesh.create(vertices, poly_count, mesh.faces)
|
||||
|
||||
if mesh.normals:
|
||||
fnMesh.setVertexNormals(normals, range(len(vertices)))
|
||||
if mesh.uvs:
|
||||
uvSetsNames = fnMesh.getUVSetNames()
|
||||
fnMesh.setUVs(us, vs, uvSetsNames[0])
|
||||
fnMesh.assignUVs(poly_count, mesh.faces)
|
||||
|
||||
fnMesh.updateSurface()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user