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

후디니 뷰포트가 느릴 때 끌 설정: 표시 옵션·Template·Packed

vfx 잡학지식 읽는 시간 약 13분 조회 1

후디니 뷰포트가 느릴 때는 메시를 바로 줄이기보다, 화면에 추가로 얹힌 형상과 표시용 마커부터 나눠 보세요. Display flag가 보여 주는 출력에 Template 출력이 겹치고, 각 점의 번호와 노멀까지 켜져 있으면 화면에서 처리할 항목이 늘어납니다. 먼저 없어져도 되는 표시를 확인하고, 그다음 필요한 형상만 단순화하세요. 아래 도구는 물체 수와 폴리곤 수, Packed 표시 방식으로 뷰포트의 폴리곤 표시량을 근사합니다.

후디니 뷰포트 표시량 계산기

현재 보이는 Display 출력과 Template 출력을 따로 입력하세요. 폴리곤 수는 가능하면 PolyReduce 뒤의 노드에서 확인한 값을 넣으세요.

표시 폴리곤과 보조 표시 계산

Packed 표시 방식은 Display와 Template 그룹에 함께 적용하는 단순 추정입니다. 두 그룹 설정이 다르면 각각 계산해 합치세요.

Display flag 출력
Template flag 출력
Packed 표시 방식

Packed가 아니면 전체 geometry를 표시하는 것으로 계산합니다.

추가 표시 옵션

이 값은 폴리곤 면 수의 근사치입니다. GPU 삼각형 수, draw call, 텍스처·조명 비용 또는 실제 FPS를 계산하지 않습니다.

예를 들어 폴리곤 5,000개짜리 Packed 물체 200개를 Full Geometry로 보면 약 1,000,000개입니다. 같은 인스턴스를 Bounding Box로 바꾸면 물체마다 6면으로 계산해 1,200개이며, Centroid에서는 0개 폴리곤과 중심점 200개로 표시합니다. 패킹은 복사 geometry의 저장 구조를 바꾸고, Display As는 뷰포트에 보이는 표현을 바꿉니다.

계산기에서 물체 수와 폴리곤 수는 화면에 실제 보이는 출력 기준으로 입력하세요. 일부가 화면 밖이거나 가려진 경우에도 전부 더하므로 계산값은 상한에 가까운 단순 추정입니다. Bounding Box의 6면은 이해를 위한 quad 면 수이며, GPU 삼각형 처리량이나 draw call을 그대로 나타내지 않습니다.

Display flag와 Template flag 출력은 따로 세세요

SOP 네트워크의 Display flag는 뷰포트에 보여 줄 노드 출력을 선택합니다. Template flag는 그 출력에 다른 노드의 geometry를 보조 표시로 더합니다. Template가 켜져 있으면 화면에 별도 geometry가 한 겹 더 그려질 수 있습니다.

예를 들어 원본 메시가 Display flag 출력이고 저해상도 메시가 Template flag 출력이면, 화면에는 두 형상이 함께 나타납니다. 반대로 저해상도 메시를 Display로 두고 원본을 Template로 켜면 작업 중 실루엣을 비교할 수 있습니다. 템플릿 형상은 보통 와이어나 흐린 색으로 보이며, 표시 방식은 Display Options에서 조절합니다.

색이 다른 플래그가 무엇을 바꾸는지 헷갈리면 후디니 Display·Render·Template 플래그 차이를 먼저 확인하세요. /obj의 오브젝트 Display는 오브젝트 표시 여부이고, SOP의 Display flag는 오브젝트 안에서 보여 줄 노드를 고르는 설정입니다.

Display Options에서 점·노멀·셰이딩을 나눠 시험하세요

뷰포트 위에 커서를 두고 D를 누른 뒤 Markers 탭을 여세요. Points에서 점 마커, 점 번호, point normals를 끄고, Primitives에서 면 번호와 primitive normals를 확인하세요. 번호와 노멀은 폴리곤을 줄이지 않아도 화면에 그릴 선과 표식을 추가합니다.

