fix: [fire-shutter] 스크린형 가이드레일 3D 회전 방향 수정
- Left rail: Ry(+PI/2)→Ry(-PI/2), 립이 개구부 중심을 향하도록 - Right rail: Ry(-PI/2)→Ry(+PI/2), 동일하게 수정 - Z offset도 반전하여 레일 폭 중심 유지 - 레일 백월이 벽 기둥 내면(whw)과 정렬
This commit is contained in:
@@ -2231,24 +2231,26 @@ function createRailGroup() {
|
||||
const isScreenType = S.productType === 'screen';
|
||||
|
||||
if (isScreenType) {
|
||||
// ====== 스크린형: 채널 개구부가 중심(슬랫)을 향하도록 Y축 회전 ======
|
||||
// createRailGroup()의 Rx(-PI/2) 후: 개구부가 +Z 방향
|
||||
// Ry(±PI/2) 래퍼로 개구부를 ±X 방향(중심 향함)으로 회전
|
||||
// ====== 스크린형: 채널 개구부(립)가 중심(슬랫)을 향하도록 Y축 회전 ======
|
||||
// createRailGroup() 단면: X=폭(0→70), Y=깊이(0=개구부, +=벽쪽)
|
||||
// Rx(-PI/2) 후: X=폭, Y=높이, Z=깊이(0=개구부, +=벽쪽)
|
||||
// Left: Ry(-PI/2) → 립(Z<0)이 +X(중심), 백월(Z>0)이 -X(벽쪽)
|
||||
// Right: Ry(+PI/2) → 립(Z<0)이 -X(중심), 백월(Z>0)이 +X(벽쪽)
|
||||
|
||||
// Left rail — Ry(+PI/2): 개구부 → +X (중심 방향)
|
||||
// Left rail — Ry(-PI/2): 개구부(립) → +X (중심), 백월 → -X (벽)
|
||||
const railGroupL = createRailGroup();
|
||||
const wrapperL = new THREE.Group();
|
||||
wrapperL.add(railGroupL);
|
||||
wrapperL.rotation.y = Math.PI / 2;
|
||||
wrapperL.position.set(-hw, 0, rw / 2);
|
||||
wrapperL.rotation.y = -Math.PI / 2;
|
||||
wrapperL.position.set(-hw, 0, -rw / 2);
|
||||
meshes.rails.add(wrapperL);
|
||||
|
||||
// Right rail — Ry(-PI/2): 개구부 → -X (중심 방향)
|
||||
// Right rail — Ry(+PI/2): 개구부(립) → -X (중심), 백월 → +X (벽)
|
||||
const railGroupR = createRailGroup();
|
||||
const wrapperR = new THREE.Group();
|
||||
wrapperR.add(railGroupR);
|
||||
wrapperR.rotation.y = -Math.PI / 2;
|
||||
wrapperR.position.set(hw, 0, -rw / 2);
|
||||
wrapperR.rotation.y = Math.PI / 2;
|
||||
wrapperR.position.set(hw, 0, rw / 2);
|
||||
meshes.rails.add(wrapperR);
|
||||
} else {
|
||||
// ====== 철재형: 기존 C채널 방식 (슬랫이 Z방향 슬롯 통과) ======
|
||||
|
||||
Reference in New Issue
Block a user