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

후디니 파이로 연기가 네모나게 잘릴 때: 컨테이너 경계부터 확인

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

파이로 연기가 네모나게 잘리면 복셀부터 줄이기 전에 잘린 모양으로 컨테이너 벽, 패딩 부족, 복셀 크기 중 무엇이 원인인지 가려야 합니다.

후디니 파이로 연기가 네모나게 잘리면 복셀 크기를 줄이기 전에 컨테이너 경계부터 확인하세요. 파이로로 굴뚝 연기를 올렸습니다. 처음 몇십 프레임은 괜찮다가, 어느 순간부터 연기 윗부분이 칼로 자른 듯 평평해집니다. 다른 샷에서는 빠르게 퍼지는 연기 가장자리에 사각형 조각이 붙어 다니고, 가까이 당긴 카메라에서는 연기 전체가 작은 큐브를 쌓은 것처럼 각져 보입니다. 밤새 돌린 캐시가 이렇게 나오면 해상도부터 올리고 싶어지죠.

하지만 ‘네모나다’는 증상에는 원인이 적어도 세 가지 있습니다. 연기가 컨테이너 벽에 닿아 잘린 경우, 컨테이너가 연기를 따라 넓어지는 속도가 부족한 경우, 복셀 자체가 커서 계단이 보이는 경우입니다. 이 중 복셀 크기를 줄여서 풀리는 건 마지막 하나뿐입니다. 잘린 모양을 먼저 보고 원인을 가르면, 시뮬레이션을 몇 번씩 다시 돌리지 않아도 됩니다.

후디니 파이로 연기 문제 세 가지 비교: 연기가 컨테이너 벽에 잘릴 때, 가장자리에 사각 흔적이 남을 때, 복셀이 계단 모양으로 보일 때 비교
평평한 절단면과 사각 가장자리는 경계를 먼저, 전체적으로 거친 계단은 복셀 크기를 먼저 확인합니다.
보이는 증상먼저 볼 곳
축에 나란한 평평한 면컨테이너의 최대 크기와 벽
움직이는 연기의 가장자리에 사각 조각Padding과 컨테이너 확장
연기 전체의 윤곽에 계단Voxel Size

후디니 파이로 연기가 잘린다면 해상도보다 컨테이너를 먼저 봅니다

많이 하는 첫 대응은 Voxel Size를 반으로 줄이는 것입니다. 그런데 SideFX 문서에 적혀 있듯, 복셀 크기를 절반으로 줄이면 메모리와 시간은 여덟 배가 듭니다. 가로, 세로, 깊이 세 축에서 복셀 수가 각각 두 배가 되기 때문이에요. 한 변이 10유닛인 공간을 0.1 복셀로 채우면 한 축에 100개, 전체 100만 개입니다. 0.05로 줄이면 한 축 200개, 전체 800만 개가 됩니다.

이렇게 여덟 배를 치르고도 연기 윗면이 여전히 평평하다면, 문제는 해상도가 아니라 연기가 들어갈 수 있는 공간의 경계입니다. 경계는 복셀이 촘촘해져도 같은 자리에 있습니다. 연기는 더 매끈한 모양으로 같은 벽에 잘릴 뿐입니다.

후디니 파이로 컨테이너는 연기를 따라 커지는 상자입니다

파이로는 연기를 복셀 격자 위에서 계산합니다. 이 격자가 차지하는 상자를 컨테이너, 또는 도메인이라고 부릅니다. 무한한 공간을 계산할 수는 없으니, 솔버는 연기가 있는 곳만큼만 상자를 잡고 연기가 퍼지면 상자를 넓힙니다.

Pyro Solver SOP의 Bounds 탭을 보면 이 과정이 그대로 드러납니다. Reference Fields에 적힌 필드(보통 density)에서 값이 양수인 복셀을 모두 감싸는 상자를 구하고, 그 상자를 Padding만큼 사방으로 넓힌 것이 다음 컨테이너가 됩니다. 문서는 Padding을 가능한 한 작게 두되, 움직이는 연기가 한 타임스텝 안에 컨테이너 밖으로 나가지 않을 만큼은 커야 한다고 설명합니다.

파이로 연기가 컨테이너 벽에 닿아 잘리는 경우와 경계 안에 여유가 있는 경우
연기가 이동할 다음 타임스텝까지 감쌀 수 있도록 패딩과 컨테이너 확장을 확인합니다. 그림은 개념도입니다.

여기서 두 가지 잘림이 생깁니다. 하나는 상자에 상한을 걸어 둔 경우입니다. Limit Maximum Size를 켜면 Size와 Center로 정한 크기 이상으로는 컨테이너가 커지지 않습니다. 메모리 폭주를 막는 안전장치지만, 연기가 그 벽에 닿으면 축에 나란한 평평한 면으로 잘립니다. 다른 하나는 상자가 넓어지는 속도가 연기를 못 따라가는 경우입니다. 폭발처럼 빠른 연기는 한 스텝 사이에 Padding보다 멀리 이동하고, 새로 열린 영역의 경계에 사각형 타일 자국이 남습니다. 문서도 Padding이 충분하지 않으면 연기 표면에 타일 자국이 생길 수 있다고 적고 있습니다.