Display Options의 표시 대상이 Scene Geometry인지, Current Model Geometry인지, Template Model Geometry인지도 확인하세요. 원하는 항목을 껐는데 화면이 그대로라면 다른 표시 상태에 설정을 적용했을 수 있습니다. 필요한 마커만 켜고 나머지는 작업 중에 끄세요.

뷰포트 상단에서 셰이딩 모드를 바꾸고 Display Materials나 높은 조명 품질을 잠시 꺼 보세요. 화면 회전이 빨라지면 폴리곤 개수보다 재질·조명 표시가 병목일 가능성이 있습니다. 셰이딩 모드는 폴리곤 수를 줄이는 기능이 아니라 표시 비용을 분리하는 진단 스위치입니다.

노멀 자동 생성이 필요한 메시라면 Houdini 19.5 문서는 Point Normals가 Vertex Normals보다 빠르다고 설명합니다. 다만 Point Normals는 상자처럼 날카로운 모서리의 cusp를 표현하지 못할 수 있으므로, 최종 모양을 확인하며 선택하세요.

Packed Display As로 작업 중 표시를 단순화하세요

후디니 Display Options Optimize 탭과 Copy to Points Display As Bounding Box 설정
Houdini 22.0.466 Apprentice 화면입니다. 왼쪽은 뷰포트에서 D 키로 연 Display Options의 Optimize 탭이고, 오른쪽은 Copy to Points의 Pack and Instance를 켠 뒤 Display As를 Bounding Box로 바꾼 파라미터입니다.

Packed Primitive를 Full Geometry로 표시하면 뷰포트에 전체 geometry가 보입니다. Packed Disk Primitive의 Display As를 Bounding Box로 바꾸면 상자만, Centroid로 바꾸면 bounding box 중심의 점 하나만 표시할 수 있습니다. 멀리 있는 반복 물체는 Bounding Box나 Centroid로 두고, 모양을 확인할 때만 Full Geometry로 바꾸세요.

Display As뷰포트 표현계산기 기준
Full Geometry전체 geometry입력한 폴리곤 수
Bounding Boxgeometry의 경계 상자물체마다 6 quad 면으로 근사
Centroid경계 상자 중심의 한 점폴리곤 0개, 물체마다 점 1개

Packed와 Bounding Box는 같은 말이 아닙니다. Packed는 geometry 참조와 변환을 다루는 방식이고, Display As는 뷰포트의 표시 수준입니다. Houdini 19.5의 File SOP 문서에서 Packed Disk Primitive의 Display As는 렌더 결과를 바꾸지 않고, 렌더할 때는 전체 geometry를 사용합니다.

PolyReduce와 Level of Detail은 적용 대상이 다릅니다

Display Options의 Level of Detail은 Houdini 19.5 기준으로 metaball, NURBS, Bézier surface의 표시 해상도를 조절합니다. 일반 polygon mesh의 면 수를 줄이는 기능은 아닙니다. Subdivision Polygon Limit은 subdivision으로 만들어질 최대 폴리곤 수를 제한합니다.

Polygon mesh 자체를 줄여야 한다면 PolyReduce SOP에서 Percentage of Input Polygon Count나 Output Polygon Count 목표를 정하세요. PolyReduce는 geometry를 실제로 바꾸므로 실루엣, 경계, UV, 속성 결과를 확인해야 합니다. 작업용 저해상도 출력과 최종 출력의 Display·Render flag를 분리하면 원본을 유지한 채 뷰포트만 가볍게 만들 수 있습니다.

후디니 최적화는 cook과 viewport draw를 구분하는 데서 시작합니다

파라미터를 바꾼 뒤 계산이 끝나길 기다리는 경우와, 계산은 끝났는데 카메라를 돌릴 때 화면이 늦게 갱신되는 경우는 병목이 다릅니다. 전자는 SOP cook을, 후자는 geometry·마커·재질·조명의 viewport draw를 먼저 의심하세요.

