之前写了一篇PMX格式解析过程,感觉好像不容易看懂,今天无聊,照着上篇文章用Python写了pmx加载读取方法。虽然只读取了pmx文件前部分的顶点数据和面数据,但综合上篇文章,自己对照研究一下,应该对读取pmx完整文件理解和使用起来没有什么压力。
代码已经使用测试过,包括上篇文章检查测试目前没有发现问题。
以下代码只要根据自己 *.pmx 文件位置,改一下源码末尾的pmx文件路径就能运行
import os
import struct
def readStr(f,size):
return bytes.decode(f.read(size))
def readStr_4size(f):
size = int.from_bytes(f.read(4),"little")
return str(f.read(size))
def read1(f):
return f.read(1)[0]
def read4(f):
return int.from_bytes(f.read(4),"little")
def readX(f,size):
return int.from_bytes(f.read(size),"little")
def read4float(f):
return struct.unpack('f',f.read(4))[0]
def readX_float(f,size):
if size == 4:
return struct.unpack('f',f.read(4))[0]
class PmxData:
文件标头 = "PMX "#通常固定
版本号 = None # byte.4 = 2; // 通常为2
数据列字节尺寸 = None # byte1 数据列字节尺寸 = 8; // 通常固定
编码方式 = None #