diff --git a/packages/frontend/assets/room/objects/picture-frame/picture-frame.blend b/packages/frontend/assets/room/objects/picture-frame/picture-frame.blend index af0204f9ba..2f95da9e08 100644 Binary files a/packages/frontend/assets/room/objects/picture-frame/picture-frame.blend and b/packages/frontend/assets/room/objects/picture-frame/picture-frame.blend differ diff --git a/packages/frontend/assets/room/objects/picture-frame/picture-frame.glb b/packages/frontend/assets/room/objects/picture-frame/picture-frame.glb index ebb6508bd4..31cc032d0c 100644 Binary files a/packages/frontend/assets/room/objects/picture-frame/picture-frame.glb and b/packages/frontend/assets/room/objects/picture-frame/picture-frame.glb differ diff --git a/packages/frontend/src/utility/room/engine.ts b/packages/frontend/src/utility/room/engine.ts index f1670f2f26..14bd819cea 100644 --- a/packages/frontend/src/utility/room/engine.ts +++ b/packages/frontend/src/utility/room/engine.ts @@ -13,6 +13,7 @@ * - なお、現状 __TOP__ / __SIDE__ メッシュは単一の面でなければなりません。つまりArray Modifierなどを適用した状態では正しく動作しません。 * - メッシュ名を __COLLISION__ で始めると、コリジョン用メッシュとして扱われます。このメッシュはシーク時のレイのヒットチェックにも使われます。当該メッシュはレンダリングでは表示されません。 * - コリジョン用メッシュが無い場合、すべてのメッシュがコリジョン用メッシュとして扱われますが、例えば網目のようなメッシュではレイが隙間を通り抜けて後ろにあるオブジェクトにヒットしてしまうなどの問題が発生します。 + * - シェイプキーを使用する場合、normalのエクスポートが有効だと面のレンダリングがおかしくなる場合があります。その場合は無効化してください。 */ // TODO: 家具設置時のコリジョン判定(めりこんで設置されないようにする) diff --git a/packages/frontend/src/utility/room/objects/pictureFrame.ts b/packages/frontend/src/utility/room/objects/pictureFrame.ts index 1fc67f2169..bc0822c6e7 100644 --- a/packages/frontend/src/utility/room/objects/pictureFrame.ts +++ b/packages/frontend/src/utility/room/objects/pictureFrame.ts @@ -5,7 +5,9 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../engine.js'; -import { createPlaneUvMapper, getPlaneUvIndexes } from '../utility.js'; +import { createPlaneUvMapper } from '../utility.js'; + +// NOTE: シェイプキーのnormalのエクスポートは無効にしないとmatを大きくしたときに面のレンダリングがグリッチする export const pictureFrame = defineObject({ id: 'pictureFrame', @@ -66,15 +68,15 @@ export const pictureFrame = defineObject({ width: 0.15, height: 0.15, frameThickness: 0.3, - matHThickness: 0.5, - matVThickness: 0.5, + matHThickness: 0.35, + matVThickness: 0.35, customPicture: null, fit: 'cover', }, }, placement: 'side', createInstance: ({ room, root, options, findMaterial, findMesh, meshUpdated }) => { - const MAT_THICKNESS_FACTOR = 0.49; // 0.5を超えるとなんかメッシュのレンダリングがグリッチするため + const MAT_THICKNESS_FACTOR = 0.9; const frameMesh = findMesh('__X_FRAME__'); frameMesh.rotationQuaternion = null;