같은 frame의 SOP chain을 반복 재생할 때 cook이 오래 걸리면 Cache SOP가 geometry를 메모리에 보관해 재생을 빠르게 할 수 있습니다. 메모리를 더 쓰는 방식이므로 캐시 크기도 확인하세요. 디스크에 결과를 고정하려면 File Cache로 저장한 뒤 Load from Disk를 켜서 upstream을 다시 cook하지 않게 하세요.

캐시는 계산 대기를 줄일 뿐, 뷰포트에 그릴 폴리곤 수를 줄이지 않습니다. 캐시를 넣은 뒤에도 카메라 회전이 느리면 Template, 표시 마커, Packed Display As, 셰이딩을 다시 점검하세요.

먼저 끌 설정은 화면에 더해진 양으로 정하세요

정해진 하나의 옵션이 모든 씬에서 첫 번째는 아닙니다. Template flag가 불필요한 형상을 겹쳐 놓고 있다면 그것부터 끄세요. Template가 필요 없거나 켜져 있지 않다면 점·노멀·번호 표시를 끄고 비교하세요. 불필요한 Template가 있을 때는 Template flag가 첫 번째 점검 대상입니다.

  1. Template 출력이 꼭 필요한지 확인하고, 불필요하면 Template flag를 끄세요.
  2. 점 마커, 점 번호, point normals, primitive normals를 하나씩 꺼서 회전 반응을 비교하세요.
  3. 많은 Packed Primitive를 보는 중이라면 Display As를 Bounding Box로 바꾸고, 더 단순한 프록시가 필요할 때 Centroid를 시험하세요.
  4. Display Materials와 높은 조명 품질을 잠시 꺼서 셰이딩 병목인지 확인하세요.
  5. 그래도 무거우면 polygon mesh는 PolyReduce 프록시로, NURBS·metaball 등은 해당 Level of Detail로 표시량을 조절하세요.
  6. 타임라인이나 파라미터 변경 뒤 계산 대기가 문제라면 Cache SOP 또는 File Cache를 사용하세요.

설정을 한꺼번에 끄면 어느 항목이 영향을 줬는지 알기 어렵습니다. 하나씩 바꾸고 카메라 회전과 재생을 따로 비교하세요. 화면 표시가 원인이면 표시량을 줄이고, cook이 원인이면 계산 결과를 캐시하세요.

Houdini 19.5.435에서 PolyReduce geometry를 측정했습니다

Houdini 19.5.435 Commercial의 hython에서 Grid SOP를 101×101 rows와 columns로 만들고 PolyReduce의 Percent To Keep을 10으로 설정했습니다. 입력은 10,000 polygons와 10,201 points였고, 출력은 1,000 polygons와 553 points였습니다. 이 샘플에서 geometry memoryusage는 846,696 B에서 61,920 B로 줄었습니다.

같은 조건에서 PolyReduce cook을 다섯 번 강제 재계산한 중앙값은 약 0.00154초였습니다. 이 값은 해당 입력의 SOP cook 시간이며, 프로세스 전체 메모리나 GPU VRAM 수치가 아닙니다. hython에는 뷰포트가 없으므로 이 결과에는 viewport FPS와 카메라 회전 시간이 포함되지 않습니다.

결과는 특정 10,000-quad Grid 샘플의 측정값입니다. 실제 씬은 속성, 재질, 폴리곤 형태, 장치, 드라이버에 따라 달라집니다. 이 숫자로 FPS 향상을 예상하지 말고, 계산기와 뷰포트에서 한 항목씩 확인하세요.

결론: 불필요한 Template부터 끄고 다시 비교하세요

Template가 필요 없는 보조 geometry를 띄우고 있다면 먼저 끄세요. 그렇지 않으면 점·노멀 표시와 Packed의 표시 방식을 비교하고, 셰이딩과 실제 geometry 단순화는 그다음에 판단하세요. 먼저 화면에 더해진 것을 줄이고, cook은 캐시하고, 최종 형상은 따로 지키세요.

참고 자료

vfx 잡학지식

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.