Skip to content

JSONデータスペック

Luna edited this page Sep 3, 2021 · 1 revision

JSONデータスペック

目次

  • パペット
    • パペットメタ
  • ノード
    • ノード
      • ドローアブル
        • パート
        • マスク
      • パス変形
        • ジョイントバインディングデータ
  • ノードデータ
    • メッシュデータ
    • UUIDs
    • マスキングモード
  • Math、その他
    • トランスフォーム
    • vec2
    • vec3
    • size_t

パペット

パペット

パペットはシーン中のすべてのパペットの根本となります。

タイプ タグ
パペットメタ meta パペットのメタデータ
ノード nodes 自動的に生成されるルートノードから始まるノードのツリー

パペットメタ

パペットのmetaセクションはパペットのメタ情報を含みます。

タイプ タグ
string name パペットの名前
string version パペットの出力に使用されるInochi2Dのsemverバージョン
string[] authors パペットの製作に貢献した製作者の配列
string copyright (任意)パペットのコピーライトstring。通常は最初の製作者
string contact (任意)(最初の)製作者の連絡先情報。通常はメールアドレス
string reference (任意)パペットの配布場所のURI(BOOTH等)
uint thumbnail_id (任意)サムネイルに用いられるテクスチャのID

ノード

ノード

注:すべての下位ノードはノードからの値を継承します。

タイプ タグ
string type ノードのType ID
UUID uuid ノードのユニークID
string name (任意)ノードの名前
bool enabled ノードが有効かどうか
float zsort Zソーティングの基底の値
Transform transform ノードのトランスフォーム
Node[] children 子のノード

ドローアブル

ノードから継承されます。

注:すべての下位ノードはドローアブルから継承されます。

タイプ タグ
メッシュデータ mesh このドローアブルのメッシュデータ

パーツ

ドローアブルから継承されます。

注:このノードは変更される場合があります

タイプ タグ
unit[] textures このパーツで用いられるテクスチャのテクスチャID
float opacity パーツの不透明度
MaskingMode mask_mode 使用されているマスキングモード:MaskまたはDodge
float mask_threshlod マスクとして扱われる以前のピクセルの不透明度の閾値
UUID[] masked_by このノードをマスクしているUUIDの一覧

マスク

ドローアブルから継承されます。

マスクは特有の値を取りません。ドローアブルを参照。

パス変形


ノードから継承されます。

タイプ タグ
vec2[] joints パスのジョイント
JointBindingData[] bindings パーツへのバインディング

ジョイントバインディングデータ

ジョイントバインディングデータは、バインディングを作るパス変形に必要なデータを含みます。これはノードではなく、単なる中間データです。

タイプ タグ
UUID bound_to このパス変形が結び付けられているドローアブル
size_t[] [] bind_data 実際のバインディングデータ。下のバインディングデータのエンコーディングを参照

bind_datasize_t[][<Joint>]としてエンコードされます。size_t[]は、ジョイントの影響を受けるすべてのインデックスです。


ノードデータ

メッシュデータ

タイプ タグ
float[] verts Vertexデータ。2つずつのペアになっている必要がある
float[] uvs (任意)UVデータ。2つずつのペアになっている必要がある
ushort[] indices インデックスデータ

UUID

UUIDはunsigned integersとしてエンコードされます。UUIDのページを参照。

マスキングモード

ストリングスとしてエンコードされるエニュメレーションです。可能な値は"Mask""Dodge"です。


Math、その他

トランスフォーム

混合3D/2Dトランスフォーメーションデータを含みます。

タイプ タグ
vec3 trans トランスレーションベクター
bool[3] trans_lock (任意)トランスレーション固定ステート
vec3 rot オイラー回転ベクター
bool[3] rot_lock (任意)回転固定ステート
vec2 scale スケーリングベクター
bool[2] scale_lock (任意)スケーリング固定ステート

vec2

float[2]としてエンコードされます。

vec3

float[3]としてエンコードされます。

size_t

プラットフォームのbit数に依存します。size_tは、32-bitでuint、64-bitではulongです。

多くの場合、問題になりません。