1.2 20100616: implement rigid body.
1.3 20100619: fix rigid body, bone weight.
1.4 20100626: refactoring.
+1.5 20100629: sphere map.
"""
MMD_SHAPE_GROUP_NAME='_MMD_SHAPE'
# flag
material.flag=1 if m.enableSSS else 0
+ def toCP932(s):
+ return s
+
+
else:
# for 2.5
import bpy
material.diffuse.b=m.diffuse_color[2]
material.diffuse.a=m.alpha
# specular
- material.sinness=0 if m.specular_hardness<1e-5 else m.specular_hardness*10
+ material.sinness=0 if m.specular_toon_size<1e-5 else m.specular_hardness*10
material.specular.r=m.specular_color[0]
material.specular.g=m.specular_color[1]
material.specular.b=m.specular_color[2]
# flag
material.flag=1 if m.subsurface_scattering.enabled else 0
+ def toCP932(s):
+ return s.encode('cp932')
+
+
class Node(object):
__slots__=['o', 'children']
def __init__(self, o):
if v[0]==morph.name:
return i
print(morph)
+ return len(englishmap.skinMap)
if isBlender24():
self.morphList.sort(lambda l, r: getIndex(l)-getIndex(r))
else:
if k_v[0]==bone.name:
return i
print(bone)
+ return len(boneMap)
if isBlender24():
self.bones.sort(lambda l, r: getIndex(l)-getIndex(r))
material.vertex_count=len(indices)
material.toon_index=0
- # ToDo
- material.texture=""
+ textures=[os.path.basename(path)
+ for path in bl.material.eachTexturePath(m)]
+ if len(textures)>0:
+ material.setTexture(toCP932('*'.join(textures)))
# 面
for i in indices:
assert(i<vertexCount)
# name
boneNameMap[b.name]=i
v=englishmap.getUnicodeBoneName(b.name)
+ if not v:
+ v=[b.name, b.name]
assert(v)
cp932=v[1].encode('cp932')
assert(len(cp932)<20)
morph=io.addMorph()
v=englishmap.getUnicodeSkinName(m.name)
+ if not v:
+ v=[m.name, m.name, 0]
assert(v)
cp932=v[1].encode('cp932')
morph.setName(cp932)
return index
index+=1
print(bone)
- return -1
+ return 0
def __execute(filename, scene):