if bl.objectHasShapeKey(obj):
# base
for b in bl.objectShapeKeys(obj):
- if b.name=='Basis':
+ if b.name==BASE_SHAPE_NAME:
print(b.name)
baseMorph=self.__getOrCreateMorph('base', 0)
relativeIndex=0
basis=b
for index in bl.meshVertexGroup(obj, MMD_SHAPE_GROUP_NAME):
- v=b.data[index]
+ v=bl.shapeKeyGet(b, index)
pos=[v[0], v[1], v[2]]
indices=self.vertexArray.getMappedIndices(index)
for i in indices:
baseMorph.sort()
# shape keys
- vg=obj.getData(mesh=True).getVertsFromGroup(
- MMD_SHAPE_GROUP_NAME)
- for b in obj.getData(mesh=True).key.blocks:
- if b.name=='Basis':
+ vg=bl.meshVertexGroup(obj, MMD_SHAPE_GROUP_NAME)
+ for b in bl.objectShapeKeys(obj):
+ if b.name==BASE_SHAPE_NAME:
continue
print(b.name)
morph=self.__getOrCreateMorph(b.name, 4)
for index, src, dst in zip(
xrange(len(blenderMesh.verts)),
- basis.data,
- b.data):
+ bl.shapeKeys(basis),
+ bl.shapeKeys(b)):
offset=[dst[0]-src[0], dst[1]-src[1], dst[2]-src[2]]
if index in vg:
indices=self.vertexArray.getMappedIndices(index)
for i in indices:
morph.add(indexRelativeMap[i], offset)
- assert(len(morph.offsets)==len(baseMorph.offsets))
+ #assert(len(morph.offsets)==len(baseMorph.offsets))
# sort skinmap
original=self.morphList[:]
v=englishmap.getUnicodeSkinName(m.name)
assert(v)
cp932=v[1].encode('cp932')
- morph.name="%s\n" % cp932
-
- morph.english_name="%s\n" % m.name
+ morph.setName(cp932)
+ morph.setEnglishName(m.name.encode('cp932'))
m.type=v[2]
morph.type=v[2]
for index, offset in m.offsets:
boneDisplayName.name=name.decode('utf-8').encode('cp932')
boneDisplayName.english_name=english
else:
- # ToDo
- boneDisplayName.name=english
- boneDisplayName.english_name=english
+ boneDisplayName.setName(name.encode('cp932'))
+ boneDisplayName.setEnglishName(english.encode('cp932'))
boneDisplayName=createBoneDisplayName("IK\n", "IK\n")
boneDisplayName=createBoneDisplayName("体(上)\n", "Body[u]\n")
boneDisplayName=createBoneDisplayName("髪\n", "Hair\n")