본문 바로가기
vfxai 잡학지식 vfxai 잡학지식

후디니 Fuse Snap Distance: 겹친 점만 합치는 거리 계산

vfx 잡학지식 읽는 시간 약 7분

Fuse Snap Distance가 너무 작으면 겹쳐야 할 점이 따로 남고, 너무 크면 붙이면 안 되는 모서리까지 사라집니다. 기본값 0.001을 그대로 쓰기보다 의도한 겹침 오차보다 크게, 유지할 최소 간격보다 작게 잡으세요. 계산 기준은 최대 겹침 오차 < Snap Distance < 합치면 안 되는 최소 점 간격입니다.

Houdini 22.0.466 Fuse 2.0 화면의 기본 Snap Distance는 0.001이지만, SideFX 공식 문서는 숫자 기본값을 따로 명시하지 않습니다. 0.001은 시작 설정일 뿐, 장면의 크기와 점 오차에 맞는 값이라는 뜻은 아닙니다. 작은 겹침을 놓치거나 얇은 모서리가 무너진다면 아래 계산기로 안전 후보 범위를 먼저 확인하세요.

Fuse Snap Distance는 겹침 오차와 최소 간격 사이에서 고릅니다

e는 합쳐야 하는 점 쌍 사이에서 가장 큰 거리입니다. L은 서로 다른 점으로 남겨야 할 쌍 가운데 가장 가까운 거리입니다. 단순한 메시에서는 가장 짧은 모서리 길이를 L의 보수적인 기준으로 쓸 수 있지만, 떨어진 표면이나 교차점이 더 가까우면 실제 점 간격이 더 중요합니다.

Snap Distance 안전 범위 계산

겹쳐야 할 점 쌍의 최대 오차와, 따로 남겨야 할 점 쌍의 최소 간격을 입력하세요. 기본 예시는 Grid 실측값입니다.

계산 결과가 여기에 표시됩니다.

예를 들어 최대 겹침 오차가 0.001684, 유지할 최소 간격이 1.0이면 후보 범위는 0.001684 < Snap Distance < 1.0입니다. 계산기는 가운데 값도 보여 주지만, 입력값과 작업 단위가 맞는지 확인한 다음 작은 테스트 geometry에서 적용 결과를 검증하세요.

Houdini 22 Fuse 2.0에서는 스냅과 실제 점 합치기를 구분합니다

후디니 22 Fuse 2.0 Snap Distance 0.01로 겹친 점 16개를 9개로 합친 Geometry Spreadsheet와 파라미터 화면
Houdini 22.0.466 Apprentice에서 Unique Points로 나눈 2×2 Grid(점 16개)에 각 점의 세 축에 같은 스칼라 오프셋(±0.0005)을 더했습니다. 따라서 의도한 중복점 쌍의 실제 3D 거리는 최대 약 0.0017까지 날 수 있습니다. Snap To는 Near Points, Output Positions는 Average Value이고, Snap Distance를 0.01로 올리자 점이 9개로 합쳐졌습니다. 기본값 0.001에서는 10개가 남았습니다.

Houdini 22의 Fuse 2.0에서 Snap To를 Near Points로 두면 Snap Distance 안에 있는 query point와 target point를 다룹니다. Using은 어느 target point를 고를지 정하고, Output Positions는 스냅한 위치를 어떻게 정할지 고릅니다. 예를 들어 Average Value는 위치를 평균 내고, Least Point Number는 점 번호가 가장 낮은 점의 위치를 사용합니다. ‘Least Target Point Number’와 ‘Least Point Number’는 이름이 비슷하지만 서로 다른 설정입니다.

점 위치만 같게 만들고 연결은 유지하려면 Fuse Snapped Points를 끄세요. 같은 위치의 점들을 하나로 바꾸고 원래 vertex 연결까지 합치려면 켭니다. 점 수가 줄지 않고 겹친 면만 겹쳐 보인다면 이 옵션이 켜져 있는지 확인하세요.

구형 Fuse 노드를 쓰는 화면에서는 Consolidate와 Snap이 별도 방식으로 보입니다. Consolidate는 가까운 점이 같은 point를 공유하게 하고, Snap은 점 위치나 속성만 바꿉니다. Houdini 22 Fuse 2.0은 Snap과 Fuse Snapped Points를 나눠 같은 차이를 표현하므로, 구형 문서의 탭 이름을 최신 UI에서 그대로 찾지 마세요.

실측에서는 기본값이 일부 겹침만 합쳤고, 과한 값은 면을 지웠습니다

Houdini 19.5.435 hython에서 2×2 Grid를 3×3으로 나눈 뒤 Facet의 Unique Points로 각 면의 점을 분리했습니다. Wrangle에서 각 점을 조금씩 어긋나게 만들었고, 중복 쌍의 최대 오차는 0.001684, 원래 최소 모서리는 1.0이었습니다. 거리별 Fuse 결과는 다음과 같습니다.

Snap Distance결과 점남은 폴리곤삭제된 폴리곤
0.00011540
0.001 (기본값)1040
0.01940
0.5940
1.5413

0.001은 최대 오차보다 작아 16점 중 10점만 남았습니다. 0.01에서는 겹친 점이 정리되어 9점·4폴리곤이 됐습니다. 반대로 Snap Distance 1.5는 모서리 길이 1보다 커서 4점·1폴리곤만 남겼습니다. 이 수치는 해당 입력에서 측정한 결과이지, 다른 모델에서도 같은 개수로 바뀐다는 뜻은 아닙니다.

단위 Box를 0.0005만큼 옮겨 복제한 실험에서는 Snap Distance 0.001일 때 16점이 8점으로 줄었지만 폴리곤은 12개 그대로였습니다. Fuse가 점을 공유하게 해도 서로 겹친 두 면을 자동으로 한 장으로 지우지는 않습니다. 반면 최소 모서리 1보다 큰 1.5에서는 퇴화 면 정리까지 켜 둔 결과 12개 폴리곤이 모두 사라졌습니다.

퇴화 면과 미사용 점 옵션은 필요한 정리만 켜세요

Remove Repeated Vertices and Degenerate Primitives는 한 polygon 안에서 연속으로 같은 점을 참조하는 vertex를 제거하고, 꼭짓점이 너무 적어 형태가 무너진 polygon이나 curve를 지웁니다. Remove Unused Points from Degenerate Primitives는 그런 면을 지운 뒤 연결이 끊긴 점을 정리합니다. Remove All Unused Points는 primitive에 연결되지 않은 점을 전부 지우므로, 일부러 남겨 둔 단독 점이 있다면 끄세요.

Fuse가 멀리 떨어진 점까지 건드릴 위험이 있으면 거리만 낮추고 다시 시도하기보다 Group이나 Target Group을 좁히세요. 두 번째 입력을 연결한 Fuse 2.0은 첫 번째 입력 점을 query, 두 번째 입력 점을 target으로 씁니다. Group 칸의 번호 범위와 제외 패턴은 후디니 Group 칸 패턴 문법 글에서 확인할 수 있습니다.

정리: 기본값이 아니라 두 거리의 사이를 고르세요

먼저 합쳐야 할 점 쌍의 최대 오차와 유지할 최소 점 간격을 재세요. 두 값 사이에 여유가 있으면 그 안에서 Snap Distance를 정하고, 작은 테스트에서 점 수와 폴리곤 수를 함께 확인하세요. 안전 구간이 없다면 Fuse 대상을 그룹으로 제한하거나 geometry를 나눠 처리하는 편이 낫습니다.

vfx 잡학지식

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.