Skip to content

INPデータ置換フォーマット

Luna edited this page Sep 3, 2021 · 2 revisions

INPデータ置換フォーマット

INP

INP(Inochi Puppet)は、Inochi2Dパペットデータを置換するためのフォーマットです。VRM/gITFと似た形式です。

注意*: Inochi2Dに新しい機能が追加された場合、本フォーマットは変更されることがあります。*

フォーマットレイアウト

注意*: 数字はビッグエンディアンでエンコードされます。*

長さ(バイト) コンテンツ 備考
8 TRNSRTS\0 INPファイルのマジックバイト。INPローダーにそれがINPファイルであることを伝える (Trans Rights!)
4 JSONペイロードの長さ
ペイロードの長さ JSONデータ 全モデルデータを含む内部JSONデータ
8 TEX_SECT テクスチャセクションヘッダ
4 テクスチャカウント テクスチャセクションに格納されているテクスチャの数量
テクスチャブロブの終わりまで テクスチャブロブ テクスチャブロブセクションは、パペットのテクスチャIDの後に順序付けられたパペットへのテクスチャブロブを含む
8 EXT_ESCT (任意)アプリケーションが規定するパペットの設定のための任意のEXTended Vendor Dataセクション
4 ペイロードカウント (EXTが存在する場合)このEXTセクション中のJSONペイロードの数量
EXTセクションの終わりまで EXTセクションブロブ (EXTが存在する場合)このEXTセクションのEXTセクションブロブ

テクスチャブロブ

テクスチャブロブの各テクスチャのエントリーには以下のエンコーディングがあります。

長さ(バイト) コンテンツ 備考
4 テクスチャペイロードの長さ
1 テクスチャエンコーディングタイプ 使用されているテクスチャエンコーディングを定義する。テクスチャエンコーディングの項を参照
ペイロードの長さ テクスチャデータ

EXTended Vendor Data ブロブ

長さ(バイト) コンテンツ 備考
4 名前の長さ EXTペイロードの名前の長さ
名前の長さ 名前 EXTペイロードの名前
4 ペイロードの長さ EXTペイロードの長さ
ペイロードの長さ ペイロード EXTペイロードのJSONコンテンツ

テクスチャエンコーディング

Inochi2Dは次の3種類のテクスチャフォーマットに対応しています。

ID Format
0 PNG - ポータブル・ネットワーク・グラフィックス(非可逆圧縮)
1 TGA - トゥルーヴィジョン・グラフィックス・アダプター(可逆圧縮)
2 BC7 - BPTCテクスチャコンプレッション(非可逆圧縮)