なんとなくRubyでMMDを読み込んでみることにした。まずはPMDのヘッダのみ。MMDはこちら
require 'kconv' class MMDHeader attr_reader :magic attr_reader :version attr_reader :name attr_reader :comment def load(io) @magic = io.read(3) @version = io.read(4).unpack("f")[0] @name = io.read(20) @comment = io.read(256) end end File.open("./model/miku.pmd", "rb"){|file| header = MMDHeader.new() header.load(file) puts header.magic puts header.version puts header.name.toutf8() puts header.comment.toutf8() }
参考
Rubyでバイナリのfloatを扱うには
MMDのモデルデータ(PMD)形式 めも
Ruby/てっとり早く文字コードを変換したい