UserData (Cocos Creator)

最終更新: 2023年3月14日

此页面适用于Cubism 4.2及更早版本的旧版本。 点击此处查看最新页面

概述

UserData是一个在Cocos Creator上可视化模型图形网格中设置的用户数据的功能。
用户数据是允许您将任意标签添加到图形网格的功能,并且可以在指定对SDK执行特殊处理的图形网格等时使用。

参考此处了解有关用户数据的详细信息。

要在Cocos Creator上使用用户数据,请按照以下步骤操作。

  1. 解析.userdata3.json
  2. 在图形网格中设置UserData

1. 解析.userdata3.json

使用CubismUserData3Json解析.userdata3.json。
关于CubismUserData3Json,请参考此处

const userData3Json = CubismUserData3Json.loadFrom(jsonString);

.userdata3.json的路径也可以使用CubismModel3Json从.model3.json中获取。
可以获取的路径是来自.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]);
      }
    }
请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。