diff --git a/packages/frontend/assets/room/objects/keyboard/keyboard.blend b/packages/frontend/assets/room/objects/keyboard/keyboard.blend index ed7f22b146..b2dc70c4e5 100644 Binary files a/packages/frontend/assets/room/objects/keyboard/keyboard.blend and b/packages/frontend/assets/room/objects/keyboard/keyboard.blend differ diff --git a/packages/frontend/assets/room/objects/keyboard/keyboard.glb b/packages/frontend/assets/room/objects/keyboard/keyboard.glb index e3ec37a6c5..cdfdd5e4e1 100644 Binary files a/packages/frontend/assets/room/objects/keyboard/keyboard.glb and b/packages/frontend/assets/room/objects/keyboard/keyboard.glb differ diff --git a/packages/frontend/assets/room/objects/random-books/mix-plain.af b/packages/frontend/assets/room/objects/random-books/mix-plain.af new file mode 100644 index 0000000000..d9e09e475b Binary files /dev/null and b/packages/frontend/assets/room/objects/random-books/mix-plain.af differ diff --git a/packages/frontend/assets/room/objects/random-books/textures/mix-plain.png b/packages/frontend/assets/room/objects/random-books/textures/mix-plain.png new file mode 100644 index 0000000000..3c528ea4db Binary files /dev/null and b/packages/frontend/assets/room/objects/random-books/textures/mix-plain.png differ diff --git a/packages/frontend/assets/room/objects/random-books/texture.png b/packages/frontend/assets/room/objects/random-books/textures/mix.png similarity index 100% rename from packages/frontend/assets/room/objects/random-books/texture.png rename to packages/frontend/assets/room/objects/random-books/textures/mix.png diff --git a/packages/frontend/src/world/room/objects/randomBooks.ts b/packages/frontend/src/world/room/objects/randomBooks.ts index 572fc1374d..2cf481df89 100644 --- a/packages/frontend/src/world/room/objects/randomBooks.ts +++ b/packages/frontend/src/world/room/objects/randomBooks.ts @@ -17,9 +17,10 @@ export const randomBooks = defineObject({ name: '雑多な本', options: { schema: { - plainCover: { - type: 'boolean', - label: 'Plain cover', + variation: { + type: 'enum', + label: 'Variation', + enum: ['mix', 'mix-plain'], }, count: { type: 'range', @@ -38,7 +39,7 @@ export const randomBooks = defineObject({ }, }, default: { - plainCover: false, + variation: 'mix', count: 10, stackVertically: false, seed: 0, @@ -50,13 +51,20 @@ export const randomBooks = defineObject({ canPreMeshesMerging: false, createInstance: ({ options, model, scene }) => { const bodyMesh = model.findMesh('__X_BODY__'); - const tex = new BABYLON.Texture('/client-assets/room/objects/random-books/texture.png', scene, { - invertY: false, - samplingMode: BABYLON.Texture.NEAREST_SAMPLINGMODE, - }); - bodyMesh.material.albedoTexture = tex; bodyMesh.isVisible = false; + const applyVariation = () => { + if (options.variation === 'mix') { + const tex = new BABYLON.Texture('/client-assets/room/objects/random-books/textures/mix.png', scene, false, false); + bodyMesh.material.albedoTexture = tex; + } else if (options.variation === 'mix-plain') { + const tex = new BABYLON.Texture('/client-assets/room/objects/random-books/textures/mix-plain.png', scene, false, false); + bodyMesh.material.albedoTexture = tex; + } + }; + + applyVariation(); + const TEXTURE_DIVISION = 8; let bookMeshes: BABYLON.Mesh[] = []; @@ -137,6 +145,7 @@ export const randomBooks = defineObject({ }, onOptionsUpdated: ([k, v]) => { switch (k) { + case 'variation': applyVariation(); break; case 'seed': gen(); break; case 'count': gen(); break; case 'stackVertically': gen(); break;