ZEPETOキャラクターを基本体型に変更するAPI
ZEPETOアバターが世界に入るとき、ボディモディフィケーションアイテムを着用しているか、過度に大きいまたは小さい体型を選択していると、ゲームプレイに支障をきたす可能性があります。
このガイドで紹介されているAPIを使用すると、ZEPETOキャラクターをデフォルトの体型に戻すことができます。
❗️ 注意
- ZEPETO.Character.Controllerパッケージは、バージョン1.11.1以降で利用可能です。
API | 説明 |
|---|---|
GetBodyModifierProperties() | - ZEPETOキャラクターがどの体の部分にボディモディフィケーションアイテムを着用しているかの情報を返します。 |
DeformDefaultProperties() | - このAPIは、ZEPETOキャラクターが着用しているボディモディフィケーションアイテムを取り除き、デフォルトの体型に戻します。 |
DeformDefaultCostume() | - このAPIは、ZEPETOキャラクターが着用しているボディモディフィケーションアイテムを取り除き、デフォルトの体型に戻し、デフォルトのZEPETOコスチュームを着せます。 - ZEPETOプレイヤーレベルでも適用できます。この場合、マルチプレイヤーの世界に入るすべてのZEPETOプレイヤーは、ボディモディフィケーションアイテムが取り除かれ、デフォルトのZEPETOコスチュームを着せられます。 |
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
例のスクリプト
以下の例のスクリプトを参照してください:
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() によってその情報がコンソールに印刷されます。

2) ローカルプレイヤーが着用しているすべてのボディモディフィケーションアイテムは DeformDefaultProperties() によって削除され、キャラクターはデフォルトの体型に戻されます。

3) DeformDefaultCostume() によって、ローカルプレイヤーが着用しているすべてのボディモディフィケーションアイテムが削除され、デフォルトのZEPETOコスチュームを着用している外見に変更されます。

4) 以下のコードは、世界に入るすべてのプレイヤーのボディモディフィケーションアイテムを削除し、デフォルトのZEPETOコスチュームを着用させることを保証します。
- ただし、マルチプレイヤー設定と基本的なサーバー-クライアントスクリプトの実装は事前に完了している必要があります。
ZepetoPlayers.instance.OnAddedPlayer.AddListener(() => {
ZepetoPlayers.instance.DeformDefaultCostume();
});
- アニメーションされたアバターの顔もボディモディフィケーションアイテムとして分類されます。
- したがって、DeformDefaultProperties(), DeformDefaultCostume() APIを使用する際は、世界に入るアニメーションアバターの外観も変わることに注意してください。