mmd

Three.jsでpmd読み込み
こちらのモデルを使わせていただいております。 threejs_pmd_loader.ts source PmdLoader.ts source 変換せずに直接Pmdを読み込むべくカスタムローダーを作ってみよう。 まず、SJIS操作が必要なのでこちらを使わせて頂いた。 * https://github.com/polygonplanet/encoding.js あとはJSONLoaderを参考にしてArrayBufferから地道に情報を切り出していく。 ArrayBufferから情報を切り出すのはこつがわかれば簡単で以下のようなヘルパークラスを作れば さくさくできる。 BinaryReader class BinaryReader { m_buffer: ArrayBuffer; m_postiion = 0; constructor(buffer: ArrayBuffer) { this.m_buffer = buffer; } read(length: number) { var slice = this.m_buffer.slice(this.m_postiion, this.m_postiion + length); this.m_postiion += length; return slice; } readString(length: number): string { var slice = new Uint8Array(this.read(length)); let i = 0; for (; i < slice.byteLength; ++i) { if (slice[i] == 0) { break; } } return Encoding.