---
title: ZEPETO 캐릭터를 기본 체형으로 변경하는 API
slug: world-sdk-guide-kr/zepeto-api
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

ZEPETO 아바타가 월드에 들어갈 때 신체 수정 아이템을 착용하거나 지나치게 크거나 작은 신체 형태를 선택하면, 게임 플레이에 방해가 될 수 있습니다.

이 가이드에서 소개된 API를 사용하면 ZEPETO 캐릭터를 기본 신체 형태로 되돌릴 수 있습니다.

:::hint{type="danger"}
**❗️ 주의**

- ZEPETO.Character.Controller 패키지는 버전 1.11.1 이상에서 사용할 수 있습니다.
:::

| **API**                     | **설명**                                                                                                                                                                                           |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| GetBodyModifierProperties() | - ZEPETO 캐릭터가 어떤 신체 수정 아이템을 착용하고 있는지에 대한 정보를 반환합니다.                                                                                                                                              |
| DeformDefaultProperties()   | - 이 API는 ZEPETO 캐릭터가 착용한 신체 수정 아이템을 제거하고 기본 신체 형태로 되돌립니다.                                                                                                                                        |
| DeformDefaultCostume()      | - 이 API는 ZEPETO 캐릭터가 착용한 신체 수정 아이템을 제거하고 기본 신체 형태로 되돌리며 기본 ZEPETO 의상으로 입힙니다.<br />- 또한 ZEPETO 플레이어 수준에서도 적용할 수 있습니다. 이 경우, 멀티플레이어 월드에 들어가는 모든 ZEPETO 플레이어는 신체 수정 아이템이 제거되고 기본 ZEPETO 의상으로 입혀집니다. |



:::CodeblockTabs
ZepetoPropertyFlag Enum

```typescript
None = 0, Skin = 1, SkinTone = 2, SkinDetail = 3, Face = 4, Eye = 5, EyeLens = 6, Eyebrow = 7, 
Beard = 8, Mustache = 9, EyeShadow = 10, EyeLiner = 11, EyeLash = 12, Blusher = 13, Nose = 14, 
Mouth = 15, Lips = 16, Hair = 17, ClothesGlasses = 18, ClothesTop = 19, ClothesBottom = 20, ClothesShoes = 21, 
ClothesDress = 22, Background = 23, RoomWallpaper = 24, RoomFloor = 25, RoomBottom = 26, RoomTopLeft = 27, RoomTopRight = 28, 
RoomMiddleLeft = 29, RoomMiddleRight = 30, Point = 31, Freckles = 32, FaceHair = 33, DoubleEyelid = 34, NailArt = 35, 
ClothesSocks = 36, ClothesGlove = 37, AccessoryBracelet = 38, AccessoryNecklace = 39, AccessoryEarring = 40, AccessoryRing = 41, AccessoryHeadwear = 42, 
AccessoryPiercing = 43, BoothBackground = 44, LUT = 45, AccessoryMask = 46, FacePainting = 47, AccessoryBag = 48, AccessoryWing = 49, 
ClothesCape = 50, ClothesExtra = 51, MannequinFace = 52, WrinkleForehead = 53, WrinkleEye = 54, WrinkleMouth = 55, DoubleEyelidBottom = 56, 
WrinkleMongo = 57, AccessoryTail = 58, AccessoryEffect = 59, ClothesDeform = 60, HairExtensions = 61, MakeupSet = 62, FaceContouring = 63, 
BaseModel = 64, CreatorLens = 65, BaseDeform = 66
```
:::



## 예제 스크립트

다음 예제 스크립트를 참조하십시오:

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { ZepetoCharacter, LocalPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
import { ZepetoPropertyFlag } from 'Zepeto';
 
export default class Deform extends ZepetoScriptBehaviour {
 
     private _localPlayer: LocalPlayer;
     private _itemProperties : ZepetoPropertyFlag[]
     
     Start() {
         ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
             this._localPlayer = ZepetoPlayers.instance.LocalPlayer;
             
             // 1. 로컬 캐릭터 - 몸체 형태 변경 아이템이 장착된 위치를 출력하는 코드
             this._itemProperties = this._localPlayer.zepetoPlayer.character.GetBodyModifierProperties();
             console.log(this._itemProperties);
             
             // 2. 로컬 캐릭터 - 몸체 형태 변경 아이템을 해제하는 코드
             this._localPlayer.zepetoPlayer.character.DeformDefaultProperties();
             
             // 3. 로컬 캐릭터 - 몸체 형태 변경 아이템을 해제하고 기본 의상을 입히는 코드
             this._localPlayer.zepetoPlayer.character.DeformDefaultCostume();
             
         });
 
       	 // 4. 모든 플레이어의 몸체 형태 변경 아이템을 해제하고 기본 의상을 입히는 코드
         ZepetoPlayers.instance.OnAddedPlayer.AddListener(() => {
             ZepetoPlayers.instance.DeformDefaultCostume();
         });
         
     }
}

```



### 스크립트 설명

1\) 로컬 플레이어가 착용한 몸체 수정 아이템 슬롯 정보는 `this._itemProperties`에 저장되며 `GetBodyModifierProperties()`를 통해 해당 정보가 콘솔에 출력됩니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-LmdDHs4DHW9n4LaQ7hz3--20240904-102412.png)



2\) 로컬 플레이어가 착용한 모든 신체 수정 아이템은 `DeformDefaultProperties()`, 그리고 캐릭터는 기본 신체 형태로 변경됩니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-tzRdQpNpzl0naui9GM9G4-20240904-102412.png)



3\) `DeformDefaultCostume()`, 로컬 플레이어가 착용한 모든 신체 수정 아이템은 제거되며, 기본 ZEPETO 의상을 착용한 모습으로 변경됩니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-zc__FJqKqhxG447El4EQz-20240904-102412.png)



4\) 아래 코드는 월드에 들어오는 모든 플레이어의 모든 신체 수정 아이템이 제거되고 기본 ZEPETO 의상을 입게 됨을 보장합니다.

- 그러나 멀티플레이어 설정 및 기본 서버-클라이언트 스크립트 구현은 미리 완료되어야 합니다.

```typescript
ZepetoPlayers.instance.OnAddedPlayer.AddListener(() => {
	ZepetoPlayers.instance.DeformDefaultCostume();
});
```

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-hCch98cAY05ITF8fhbpVO-20240904-102412.png)



:::hint{type="danger"}
- 애니메이션 아바타 얼굴도 신체 수정 아이템으로 분류됩니다.
- 따라서, `DeformDefaultProperties()`, `DeformDefaultCostume()` API를 사용할 때, 월드에 들어오는 애니메이션 아바타의 외모도 변경될 것임을 유의하시기 바랍니다.
:::

