UserData (Cocos Creator)
最終更新: 2023年3月14日
このページはCubism 4.2以前の古いバージョン向けです。 最新のページはこちら
概要
UserDataは、モデルのアートメッシュに設定されたユーザデータをCocos Creator上で可視化する機能です。
ユーザデータはアートメッシュに対して任意のタグを付与できる機能で、SDK上で特殊な処理を行うアートメッシュを指定する場合などに活用できます。
ユーザデータの詳細については こちら をご覧ください。
Cocos Creator上でユーザデータを使用するには以下の手順を行います。
- .userdata3.jsonをパース
- アートメッシュにUserDataを設定
1. .userdata3.jsonをパース
.userdata3.jsonを、CubismUserData3Jsonを用いてパースします。
CubismUserData3Jsonについては こちら をご覧ください。
const userData3Json = CubismUserData3Json.loadFrom(jsonString);
.userdata3.jsonのパスは、.model3.jsonからもCubismModel3Jsonを用いて取得することができます。
取得できるパスは.model3.jsonからの相対パスです。
const userDataPath = modelJson.fileReferences.userData; const userData3Json = await this.loadJson(this.fileReferences.userData);
CubismModel3Jsonの詳細については こちら をご覧ください。
パースした.userdata3.jsonから、アートメッシュのデータを取得します。
const drawableBodies = userData3Json.toBodyArray(CubismUserDataTargetType.ArtMesh);
2. アートメッシュにUserDataを設定
.userdata3.jsonから取得したユーザデータを、Prefabのアートメッシュに適用します。
アートメッシュにユーザデータの情報を付与するには、CubismUserDataTagを使用します。
const drawableBodies = userData3Json.toBodyArray(CubismUserDataTargetType.ArtMesh); for (let i = 0; i < drawables.length; i++) { const index = model3.getBodyIndexById(drawableBodies, drawables[i].id); if (index >= 0) { const tag = drawables[i].getComponent(CubismUserDataTag) ?? drawables[i].addComponent(CubismUserDataTag); tag!.initialize(drawableBodies[index]); } }
この記事はお役に立ちましたか?
はいいいえ