OSDN Git Service
(root)
/
meshio
/
meshio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix.
[meshio/meshio.git]
/
swig
/
blender
/
pmd_export.py
diff --git
a/swig/blender/pmd_export.py
b/swig/blender/pmd_export.py
index
433cf5b
..
2e8703d
100644
(file)
--- a/
swig/blender/pmd_export.py
+++ b/
swig/blender/pmd_export.py
@@
-374,7
+374,6
@@
class OneSkinMesh(object):
# base
for b in bl.objectShapeKeys(obj):
if b.name==BASE_SHAPE_NAME:
# base
for b in bl.objectShapeKeys(obj):
if b.name==BASE_SHAPE_NAME:
- print(b.name)
baseMorph=self.__getOrCreateMorph('base', 0)
relativeIndex=0
basis=b
baseMorph=self.__getOrCreateMorph('base', 0)
relativeIndex=0
basis=b
@@
-390,6
+389,7
@@
class OneSkinMesh(object):
break
assert(basis)
break
assert(basis)
+ print(basis.name, len(baseMorph.offsets))
if(len(baseMorph.offsets)>0):
baseMorph.sort()
if(len(baseMorph.offsets)>0):
baseMorph.sort()
@@
-407,11
+407,12
@@
class OneSkinMesh(object):
bl.shapeKeys(basis),
bl.shapeKeys(b)):
offset=[dst[0]-src[0], dst[1]-src[1], dst[2]-src[2]]
bl.shapeKeys(basis),
bl.shapeKeys(b)):
offset=[dst[0]-src[0], dst[1]-src[1], dst[2]-src[2]]
+ if offset[0]==0 and offset[1]==0 and offset[2]==0:
+ continue
if index in vg:
indices=self.vertexArray.getMappedIndices(index)
for i in indices:
morph.add(indexRelativeMap[i], offset)
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))
# sort skinmap
original=self.morphList[:]
# sort skinmap
original=self.morphList[:]
@@
-610,6
+611,7
@@
class PmdExporter(object):
for node in object_node_map.values():
if node.o.parent:
object_node_map[node.o.parent].children.append(node)
for node in object_node_map.values():
if node.o.parent:
object_node_map[node.o.parent].children.append(node)
+
# ルートを得る
root=object_node_map[scene.objects.active]
# ルートを得る
root=object_node_map[scene.objects.active]
@@
-717,13
+719,9
@@
class PmdExporter(object):
assert(i<vertexCount)
for i in xrange(0, len(indices), 3):
# reverse triangle
assert(i<vertexCount)
for i in xrange(0, len(indices), 3):
# reverse triangle
- io.indices.append(indices[i+2])
- io.indices.append(indices[i+1])
io.indices.append(indices[i])
io.indices.append(indices[i])
-
- #io.indices.append(indices[i])
- #io.indices.append(indices[i+1])
- #io.indices.append(indices[i+2])
+ io.indices.append(indices[i+1])
+ io.indices.append(indices[i+2])
# bones
for b in self.builder.bones:
# bones
for b in self.builder.bones:
@@
-907,6
+905,10
@@
def getBoneDisplayGroup(bone):
def __execute(filename, scene):
def __execute(filename, scene):
+ if not scene.objects.active:
+ print("abort. no active object.")
+ return
+
exporter=PmdExporter()
exporter.setup(scene)
exporter.write(filename)
exporter=PmdExporter()
exporter.setup(scene)
exporter.write(filename)