diff --git a/packages/ui/src/composables/skin-rendering/use-skin-preview-scene.ts b/packages/ui/src/composables/skin-rendering/use-skin-preview-scene.ts index a55b1cd682..d2c175dc78 100644 --- a/packages/ui/src/composables/skin-rendering/use-skin-preview-scene.ts +++ b/packages/ui/src/composables/skin-rendering/use-skin-preview-scene.ts @@ -32,7 +32,7 @@ function configureSkinPreviewMesh(mesh: THREE.Mesh) { materials.forEach((material) => { if (!(material instanceof THREE.MeshStandardMaterial) || material.name === 'cape') return - material.transparent = false + material.transparent = isSkinLayer material.alphaTest = 0.1 material.depthTest = true material.depthWrite = true diff --git a/packages/ui/src/utils/webgl/skin-rendering.ts b/packages/ui/src/utils/webgl/skin-rendering.ts index 3a3d100bd9..9505f6e00f 100644 --- a/packages/ui/src/utils/webgl/skin-rendering.ts +++ b/packages/ui/src/utils/webgl/skin-rendering.ts @@ -157,6 +157,7 @@ export function applyTexture(model: THREE.Object3D, texture: THREE.Texture): voi model.traverse((child) => { if ((child as THREE.Mesh).isMesh) { const mesh = child as THREE.Mesh + const isSkinLayer = mesh.name.endsWith('_Layer') const materials = Array.isArray(mesh.material) ? mesh.material : [mesh.material] materials.forEach((mat: THREE.Material) => { @@ -168,7 +169,7 @@ export function applyTexture(model: THREE.Object3D, texture: THREE.Texture): voi flatShading: true, side: THREE.FrontSide, toneMapped: false, - transparent: false, + transparent: isSkinLayer, }) setCommonMaterialProperties(mat)