OSDN Git Service
(root)
/
meshio
/
meshio.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
06e2807
)
fix emmit typo. update maaterial import.
author
ousttrue
<ousttrue@gmail.com>
Sun, 27 Jun 2010 14:26:24 +0000
(23:26 +0900)
committer
ousttrue
<ousttrue@gmail.com>
Sun, 27 Jun 2010 14:26:24 +0000
(23:26 +0900)
include/mqo.h
patch
|
blob
|
history
src/mqo.cpp
patch
|
blob
|
history
swig/blender/bl25.py
patch
|
blob
|
history
swig/blender/mqo_import.py
patch
|
blob
|
history
swig/blender/pmd_export.py
patch
|
blob
|
history
swig/blender/pmd_import.py
patch
|
blob
|
history
diff --git
a/include/mqo.h
b/include/mqo.h
index
b64c7f6
..
ec7a8c9
100644
(file)
--- a/
include/mqo.h
+++ b/
include/mqo.h
@@
-85,7
+85,7
@@
struct Material
RGBA color;
float diffuse;
float ambient;
RGBA color;
float diffuse;
float ambient;
- float em
m
it;
+ float emit;
float specular;
float power;
std::string texture;
float specular;
float power;
std::string texture;
@@
-94,7
+94,7
@@
struct Material
int vcol;
Material()
int vcol;
Material()
- : shader(0), diffuse(1), ambient(0), em
m
it(0), specular(0), power(0),
+ : shader(0), diffuse(1), ambient(0), emit(0), specular(0), power(0),
vcol(0)
{}
vcol(0)
{}
@@
-111,7
+111,7
@@
inline std::ostream &operator<<(std::ostream &os, const Material &rhs)
<< ", color:" << rhs.color
<< ", diffuse:" << rhs.diffuse
<< ", ambient:" << rhs.ambient
<< ", color:" << rhs.color
<< ", diffuse:" << rhs.diffuse
<< ", ambient:" << rhs.ambient
- << ", em
mit:" << rhs.em
mit
+ << ", em
it:" << rhs.e
mit
<< ", specular:" << rhs.specular
<< ", power:" << rhs.power
<< ", texture:\"" << rhs.texture << '"'
<< ", specular:" << rhs.specular
<< ", power:" << rhs.power
<< ", texture:\"" << rhs.texture << '"'
diff --git
a/src/mqo.cpp
b/src/mqo.cpp
index
ee304cd
..
7c6ff3c
100644
(file)
--- a/
src/mqo.cpp
+++ b/
src/mqo.cpp
@@
-307,7
+307,7
@@
private:
material.ambient=splitter.getFloat();
}
else if(key=="emi"){
material.ambient=splitter.getFloat();
}
else if(key=="emi"){
- material.em
m
it=splitter.getFloat();
+ material.emit=splitter.getFloat();
}
else if(key=="spc"){
material.specular=splitter.getFloat();
}
else if(key=="spc"){
material.specular=splitter.getFloat();
diff --git
a/swig/blender/bl25.py
b/swig/blender/bl25.py
index
a72a2be
..
3cfd60c
100755
(executable)
--- a/
swig/blender/bl25.py
+++ b/
swig/blender/bl25.py
@@
-274,9
+274,9
@@
class texture:
texture=texture.recast_type()
image=bpy.data.images.load(path)
texture.image=image
texture=texture.recast_type()
image=bpy.data.images.load(path)
texture.image=image
- texture.mipmap
=
True
- texture.interpolation
=
True
- texture.use_alpha
=
True
+ texture.mipmap
=
True
+ texture.interpolation
=
True
+ texture.use_alpha
=
True
return texture, image
return texture, image
@@
-291,8
+291,10
@@
class material:
@staticmethod
def addTexture(material, texture):
@staticmethod
def addTexture(material, texture):
- #material.add_texture(texture, "UV", {"COLOR", "ALPHA"})
material.add_texture(texture, "UV", "COLOR")
material.add_texture(texture, "UV", "COLOR")
+ slot=material.texture_slots[material.active_texture_index]
+ slot.blend_type='MULTIPLY'
+ slot.map_alpha=True
@staticmethod
def hasTexture(material):
@staticmethod
def hasTexture(material):
@@
-451,8
+453,13
@@
class face:
return face.verts[:]
@staticmethod
return face.verts[:]
@staticmethod
- def getIndices(face):
- return [face.verts[0], face.verts[1], face.verts[2]]
+ def getIndices(face, count=3):
+ if count==3:
+ return [face.verts[0], face.verts[1], face.verts[2]]
+ elif count==4:
+ return [face.verts[0], face.verts[1], face.verts[2], face.verts[3]]
+ else:
+ assert(False)
@staticmethod
def setMaterial(face, material_index):
@staticmethod
def setMaterial(face, material_index):
diff --git
a/swig/blender/mqo_import.py
b/swig/blender/mqo_import.py
index
1124a41
..
630501e
100644
(file)
--- a/
swig/blender/mqo_import.py
+++ b/
swig/blender/mqo_import.py
@@
-46,12
+46,15
@@
if isBlender24():
def createMqoMaterial(m):
\r
material = Blender.Material.New(
\r
m.getName().encode(bl.INTERNAL_ENCODING))
\r
def createMqoMaterial(m):
\r
material = Blender.Material.New(
\r
m.getName().encode(bl.INTERNAL_ENCODING))
\r
- material.mode |= Blender.Material.Modes.SHADELESS
\r
+ #material.mode |= Blender.Material.Modes.SHADELESS
\r
+ # diffuse
\r
material.rgbCol = [m.color.r, m.color.g, m.color.b]
\r
material.alpha = m.color.a
\r
material.rgbCol = [m.color.r, m.color.g, m.color.b]
\r
material.alpha = m.color.a
\r
- material.amb = m.ambient
\r
- material.spec = m.specular
\r
- material.hard = int(255 * m.power)
\r
+ # other
\r
+ material.amb=m.ambient
\r
+ material.spec=m.specular
\r
+ material.hard=int(255 * m.power)
\r
+ material.emit=m.emmit
\r
return material
\r
\r
else:
\r
return material
\r
\r
else:
\r
@@
-64,9
+67,19
@@
else:
\r
def createMqoMaterial(m):
\r
material = bpy.data.materials.new(m.getName())
\r
\r
def createMqoMaterial(m):
\r
material = bpy.data.materials.new(m.getName())
\r
+ # shader
\r
+ if m.shader==1:
\r
+ material.diffuse_shader='FRESNEL'
\r
+ else:
\r
+ material.diffuse_shader='LAMBERT'
\r
+ # diffuse
\r
material.diffuse_color=[m.color.r, m.color.g, m.color.b]
\r
material.diffuse_color=[m.color.r, m.color.g, m.color.b]
\r
- material.alpha=m.color.a
\r
material.diffuse_intensity=m.diffuse
\r
material.diffuse_intensity=m.diffuse
\r
+ material.alpha=m.color.a
\r
+ # other
\r
+ material.ambient = m.ambient
\r
+ #material.specular = m.specular
\r
+ material.emit=m.emit
\r
return material
\r
\r
\r
return material
\r
\r
\r
@@
-144,9
+157,9
@@
def __createObjects(mqo, root, materials, imageMap, scale):
if o.getName().startswith('sdef'):
\r
objects.append(mesh_object)
\r
elif o.getName().startswith('anchor'):
\r
if o.getName().startswith('sdef'):
\r
objects.append(mesh_object)
\r
elif o.getName().startswith('anchor'):
\r
- bl.object.
l
ayerMask(mesh_object, [0, 1])
\r
+ bl.object.
setL
ayerMask(mesh_object, [0, 1])
\r
elif o.getName().startswith('bone'):
\r
elif o.getName().startswith('bone'):
\r
- bl.object.
l
ayerMask(mesh_object, [0, 1])
\r
+ bl.object.
setL
ayerMask(mesh_object, [0, 1])
\r
\r
# geometry
\r
vertices=[(v.x * scale, -v.z * scale, v.y * scale) for v in o.vertices]
\r
\r
# geometry
\r
vertices=[(v.x * scale, -v.z * scale, v.y * scale) for v in o.vertices]
\r
@@
-175,6
+188,7
@@
def __createObjects(mqo, root, materials, imageMap, scale):
bl.mesh.addUV(mesh)
\r
for i, (f, face) in enumerate(zip(o.faces, mesh.faces)):
\r
uv_array=[]
\r
bl.mesh.addUV(mesh)
\r
for i, (f, face) in enumerate(zip(o.faces, mesh.faces)):
\r
uv_array=[]
\r
+ # ToDo FIX
\r
# flip face
\r
for j in reversed(range(f.index_count)):
\r
uv_array.append((f.getUV(j).x, 1.0-f.getUV(j).y))
\r
# flip face
\r
for j in reversed(range(f.index_count)):
\r
uv_array.append((f.getUV(j).x, 1.0-f.getUV(j).y))
\r
@@
-186,7
+200,7
@@
def __createObjects(mqo, root, materials, imageMap, scale):
\r
# mirror modifier
\r
if o.mirror:
\r
\r
# mirror modifier
\r
if o.mirror:
\r
- bl.
object.addMirrorModifie
r(mesh_object)
\r
+ bl.
modifier.addMirro
r(mesh_object)
\r
\r
# set smoothing
\r
bl.mesh.setSmooth(mesh, o.smoothing)
\r
\r
# set smoothing
\r
bl.mesh.setSmooth(mesh, o.smoothing)
\r
diff --git
a/swig/blender/pmd_export.py
b/swig/blender/pmd_export.py
index
1a0f416
..
d3a9a1e
100644
(file)
--- a/
swig/blender/pmd_export.py
+++ b/
swig/blender/pmd_export.py
@@
-104,7
+104,7
@@
else:
material.diffuse.b=m.diffuse_color[2]
material.diffuse.a=m.alpha
# specular
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]
material.specular.r=m.specular_color[0]
material.specular.g=m.specular_color[1]
material.specular.b=m.specular_color[2]
diff --git
a/swig/blender/pmd_import.py
b/swig/blender/pmd_import.py
index
f96d0bf
..
4b03500
100755
(executable)
--- a/
swig/blender/pmd_import.py
+++ b/
swig/blender/pmd_import.py
@@
-84,12
+84,12
@@
if isBlender24():
#material.setSpecSize(0)
#material.setSpec(0)
# shader
#material.setSpecSize(0)
#material.setSpec(0)
# shader
- material.setDiffuseShader(Blender.Material.Shaders.DIFFUSE_TOON)
- material.setSpecShader(Blender.Material.Shaders.SPEC_TOON)
# diffuse
# diffuse
+ material.setDiffuseShader(Blender.Material.Shaders.DIFFUSE_TOON)
material.setRGBCol([m.diffuse.r, m.diffuse.g, m.diffuse.b])
material.setAlpha(m.diffuse.a)
# specular
material.setRGBCol([m.diffuse.r, m.diffuse.g, m.diffuse.b])
material.setAlpha(m.diffuse.a)
# specular
+ material.setSpecShader(Blender.Material.Shaders.SPEC_TOON)
material.setSpec(m.shinness*0.1)
material.setSpecCol([m.specular.r, m.specular.g, m.specular.b])
# ambient
material.setSpec(m.shinness*0.1)
material.setSpecCol([m.specular.r, m.specular.g, m.specular.b])
# ambient
@@
-125,21
+125,22
@@
else:
def createPmdMaterial(m, index):
material = bpy.data.materials.new("Material")
def createPmdMaterial(m, index):
material = bpy.data.materials.new("Material")
- # set shader
- material.diffuse_shader='FRESNEL'
- material.specular_shader='TOON'
# diffuse
# diffuse
+ material.diffuse_shader='FRESNEL'
material.diffuse_color=([m.diffuse.r, m.diffuse.g, m.diffuse.b])
material.alpha=m.diffuse.a
# specular
material.diffuse_color=([m.diffuse.r, m.diffuse.g, m.diffuse.b])
material.alpha=m.diffuse.a
# specular
- material.specular_
hardness=int(m.shinness)
+ material.specular_
shader='TOON'
material.specular_color=([m.specular.r, m.specular.g, m.specular.b])
material.specular_color=([m.specular.r, m.specular.g, m.specular.b])
+ material.specular_toon_size=int(m.shinness)
# ambient
material.mirror_color=([m.ambient.r, m.ambient.g, m.ambient.b])
# flag
material.subsurface_scattering.enabled=True if m.flag==1 else False
# ambient
material.mirror_color=([m.ambient.r, m.ambient.g, m.ambient.b])
# flag
material.subsurface_scattering.enabled=True if m.flag==1 else False
- #
name
+ #
other
material.name="m_%02d" % index
material.name="m_%02d" % index
+ material.preview_render_type='FLAT'
+ material.transparency=True
return material
def poseBoneLimit(n, b):
return material
def poseBoneLimit(n, b):