CREATE YOUR WORLD
Players & Characters : Tips

ZEPETO 캐릭터 색상 및 착용 중인 아이템 색상 변경하기

7min

이 가이드는 매력적인 콘텐츠를 만드는 데 도움을 주기 위한 것입니다.



ZEPETO 캐릭터의 색상 변경

ZEPETO 캐릭터는 실행 시간에 ZepetoCharacter 객체로 인스턴스화됩니다.

ZepetoCharacter의 구조를 검사하면 Zepeto Context라는 하위 객체를 찾을 수 있습니다. Zepeto Context 내에는 body라는 또 다른 객체가 있습니다.

스크립트를 사용하여 실행 시간에 body 객체의 body(Clone) 재질을 교체하면 ZEPETO 캐릭터의 색상을 변경할 수 있습니다.

비애니메이션 아바타의 경우, 이 방법은 전체 얼굴과 몸의 색상을 변경합니다.

Document image




그러나 애니메이션 아바타의 경우, body 객체의 자식인 ANIME_BASEMODEL의 body(Clone) 재질도 수정해야 합니다.

재질 교체는 동일한 길이의 재질 배열로 가능하다는 점에 유의하십시오.

Document image






아래는 로컬 플레이어의 몸체 색상을 변경하는 샘플 코드입니다.

캐릭터가 로드된 후에만 캐릭터의 색상이 변경되도록 로직을 구현해야 합니다.

TypeScript




Document image

  • 몸의 재질을 변경하면 ZEPETO 아바타의 메이크업이 올바르게 표시되지 않을 수 있습니다.



마모된 아이템의 색상 변경

마모된 아이템은 본체 객체의 하위 객체로 인스턴스화됩니다.

아이템 객체의 재료 섹션에서 각 아이템에 적용된 재료를 확인할 수 있습니다.

스크립트를 사용하여 런타임에 재료를 교체함으로써 아이템의 색상을 변경할 수 있습니다.

Document image




아래는 로컬 플레이어가 착용한 첫 번째 아이템의 색상을 변경하는 샘플 코드입니다.

캐릭터가 로드된 후에만 아이템의 색상이 변경되도록 하세요.

TypeScript




  • 코드 설명
    • this.body.transform.GetChild(0)는 착용한 아이템 중 첫 번째 아이템, 즉 인덱스 0에 있는 아이템을 참조합니다.
    • 이것을 조정하여 다른 착용 아이템의 색상을 변경할 수 있습니다.
    • 여러 재질을 사용하는 아이템의 경우, 재질 교체는 동일한 길이의 재질 배열이 필요하다는 점을 기억하세요.
Document image




ZEPETO 캐릭터와 모든 아이템의 색상 변경

지금까지 얻은 통찰력을 활용하여 캐릭터와 모든 아이템의 색상을 균일하게 수정할 수 있습니다.

Document image




"색상 변경" 버튼을 클릭할 때 로컬 플레이어의 캐릭터와 아이템 색상을 완전히 변경하고, "원래 색상" 버튼을 클릭할 때 원래 색상으로 되돌리는 샘플 코드입니다:

TypeScript




  • 이 방법은 로컬 플레이어뿐만 아니라 런타임에 생성된 모든 ZEPETO 캐릭터, NPC 캐릭터를 포함하여 적용할 수 있습니다.
  • 창의력을 발휘하고 재미있는 방법으로 적용해 보세요!