diff --git a/packages/frontend/assets/room/objects/issyoubin/texture.af b/packages/frontend/assets/room/objects/issyoubin/texture.af deleted file mode 100644 index 549d325e56..0000000000 Binary files a/packages/frontend/assets/room/objects/issyoubin/texture.af and /dev/null differ diff --git a/packages/frontend/assets/room/objects/issyoubin/texture.png b/packages/frontend/assets/room/objects/issyoubin/texture.png deleted file mode 100644 index 8d80bf2599..0000000000 Binary files a/packages/frontend/assets/room/objects/issyoubin/texture.png and /dev/null differ diff --git a/packages/frontend/assets/room/objects/issyoubin/textures/ai.af b/packages/frontend/assets/room/objects/issyoubin/textures/ai.af new file mode 100644 index 0000000000..eca822aac8 Binary files /dev/null and b/packages/frontend/assets/room/objects/issyoubin/textures/ai.af differ diff --git a/packages/frontend/assets/room/objects/issyoubin/textures/ai.png b/packages/frontend/assets/room/objects/issyoubin/textures/ai.png new file mode 100644 index 0000000000..930d956231 Binary files /dev/null and b/packages/frontend/assets/room/objects/issyoubin/textures/ai.png differ diff --git a/packages/frontend/assets/room/objects/issyoubin/textures/misuki.af b/packages/frontend/assets/room/objects/issyoubin/textures/misuki.af new file mode 100644 index 0000000000..2edbf2a8ec Binary files /dev/null and b/packages/frontend/assets/room/objects/issyoubin/textures/misuki.af differ diff --git a/packages/frontend/assets/room/objects/issyoubin/textures/misuki.png b/packages/frontend/assets/room/objects/issyoubin/textures/misuki.png new file mode 100644 index 0000000000..498e96ad55 Binary files /dev/null and b/packages/frontend/assets/room/objects/issyoubin/textures/misuki.png differ diff --git a/packages/frontend/src/world/room/objects/issyoubin.ts b/packages/frontend/src/world/room/objects/issyoubin.ts index aa8dfbe866..b6db5937af 100644 --- a/packages/frontend/src/world/room/objects/issyoubin.ts +++ b/packages/frontend/src/world/room/objects/issyoubin.ts @@ -11,8 +11,14 @@ export const issyoubin = defineObject({ name: 'issyoubin', options: { schema: { + variation: { + type: 'enum', + label: 'Variation', + enum: ['misuki', 'ai'], + }, }, default: { + variation: 'ai', }, }, placement: 'top', @@ -34,8 +40,25 @@ export const issyoubin = defineObject({ // しょうがないので不透明にする bottleMaterial.transparencyMode = BABYLON.PBRMaterial.PBRMATERIAL_ALPHATEST; + const applyVariation = () => { + if (options.variation === 'misuki') { + const tex = new BABYLON.Texture('/client-assets/room/objects/issyoubin/textures/misuki.png', scene, false, false); + bottleMaterial.albedoTexture = tex; + } else if (options.variation === 'ai') { + const tex = new BABYLON.Texture('/client-assets/room/objects/issyoubin/textures/ai.png', scene, false, false); + bottleMaterial.albedoTexture = tex; + } + }; + + applyVariation(); + return { onOptionsUpdated: ([k, v]) => { + switch (k) { + case 'variation': + applyVariation(); + break; + } }, interactions: {}, };