OSDN Git Service
(root)
/
meshio
/
pymeshio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implement pmx.writer
[meshio/pymeshio.git]
/
pymeshio
/
pmd
/
writer.py
diff --git
a/pymeshio/pmd/writer.py
b/pymeshio/pmd/writer.py
index
b1340c4
..
0e7ec0d
100644
(file)
--- a/
pymeshio/pmd/writer.py
+++ b/
pymeshio/pmd/writer.py
@@
-1,11
+1,11
@@
# coding: utf-8
\r
import io
\r
import struct
\r
# coding: utf-8
\r
import io
\r
import struct
\r
-
import pymeshio.
common
\r
-
import pymeshio.
pmd
\r
+
from .. import
common
\r
+
from .. import
pmd
\r
\r
\r
\r
\r
-class Writer(
pymeshio.
common.BinaryWriter):
\r
+class Writer(common.BinaryWriter):
\r
def write_veritices(self, vertices):
\r
self.write_uint(len(vertices), 4)
\r
for v in vertices:
\r
def write_veritices(self, vertices):
\r
self.write_uint(len(vertices), 4)
\r
for v in vertices:
\r
@@
-32,14
+32,14
@@
class Writer(pymeshio.common.BinaryWriter):
self.write_uint(m.toon_index, 1)
\r
self.write_uint(m.edge_flag, 1)
\r
self.write_uint(m.vertex_count, 4)
\r
self.write_uint(m.toon_index, 1)
\r
self.write_uint(m.edge_flag, 1)
\r
self.write_uint(m.vertex_count, 4)
\r
- self.write_
text
(m.texture_file, 20)
\r
+ self.write_
bytes
(m.texture_file, 20)
\r
\r
def write_bones(self, bones):
\r
self.write_uint(len(bones), 2)
\r
sBone=struct.Struct("=20sHHBH3f")
\r
assert(sBone.size==39)
\r
for b in bones:
\r
\r
def write_bones(self, bones):
\r
self.write_uint(len(bones), 2)
\r
sBone=struct.Struct("=20sHHBH3f")
\r
assert(sBone.size==39)
\r
for b in bones:
\r
- self.write_
text
(b.name, 20)
\r
+ self.write_
bytes
(b.name, 20)
\r
self.write_uint(b.parent_index, 2)
\r
self.write_uint(b.tail_index, 2)
\r
self.write_uint(b.type, 1)
\r
self.write_uint(b.parent_index, 2)
\r
self.write_uint(b.tail_index, 2)
\r
self.write_uint(b.type, 1)
\r
@@
-59,7
+59,7
@@
class Writer(pymeshio.common.BinaryWriter):
def write_morphs(self, morphs):
\r
self.write_uint(len(morphs), 2)
\r
for morph in morphs:
\r
def write_morphs(self, morphs):
\r
self.write_uint(len(morphs), 2)
\r
for morph in morphs:
\r
- self.write_
text
(morph.name, 20)
\r
+ self.write_
bytes
(morph.name, 20)
\r
self.write_uint(len(morph.indices), 4)
\r
self.write_uint(morph.type, 1)
\r
for i, v in zip(morph.indices, morph.pos_list):
\r
self.write_uint(len(morph.indices), 4)
\r
self.write_uint(morph.type, 1)
\r
for i, v in zip(morph.indices, morph.pos_list):
\r
@@
-73,7
+73,7
@@
class Writer(pymeshio.common.BinaryWriter):
def write_bone_group_list(self, bone_group_list):
\r
self.write_uint(len(bone_group_list), 1)
\r
for g in bone_group_list:
\r
def write_bone_group_list(self, bone_group_list):
\r
self.write_uint(len(bone_group_list), 1)
\r
for g in bone_group_list:
\r
- self.write_
text(g
, 50)
\r
+ self.write_
bytes(g.name
, 50)
\r
\r
def write_bone_display_list(self, bone_display_list):
\r
self.write_uint(len(bone_display_list), 4)
\r
\r
def write_bone_display_list(self, bone_display_list):
\r
self.write_uint(len(bone_display_list), 4)
\r
@@
-84,7
+84,7
@@
class Writer(pymeshio.common.BinaryWriter):
def write_rigidbodies(self, rigidbodies):
\r
self.write_uint(len(rigidbodies), 4)
\r
for r in rigidbodies:
\r
def write_rigidbodies(self, rigidbodies):
\r
self.write_uint(len(rigidbodies), 4)
\r
for r in rigidbodies:
\r
- self.write_
text
(r.name, 20)
\r
+ self.write_
bytes
(r.name, 20)
\r
self.write_uint(r.bone_index, 2)
\r
self.write_uint(r.collision_group, 1)
\r
self.write_uint(r.no_collision_group, 2)
\r
self.write_uint(r.bone_index, 2)
\r
self.write_uint(r.collision_group, 1)
\r
self.write_uint(r.no_collision_group, 2)
\r
@@
-102,7
+102,7
@@
class Writer(pymeshio.common.BinaryWriter):
def write_joints(self, joints):
\r
self.write_uint(len(joints), 4)
\r
for j in joints:
\r
def write_joints(self, joints):
\r
self.write_uint(len(joints), 4)
\r
for j in joints:
\r
- self.write_
text
(j.name, 20)
\r
+ self.write_
bytes
(j.name, 20)
\r
self.write_uint(j.rigidbody_index_a, 4)
\r
self.write_uint(j.rigidbody_index_b, 4)
\r
self.write_vector3(j.position)
\r
self.write_uint(j.rigidbody_index_a, 4)
\r
self.write_uint(j.rigidbody_index_b, 4)
\r
self.write_vector3(j.position)
\r
@@
-117,12
+117,12
@@
class Writer(pymeshio.common.BinaryWriter):
\r
def write(ios, model):
\r
assert(isinstance(ios, io.IOBase))
\r
\r
def write(ios, model):
\r
assert(isinstance(ios, io.IOBase))
\r
- assert(isinstance(model, p
ymeshio.p
md.Model))
\r
+ assert(isinstance(model, pmd.Model))
\r
writer=Writer(ios)
\r
writer=Writer(ios)
\r
- writer.write_
text
(b"Pmd")
\r
+ writer.write_
bytes
(b"Pmd")
\r
writer.write_float(model.version)
\r
writer.write_float(model.version)
\r
- writer.write_
text
(model.name, 20)
\r
- writer.write_
text
(model.comment, 256)
\r
+ writer.write_
bytes
(model.name, 20)
\r
+ writer.write_
bytes
(model.comment, 256)
\r
writer.write_veritices(model.vertices)
\r
writer.write_indices(model.indices)
\r
writer.write_materials(model.materials)
\r
writer.write_veritices(model.vertices)
\r
writer.write_indices(model.indices)
\r
writer.write_materials(model.materials)
\r
@@
-134,18
+134,18
@@
def write(ios, model):
writer.write_bone_display_list(model.bone_display_list)
\r
# extend data
\r
writer.write_uint(1, 1)
\r
writer.write_bone_display_list(model.bone_display_list)
\r
# extend data
\r
writer.write_uint(1, 1)
\r
- writer.write_
text
(model.english_name, 20)
\r
- writer.write_
text
(model.english_comment, 256)
\r
+ writer.write_
bytes
(model.english_name, 20)
\r
+ writer.write_
bytes
(model.english_comment, 256)
\r
for bone in model.bones:
\r
for bone in model.bones:
\r
- writer.write_
text
(bone.english_name, 20)
\r
+ writer.write_
bytes
(bone.english_name, 20)
\r
for skin in model.morphs:
\r
if skin.name==b'base':
\r
continue
\r
for skin in model.morphs:
\r
if skin.name==b'base':
\r
continue
\r
- writer.write_
text
(skin.english_name, 20)
\r
- for
english in model.bone_group_english
_list:
\r
- writer.write_
text(english
, 50)
\r
+ writer.write_
bytes
(skin.english_name, 20)
\r
+ for
g in model.bone_group
_list:
\r
+ writer.write_
bytes(g.english_name
, 50)
\r
for toon_texture in model.toon_textures:
\r
for toon_texture in model.toon_textures:
\r
- writer.write_
text
(toon_texture, 100)
\r
+ writer.write_
bytes
(toon_texture, 100)
\r
writer.write_rigidbodies(model.rigidbodies)
\r
writer.write_joints(model.joints)
\r
return True
\r
writer.write_rigidbodies(model.rigidbodies)
\r
writer.write_joints(model.joints)
\r
return True
\r