---
title: API 更改 ZEPETO 角色为基本体型
slug: world-sdk-guide-ch/api-zepeto
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
Zepeto属性标志枚举

```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时，请注意进入世界的动画头像的外观也会改变。
:::

