후디니 Resample 점 간격과 개수 계산기
후디니 Resample에서 Length를 0.3으로 설정했는데도, 길이 10인 직선은 35 points로 나뉘고 실제 간격은 약 0.294118이 됩니다. Maximum Segments를 12로 켜면 같은 선이 3.6에서 끝나는 결과도 관찰됐습니다. 이 숫자 차이는 왜 생기고, 어느 쪽이 최종 끝점을 결정할까요?
먼저 열린 곡선의 점과 edge를 구분하고, 다음으로 길이 옵션과 끝점 옵션을 하나씩 비교합니다. 마지막에는 Houdini 19.5.435 실측과 계산기를 맞춰 끝점이 달라지는 조건을 정리하겠습니다.
먼저 점과 세그먼트를 구분하세요
점(Point)은 곡선을 이루는 위치이고, 세그먼트(Segment)는 이웃한 점을 잇는 구간입니다. 열린 곡선은 양 끝점이 따로 있으므로 전체를 연결하려면 점 수가 세그먼트 수보다 1 많습니다.
| 열린 곡선의 점 | 세그먼트 수 |
|---|---|
| 2 | 1 |
| 3 | 2 |
| 5 | 4 |
| 11 | 10 |
닫힌 곡선은 마지막 점에서 첫 점으로 다시 연결됩니다. 한 바퀴를 균등하게 나누면 닫힘 구간까지 포함한 세그먼트 수와 점 수가 같습니다. 그래서 원에서는 점 수를 계산할 때 열린 직선처럼 1을 더하지 않습니다.
후디니 Resample 점 간격 계산기
전체 곡선 길이와 Length를 입력해 세그먼트 수, 출력 점 수, 첫 구간과 마지막 구간을 확인하세요. 기본 계산은 Method = Even Length Segments, Measure = Along Arc, Resample by Polygon Edge off를 가정합니다.
Resample 점 간격 계산기
기준: Method = Even Length Segments, Measure = Along Arc. 입력한 전체 길이는 씬 단위 기준입니다.
Length는 목표 최대 구간 길이입니다.
켜면 마지막 구간을 포함해 간격을 균등하게 줄입니다.
Even Last를 끄고 끝점을 유지할 때 마지막 구간이 짧아질 수 있습니다.
계산기 가정과 제한
곡선의 길이를 자동 측정하지 않고 입력값으로 계산합니다. 열린 곡선은 양 끝점이 모두 포함될 때 점 수가 세그먼트 수보다 1 많습니다. 닫힌 곡선은 닫힘 edge를 포함해 점 수와 세그먼트 수가 같습니다. Along Chord, Resample by Polygon Edge, 다른 Method, Treat Polygons As 변경은 반영하지 않습니다. 두 길이 제한을 함께 켠 상한 처리와 Length를 끄고 Maximum Segments만 켠 계산은 Houdini 19.5.435 실측에 맞춘 모델이며, 다른 버전에서는 노드 결과를 다시 확인하세요.
열린 곡선에서 Even Last Segment Same Length를 켜면 기본 계산은 다음과 같습니다. 세그먼트 수는 올림한 길이 나누기 Length입니다.
세그먼트 수 = ceil(곡선 길이 ÷ Length)점 수 = 세그먼트 수 + 1실제 균등 간격 = 곡선 길이 ÷ 세그먼트 수
계산기는 곡선 지오메트리를 읽지 않습니다. 입력한 길이가 정확하다고 가정해 결과를 계산하므로, NURBS나 Bezier의 LOD와 Measure 설정은 실제 노드에서 따로 확인하세요.
길이 10과 Length 0.3에서 달라지는 결과
Houdini 19.5.435 Commercial hython에서 X축 0~10인 열린 Polygon Line을 만들어 확인했습니다. 원래 점은 양 끝점 2개이고, Method는 Even Length Segments, Measure는 Along Arc였습니다.
| 설정 | 점과 edge | 실제 간격과 끝점 |
|---|---|---|
| Length 0.3, Even Last on | 35 points, 34 edges | 모두 약 0.294118, 끝점 10 포함 |
| Even Last off, Maintain Last Vertex on | 35 points, 34 edges | 33개 약 0.3, 마지막 약 0.1, 끝점 10 포함 |
| Even Last off, Maintain Last Vertex off | 34 points, 33 edges | 약 0.3 간격, 결과 끝 9.9 |
| Length 0.7, Even Last on | 16 points, 15 edges | 모두 약 0.666667, 끝점 10 포함 |
| Length 3, Even Last on | 5 points, 4 edges | 모두 2.5, 끝점 10 포함 |
첫 번째 사례에서는 10을 0.3으로 나눈 값이 약 33.3333이므로 올림한 34개 세그먼트가 필요합니다. 10을 34로 나누면 실제 간격은 약 0.2941176입니다. Length보다 작아진 간격은 전체 길이를 끝점까지 균등하게 맞춘 결과입니다.
Even Last Segment Same Length를 끄고 Maintain Last Vertex를 켜면 끝점은 유지하되 마지막 구간만 짧아집니다. 두 옵션을 모두 끄면 0.3 간격을 유지하는 대신 마지막 점이 9.9에 남아 원래 끝점 10을 포함하지 않습니다.
SideFX 공식 문서는 Maintain Last Vertex가 원래 곡선의 마지막 CV를 결과에 포함하는 옵션이라고 설명합니다. 마지막 점이 반드시 필요하다면 이 설정을 확인하세요.
Maximum Segments를 켤 때는 끝점도 보세요
Maximum Segment Length 아래의 Length는 구간 길이를 제한하고, Maximum Segments 아래의 Segments는 edge 개수의 상한을 지정합니다. 두 제한을 동시에 켰을 때의 상호작용은 공식 문서에 자세히 적혀 있지 않아 Houdini 19.5.435에서 따로 재현했습니다.
| 길이 10인 열린 Line 설정 | 점과 edge | 끝점과 실제 간격 |
|---|---|---|
| Length 0.3만 켬 | 35 points, 34 edges | 끝 10, 간격 약 0.294118 |
| Maximum Segments 12만 켬 | 13 points, 12 edges | 끝 10, 간격 약 0.833333 |
| Length 0.3과 Maximum Segments 12 모두 켬 | 13 points, 12 edges | 끝 3.6, 구간 약 0.3 |
Maximum Segments만 켜면 12개 edge로 전체 길이 10을 나눕니다. 그러나 두 제한을 함께 켜고 12개로 제한하면 0.3 길이 구간 12개, 총 3.6까지만 출력됐습니다. 점 수가 맞아도 원래 곡선의 끝까지 갔는지 확인해야 합니다.
이 동시 설정은 Houdini 19.5.435에서 확인한 결과입니다. 아래 수치는 해당 버전 실측으로 한정하며, Houdini 22.0 동작으로 일반화하지 않습니다.
닫힌 원에서는 Along Arc와 직선 거리가 다릅니다
Houdini 19.5.435에서 반지름 1인 닫힌 NURBS circle에 Length 0.5, LOD 1, Measure = Along Arc를 적용했습니다. 원의 이상적인 둘레는 2π, 약 6.283185입니다.
| 설정 | 점과 edge | 측정 결과 |
|---|---|---|
| Even Last on | 13 points, 13 edges | 호 간격 약 0.483318~0.483326 |
| 출력 점 사이 직선 chord | 같은 13 points | 약 0.478528~0.478632 |
| Even Last off | 13 points, 13 edges | 12개 호 약 0.5, 마지막 닫힘 호 약 0.282117 |
Along Arc는 원래 곡선을 따라 잰 거리이고, Along Chord는 출력 점 사이 직선 거리입니다. 휘어진 곡선에서는 호 길이보다 두 점을 잇는 chord가 짧습니다.
같은 원에 Length 0.5와 Maximum Segments 5를 함께 켠 실측에서는 5 points와 5 edges가 남았고 닫힘도 유지됐습니다. 대신 마지막 닫힘 호가 약 4.2828로 길어졌습니다. 필요한 구간 수보다 작은 Maximum Segments를 주면 닫힌 곡선의 마지막 연결이 Length보다 훨씬 길 수 있습니다. 이 조합 역시 Houdini 19.5.435 측정값입니다.
Treat Polygons As와 Level of Detail 확인
Houdini 22.0 공식 문서의 Treat Polygons As 선택지는 Straight Edges, Subdivision Curves, Interpolating Curves입니다. Subdivision Curves는 polygon을 매끄러운 subdivision curve처럼 취급합니다. 문서는 Straight Edges를 usual 처리라고 설명하지만 기본 enum을 명시적으로 표시하지는 않습니다.
따라서 같은 polygon이라도 곡선을 어떻게 해석하는지에 따라 실제 경로와 길이가 달라질 수 있습니다. 직선 Line 실측과 계산기는 Straight Edges 기준이며, Houdini 19.5.435의 기본 선택은 Straight Edges였습니다. 이 값은 19.5.435 UI에서 관찰한 기본값이며, Houdini 22.0의 기본값으로 옮겨 말하지 않습니다.
공식 문서는 NURBS와 Bezier의 길이를 Level of Detail을 이용한 polygonal approximation으로 계산한다고 설명합니다. 출력 점은 원래 곡선 위에 놓입니다. LOD나 Treat Polygons As를 바꿨다면 계산기에 넣는 총 길이도 그 설정의 결과로 다시 확인하세요.
Length는 점 간격을 고정하지 않고 Maximum Segments는 구간 수를 제한하므로, 두 조건을 함께 켠 Houdini 19.5.435 직선은 실측에서 3.6에서 끝났습니다.
Houdini 22.0 기본 화면에서 확인한 값

