advanced_mapping #1
@@ -919,15 +919,18 @@ function getDoorWorldPosition(room, door, centerX, centerZ, halfSizeX, halfSizeZ
|
||||
meshPos.z = doorWorldPos.z;
|
||||
rotation = Math.PI / 2;
|
||||
// Offset relativo al centro de la pared
|
||||
wallOffset = doorWorldPos.z - centerZ;
|
||||
// Con rotation=π/2, el eje X local apunta hacia -Z, entonces:
|
||||
// offset_local = -(doorZ - centerZ)
|
||||
wallOffset = -(doorWorldPos.z - centerZ);
|
||||
break;
|
||||
case 'W':
|
||||
// Pared Oeste: puerta alineada en Z, X en el borde oeste
|
||||
meshPos.x = centerX - halfSizeX;
|
||||
meshPos.z = doorWorldPos.z;
|
||||
rotation = Math.PI / 2;
|
||||
// Para pared Oeste, el offset es directo (sin inversión)
|
||||
wallOffset = doorWorldPos.z - centerZ;
|
||||
// Con rotation=π/2, el eje X local apunta hacia -Z (igual que pared E)
|
||||
// Por tanto, también necesita offset invertido
|
||||
wallOffset = -(doorWorldPos.z - centerZ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user