여기서 타일은 격자를 일정한 덩어리로 나눈 단위입니다. Sparse 모드에서는 크기 조정이 16복셀 단위의 타일로 이뤄지기 때문에, 이 자국이 복셀 하나보다 훨씬 큰 네모로 보입니다. 복셀 계단과 헷갈리지 않는 단서가 바로 이 크기입니다.

잘린 모양을 보면 원인이 갈립니다

캐시를 다시 돌리기 전에 문제 프레임에서 세 가지만 봅니다. 먼저 잘린 면이 X·Y·Z 축 중 하나와 나란한 넓은 평면이고 여러 프레임 같은 높이에 머문다면 벽입니다. Bounds 탭의 Limit Maximum Size가 켜져 있는지, Size가 연기의 최종 크기보다 작지 않은지 확인하세요.

다음으로 네모가 연기 바깥쪽, 특히 빠르게 뻗는 방향에만 생기고 크기가 복셀보다 훨씬 크다면 패딩 부족입니다. Fields 탭의 Field Guides 메뉴에서 Active Region 표시를 켜면 실제로 계산 중인 영역이 보입니다. 연기 끝이 이 영역의 가장자리에 딱 붙어 있다면 원인을 찾은 겁니다.

마지막으로 연기 전체의 윤곽이 작은 계단으로 되어 있고 그 계단 크기가 Voxel Size와 비슷하다면, 그때가 해상도 문제입니다. 뷰포트는 표시 설정에 따라 볼륨을 거칠게 보여 줄 수 있으니 판단은 렌더 한 장으로 확인하는 편이 확실합니다.

고치는 순서: 경계, 패딩, 그다음 복셀

첫째, 벽이 원인이면 Size를 연기가 끝까지 퍼지는 범위보다 넉넉하게 늘리거나, 상한이 꼭 필요하지 않은 샷에서는 Limit Maximum Size를 끕니다. 하늘로 계속 오르는 연기라면 카메라에 보이는 범위까지만 담기도록 Center를 옮기는 것도 방법입니다. 벽이 화면 밖에 있으면 잘린 면도 보이지 않습니다.

둘째, 패딩 부족이면 Padding을 조금씩 올려 봅니다. Resizing 항목의 Extrapolate Velocity into New Tiles를 켜면 새로 열린 영역이 이웃의 속도를 이어받아 타일 자국이 줄어듭니다. 연기가 한 프레임에 너무 멀리 가는 게 근본 원인이라면 서브스텝을 늘려 한 스텝의 이동 거리를 줄이는 쪽도 봐야 합니다. 빠른 움직임에서 스텝이 부족할 때 생기는 일은 충돌과 서브스텝 글에서 같은 원리로 설명했습니다.

셋째, 복셀 계단은 마지막에 다룹니다. 현장에서는 보통 큰 복셀로 연기의 타이밍과 퍼지는 범위를 먼저 잡고, 컨테이너 문제가 없는 걸 확인한 뒤 복셀을 줄여 최종본을 돌립니다. 모양이 확정되기 전에 해상도를 올리면, 수정할 때마다 여덟 배의 대가를 치르게 되니까요.

같은 공간을 10×10×10칸과 20×20×20칸으로 나눈 복셀 수 비교
복셀 한 변을 절반으로 만들면 세 축의 칸 수가 각각 두 배가 되어 전체 칸 수는 여덟 배가 됩니다.

복셀 크기를 정할 때는 숫자만 보지 말고 씬의 단위도 함께 봐야 합니다. Voxel Size는 씬 단위의 길이라서, 같은 0.1이라도 1유닛을 1미터로 쓰는 씬과 1센티미터로 쓰는 씬에서 뜻이 완전히 다릅니다. 튜토리얼 값을 가져왔는데 연기가 유독 거칠거나 너무 무겁다면 씬 스케일이 시뮬레이션을 바꾸는 이유부터 확인하세요.

버전과 설정에 따라 이름이 다릅니다

위의 파라미터 이름은 Houdini 19에서 인터페이스가 바뀐 Pyro Solver SOP 기준입니다. DOP 네트워크로 직접 구성한 셋업이라면 Smoke Object (Sparse)의 Voxel Size와 Max Size가 같은 역할을 합니다. 이 노드의 Boundary Conditions에서 Treat X·Y·Z as를 Closed Below나 Closed Above로 두면 그 좌표에 단단한 벽이 생기므로, 바닥 대신 쓴 닫힌 경계가 엉뚱한 축에 걸려 있지 않은지도 확인하세요. Domain 가이드를 켜면 최대 크기 상자와 닫힌 경계가 뷰포트에 표시됩니다.

네모가 아닌데 끊겨 보인다면

연기 끝이 평평하지 않고 점점 옅어지다 뚝 사라진다면 잘림이 아니라 소멸일 수 있습니다. Dissipation이 높으면 연기는 시간이 지날수록 빠르게 사라지고, Clamp Below 값에 따라 아주 옅은 연기가 정리됩니다. 첫 프레임부터 연기가 각져 있다면 솔버보다 소스를 먼저 보세요. 소스 볼륨이 거칠면 시뮬레이션은 그 모양 그대로 출발합니다.

한 줄 정리

연기가 네모나게 잘리면 복셀부터 줄이지 말고, 잘린 모양으로 벽인지 패딩인지 복셀인지 가른 뒤 그 순서대로 고치세요.

vfx 잡학지식

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.