UserData (Cocos Creator)

업데이트: 2023/03/14

개요

UserData는 모델의 아트메쉬에 설정된 사용자 데이터를 Cocos Creator에서 가시화하는 기능입니다.
사용자 데이터는 아트메쉬에 대해 임의의 태그를 부여할 수 있는 기능으로, SDK상에서 특수한 처리를 실시하는 아트메쉬를 지정하는 경우 등에 활용할 수 있습니다.

사용자 데이터에 대한 자세한 내용은 여기를 참조하십시오.

Cocos Creator에서 사용자 데이터를 사용하려면 다음 절차를 수행하십시오.

  1. .userdata3.json 파싱
  2. 아트메쉬에 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]);
      }
    }
이 기사가 도움이 되었나요?
아니요
이 기사에 관한 의견 및 요청사항을 보내 주시기 바랍니다.