表示補助ファイルについて

[最終更新日:2022/10/06]

Cubism SDK for Javaは現在alpha版となっています。beta版や正式版で仕様が変わる場合もございます。

概要

Cubism Editor 3.3.02(2019/04/23公開) から、Cubismエディタからモデルを書き出す際に.cdi3.jsonを書き出せるようになりました。
.cdi3.jsonは、パラメータやパラメータグループ、パーツのIDと名前を紐付ける情報が記述された表示補助ファイルです。

Editor上で設定したパラメータ名やパラメータグループ名、パーツ名はSDK上でモデルを扱う際に不要な項目なためmoc3に書き出されません。
ですが、ユーザがモデルのパラメータを直接操作できるようなアプリケーションのようにパラメータの名前を表示させたい場合、.cdi3.jsonを利用することで名前を取得することが可能です。

 

.cdi3.jsonに記述されている内容

・Parameters
 ・パラメータID、パラメータ名(エディタで表示される名前)、所属しているパラメータグループのID
・ParameterGroups
 ・グループID、グループ名(エディタで表示される名前)、所属しているパラメータグループのID
・Parts
 ・パーツID、パーツ名(エディタで表示される名前)

※所属しているパラメータグループのID:
 パラメータグループはエディタ上では木構造として表現されますが、cdi内の構造はList構造でデータが格納されています。
 SDK上でパラメータグループの木構造を扱う場合、この情報を用いて配置を復元する必要があります。
 所属しているパラメータグループが無い(エディタ上では木構造のルート)場合、この項目は空欄になります。

.cdi3.jsonの仕様の詳細については、GitHubの CubismSpecs を参照してください。

.cdi3.jsonをパースするには、NativeではCubismCdiJson.hppから、Java(alpha版)ではCubismCdiJson.javaから、CubismCdiJsonクラスを使用します。
Cubism SDK for Webは自前でJSONパーサを持っているため、.cdi3.jsonを扱う実装をおこなう場合はそちらを使用してユーザ側で対応することができます。

 

CubismCdiJson

インスタンスの生成

 

 

パラメータ(Parameters)

パラメータ関連の情報を取得するAPIは以下になります。

  • Native
    • パラメータ数:CubismCdiJson::GetParametersCount()
    • パラメータID:CubismCdiJson::GetParametersId()
    • 所属しているパラメータグループのID:CubismCdiJson::GetParametersGroupId()
    • パラメータ名:csmChar* CubismCdiJson::GetParametersName()

  • Java(alpha版)
    • パラメータ数:CubismCdiJson.getParametersCount()
    • パラメータID:CubismCdiJson.getParametersId()
    • 所属しているパラメータグループのID:CubismCdiJson.getParametersGroupId()
    • パラメータ名:String CubismCdiJson.getParametersName()

 

 

パラメータグループ(ParameterGroups)

パラメータグループ関連の情報を取得するAPIは以下になります。

  • Native
    • パラメータグループ数:CubismCdiJson::GetParameterGroupsCount()
    • パラメータグループID:CubismCdiJson::GetParameterGroupsId()
    • そのパラメータグループの親のパラメータグループID:CubismCdiJson::GetParameterGroupsGroupId()
    • パラメータグループ名:CubismCdiJson::GetParameterGroupsName()

  • Java(alpha版)
    • パラメータグループ数:CubismCdiJson.getParameterGroupsCount()
    • パラメータグループID:CubismCdiJson.getParameterGroupsId()
    • そのパラメータグループの親のパラメータグループID:CubismCdiJson.getParameterGroupsGroupId()
    • パラメータグループ名:CubismCdiJson.getParameterGroupsName()

 

 

パーツ(Parts)

パーツ関連の情報を取得するAPIは以下になります。

  • Native
    • パーツ数:CubismCdiJson::GetPartsCount()
    • パーツID:CubismCdiJson::GetPartsId()
    • パーツ名:CubismCdiJson::GetPartsName()

  • Java(alpha版)
    • パーツ数:CubismCdiJson.getPartsCount()
    • パーツID:CubismCdiJson.getPartsId()
    • パーツ名:CubismCdiJson.getPartsName()

© 2010 - 2022 Live2D Inc.