Houdini 22.0.466 Apprentice 기본 화면 관찰에서는 Method = Even Length Segments, Measure = Along Arc, Maximum Segment Length on, Maximum Segments off, Segments 10, Even Last Segment Same Length on, Resample by Polygon Edge off, primitive attribute override on, Level of Detail 1이었습니다.
SideFX 공식 문서는 Length의 기본 숫자를 cm 작업에서 10, m 작업에서 0.1로 안내합니다. 다른 토글의 기본 on/off를 모두 문서가 명시하는 것은 아니므로, 공식 설명과 노드 화면에서 관찰한 값을 구분해야 합니다.
실제 노드에서 확인하는 순서
- 길이 10인 열린 Polygon Line을 준비하세요. 시작점을 (0, 0, 0), 끝점을 (10, 0, 0)으로 두고 원래 점을 2개로 만드세요.
- Resample을 연결하고 Method = Even Length Segments, Measure = Along Arc, Maximum Segment Length on, Length 0.3, Maximum Segments off, Even Last Segment Same Length on으로 설정하세요.
- 뷰포트에서 35 points가 나오는지 확인하세요. 34 edges가 전체 길이 10을 덮고 실제 간격은 약 0.294118이어야 합니다.
- Even Last Segment Same Length를 끄고 Maintain Last Vertex를 켜서 마지막 구간이 짧아지는지 보세요. 다시 Maintain Last Vertex도 끄고 끝점이 9.9에 남는지 확인하세요.
- Maximum Segments만 켠 경우와 Length를 함께 켠 경우를 나눠 비교하세요. 점 수뿐 아니라 마지막 점의 위치와 마지막 연결 구간을 확인하세요.
곡선에 Scatter를 뿌리는 문제와 표면의 포인트 수 계산은 기준이 다릅니다. 표면 면적과 밀도를 다루는 경우에는 Scatter의 면적·밀도·포인트 수 계산을 참고하세요.
Resample 결과를 Attribute Wrangle에서 처리한다면 Point와 Primitive 중 무엇을 순회하는지 별도로 확인해야 합니다. 실행 단위는 Wrangle Run Over 차이에서 이어서 볼 수 있습니다.
한 줄 정리
Length는 점 간격을 고정하지 않으므로, Resample의 점 수와 마지막 간격, 원래 끝점까지 함께 확인하세요.
열린 곡선의 균등 분할은 세그먼트 수 = ceil(곡선 길이 ÷ Length), 점 수 = 세그먼트 수 + 1, 실제 간격 = 곡선 길이 ÷ 세그먼트 수로 예상할 수 있습니다. 닫힌 곡선은 점 수와 세그먼트 수가 같으며, Maximum Segments나 끝점 옵션이 개입하면 결과를 노드에서 다시 확인해야 합니다.
참고 자료
아래 공식 문서에서 Resample 파라미터 이름과 Length, Maximum Segments, Even Last Segment Same Length, Treat Polygons As, LOD 설명을 확인할 수 있습니다.
vfx 잡학지식

댓글 0
첫 댓글을 남겨보세요.