From 98b1730e19a5bcdf30170c1c2acdac6ab12cbe99 Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Wed, 10 Jun 2026 14:28:21 +0100 Subject: [PATCH] fix(skins): translucency issues with outer layer (#6345) fix(skins): translucency issues with outer layer in main renderer --- .../src/composables/skin-rendering/use-skin-preview-scene.ts | 2 +- packages/ui/src/utils/webgl/skin-rendering.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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 a55b1cd68..d2c175dc7 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 3a3d100bd..9505f6e00 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)