diff --git a/frontend/src/app/particles/services/player-model.service.ts b/frontend/src/app/particles/services/player-model.service.ts index 8e4ee88..73f8699 100644 --- a/frontend/src/app/particles/services/player-model.service.ts +++ b/frontend/src/app/particles/services/player-model.service.ts @@ -211,15 +211,12 @@ export class PlayerModelService { ): THREE.Mesh { const geometry = new THREE.BoxGeometry(width, height, depth); -// Remap your custom face order to BoxGeometry face order: px, nx, py, ny, pz, nz + // Remap the custom face order to BoxGeometry face order: px, nx, py, ny, pz, nz const faceOrder = [2, 3, 0, 1, 4, 5]; // right, left, top, bottom, front, back const textureWidth = 64; const textureHeight = 64; const uv = geometry.attributes['uv']; -// Per-face UV rotation (in degrees): adjust as needed (0, 90, 180, 270) - const faceUVRotations = [90, 90, 90, 90, 90, 90]; // adjust if needed - for (let i = 0; i < 6; i++) { const face = uvMapping[faceOrder[i]]; const x1 = face.x / textureWidth; @@ -228,18 +225,12 @@ export class PlayerModelService { const y2 = 1 - (face.y + face.h) / textureHeight; let uvs: [number, number][] = [ + [x1, y1], // top-left [x2, y1], // top-right - [x2, y2], // bottom-right [x1, y2], // bottom-left - [x1, y1] // top-left + [x2, y2] // bottom-right ]; - // Optional: rotate UVs if needed - const rot = faceUVRotations[i]; - if (rot === 90) uvs = [uvs[3], uvs[0], uvs[1], uvs[2]]; - else if (rot === 180) uvs = [uvs[2], uvs[3], uvs[0], uvs[1]]; - else if (rot === 270) uvs = [uvs[1], uvs[2], uvs[3], uvs[0]]; - const uvOffset = i * 8; for (let j = 0; j < 4; j++) { uv.array[uvOffset + j * 2] = uvs[j][0]; @@ -249,31 +240,14 @@ export class PlayerModelService { uv.needsUpdate = true; - - // Create material with the skin texture const material = new THREE.MeshBasicMaterial({ map: this.skinTexture, transparent: true, }); - // Create mesh and set position const mesh = new THREE.Mesh(geometry, material); - const wireframeMaterial = new THREE.MeshBasicMaterial({ - wireframe: true, - color: 0xff0000 - }); - const wireframe = new THREE.Mesh(geometry, wireframeMaterial); - mesh.add(wireframe); - mesh.position.set(position.x, position.y, position.z); return mesh; } - - /** - * Gets the player model - */ - getPlayerModel(): THREE.Group { - return this.playerModel; - } }