티스토리 뷰

반응형

소프트웨어 및 파이프 라인2

Houdini의 입자는 POP Solver를 사용하여 POP 개체로 시뮬레이션됩니다. POP 솔버는 Houdini에서 가장 기본적이고 효율적인 솔버 중 하나입니다. 멀티 스레딩을 최대한 활용하고 메모리 효율성이 매우 높습니다. 성능, 사용 편의성 및 예술적 연출성으로 인해 항상 최상의 옵션인 파티클을 통해 효과를 해결할 수있는 경우 파티클은 가져온 지오메트리 또는 다른 파티클을 기반으로 특정 위치에서 생성 될 수 있습니다. 각 시간 단계에 대해 솔버는 모든 파티클을 반복하고 적용된 힘과 속도를 기반으로 업데이트합니다. 단순한 파티클 역학 외에도 Houdini는 파티클 간의 질량 차이 또는 파티클 및 또는 다른 표면 간의 충돌 동작 범위와 같은 고급 기능을 허용합니다. 리기드 바디와 같은 보다 정교한 시뮬레이션에 비해 파티클의 한계를 기반으로, 매우 미세한 파편, 먼지 및 일반적인 "하위 픽셀"효과와 같은 2차 효과에 특히 유용합니다. 여기서 움직임과 불규칙성은 이보다 뚜렷한 효과를 지원합니다. 실제로 보이는 조각. 파티클의 또 다른 중요한 용도는 연기 / 파이로 시뮬레이션을 소싱하는 것입니다. 이 경우 파티클이 시뮬레이션되어 계산 비용이 더 많이 드는 플루이드 시뮬레이션을 위해 기본 모션 및 시작 매개 변수를 생성합니다. Houdini에서는 여러 리기드 바디 솔버를 사용할 수 있습니다. Houdini 12 이후 기본적으로 가장 많이 사용되는 것은 Bullet 솔버였습니다. Bullet 솔버는 Bullet Physics Library2를 기반으로합니다. 효율적인 충돌 감지, 리기드 바디 다이나믹 및 다양한 제약 조건의 견고한 구현에 초점을 맞춘 오픈 소스 물리 엔진입니다. Houdini와의 긴밀한 통합으로 인해 힘, 제약 조건 및 접착제와 같은 Houdini의 모든 리기드 바디 다이나믹 기능과 완벽하게 작동하며 옷감 및 와이어 솔버와 같은 다른 솔버 유형과 상호 작용할 수 있습니다. 불릿 엔진은 게임 및 시각 효과의 빠른 계산에 최적화되어 있으며 대용량 데이터 세트를 처리 할 수 있습니다. 상자 및 원통과 같은 기본 충돌 지오메트리뿐만 아니라 블록 껍질에서도 잘 작동합니다. 이것은 실제 시뮬레이션 전에 효율적인 볼록 충돌 지오메트리는 시뮬레이션의 모든 오브젝트에 모두 생성됩니다. Houdini의 Bullet을 통해 오목 충돌도 지원되지만 권장되지 않으며 높은 계산 노력으로 불안정하고 폭발적인 시뮬레이션이 발생할 수 있습니다. 대부분의 리기드 바디 다이나믹 시뮬레이션의 경우 특히 파괴 fx 지오메트리는 SOP에서 크기와 모양이 다양한 여러 작은 조각으로 사전 골절되어야합니다. 그런 다음 다시 함께 접착되어 포장 된 개체로 DOP로 가져옵니다. 패킹 된 개체는 단일 지점입니다. 그리고 원래 형상을 다시 참조합니다. 해당 속성과 대표적인 충돌 형태는 시뮬레이션 관련 데이터를 저장하고 계산하는 데 사용됩니다. 따라서 완전한 원래 형상을 사용하는 것보다 시뮬레이션이 더 효율적입니다. 또 다른 장점은 시뮬레이션의 모든 조각이 이제 파티클과 유사한 단일 지점으로 처리되기 때문에 전체 범위의 입자 연산자를 리기드 바디에서 사용할 수 있다는 것입니다. 이것은 시뮬레이션을 쉽게 아트 디렉팅 가능하게 만드는 데 도움이됩니다. Houdini에서 연기, 불, 먼지 및 대부분의 기체 유체에 대한 두 가지 주요 솔버는 파이로 솔버와 연소 또는 화염없이 작동하는 단순화 된 변형 스모크 솔버입니다. 일반적으로 유체 시뮬레이션에 파이로 솔버를 사용하는 것이 좋습니다. 화염이 필요하지 않더라도 연기 솔버보다 우수한 추가 컨트롤과 설정이 있기 때문입니다. 두 솔버 모두 그리드 기반 Eulerian 시뮬레이션 접근 방식을 사용합니다. 최대 그리드 크기와 해상도는 시뮬레이션 시작 부분에 설정해야하며 시뮬레이션 내용에 따라 현재 크기를 동적으로 조정할 수 있습니다. rbd sim과 유사하게, 데이터는 pyro sim으로 소싱하기 위해 SOP에서 준비되어야합니다. 소스의 가장 중요한 속성은 밀도와 속도입니다. 화재 또는 연소 시뮬레이션의 경우 이전 속성 외에도 연료와 온도가 있습니다. 시뮬레이션에 속성을 소싱하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은관련 속성을 포함하는 시작점으로 볼륨을 생성하고 거기에서 시뮬레이션합니다. 또 다른 일반적인 접근 방식은 최종 연기 시뮬레이션을 원하는 모양으로 파티클 시뮬레이션을 만드는 것입니다. 이러한 파티클 속성을 소싱하여 플루이드의 이동을 제어하는데 직접 사용할 수 있습니다. 이런 식으로 무거운 파이로 시뮬레이션 대신 파티클 시뮬레이션을 빠르게 계산하여 많은 시간을 절약 할 수 있습니다. Houdini는 동적 볼륨 데이터에 대해 고도로 최적화 된 파일 형식 인 VDB와 완벽하게 호환됩니다. Houdini의 자체 볼륨 데이터 유형 대신 VDB를 사용하여 작업하면 많은 계산 시간과 스토리지를 절약 할 수 있으며 SOP에 머무는 동안 후자가 효율적이지 않습니다. 소싱 및 충돌은 VDB와 호환되지만 불행히도 파이로 솔버는 계산을 위해 내부적으로 Houdini 볼륨과 함께 작동합니다. 즉, 시뮬레이션의 출력도 Houdini 볼륨에 있으며 디스크에 캐싱하기 전에 VDB로 변환하면 큰 이점을 얻을 수 있습니다. 일반적인 DOP 힘은 파이로 시뮬레이션에 적용될 수 있지만, 가장 자주 모션을 제어하는 더 좋은 방법은 속도 나 충돌을 시뮬레이션에 소싱하는 것입니다. 또한 마이크로 솔버를 추가하여 유체의 거동을 대폭 변경하고 제어 할 수 있습니다. 마이크로 솔버는 파이로 솔버의 기능 위에 작동하여 시뮬레이션의 특정 동작에 영향을주는 추가 솔버입니다. 많은 것들이 이미 파이로 솔버에 내장되어 있지만 더 제한적이고 덜 유연한 기능만을 가지고 있습니다. 3D 응용 프로그램간에 데이터를 교환해야하는 경우가 많습니다. 특히 Houdini는 시뮬레이션에 자주 사용되지만 더 효율적인 렌더러 나 다른 응용 프로그램에 더 많은 아티스트를 사용할 수 있기 때문에 다른 소프트웨어에서 렌더링이 수행됩니다. 가장 응용 프로그램간에 데이터를 교환하기위한 적응 형 및 기능적 형식은 Alembic입니다. ”Alembic은 개방형 컴퓨터 그래픽 교환 프레임 워크입니다. 복잡한 애니메이션 장면을 비절 차적, 응용 프로그램 독립적 인 구운 형상 결과 세트로 추출합니다. 장면을 베이킹 된 지오메트리로 '증류'하는 것은 조명 및 렌더링 장면을 추출하는 것과 정확히 유사합니다. 렌더링 된 이미지 데이터로. " 3 alembic의 주요 목표는 데이터를 매우 가볍고 효율적인 방식으로 저장하고 모든 중요한 정보를 유지하고 체계적으로 구성하고 불필요한 독점 데이터를 제거하는 것입니다. 또한 오픈 소스 구조로 인해 Alembic은 완전히 사용자 정의 할 수 있으며 많은 시각 효과 스튜디오에서 데이터와 상호 작용하는 자체 도구 세트를 구축합니다. 이론적으로 올바르게 설정하면 최소한의 디스크 공간과 계산을 사용하면서 형상 데이터를 모든 지원 응용 프로그램으로 원활하게 가져올 수 있습니다. Alembic 지원은 Houdini에 잘 통합되어 있으며 다양한 옵션과 추가 기능을 제공합니다. 중요한 기능은 "요구로드"경보 데이터입니다. 이 경우 Houdini는 먼저 RAM에 저장할 필요없이 alembic에 포함 된 지오메트리를 장면 / 뷰어에 직접로드합니다. Mantra에서도 마찬가지입니다. 디스크에서 직접 지오메트리를 렌더링합니다. 메모리를 사용하는 대신 수백만 개의 다각형이있는 큰 장면을 렌더링 할 때 큰 차이를 만들 수 있습니다. 패킹 된 프리미티브 / Alembic 으로 작업 할 때 Houdini는 현재 필요한 것만 로드하므로 지오메트리 I / O가 훨씬 더 효율적입니다. 내보내기 옵션은 유사한 기능을 제공합니다. HDF5와 Ogawa의 두 가지 다른 출력 형식이 있으며, 후자는 공간 요구 사항이 적고 다중 스레드 성능이 더 좋은 최신 형식입니다. 매우 유용한 옵션은 지오메트리의 경로 속성을 통해 출력을 구조화하는 것입니다. 이 옵션을 선택하면 alembic을 여러 다른 그룹 / 널 (각 고유 경로 값에 대해 하나씩)으로 구분하고 전체 계층 구조도 고려합니다. 따라서 하나의 메시 대신 alembic을 경로 값당 하나의 메시로 다른 소프트웨어로 가져올 수 있습니다. 예를 들어 벽의 각 부서지는 부분은 재료별로 그룹화됩니다. alembic 내보내기의 또 다른 중요한 설정은 패킹 된 변환을 처리하는 방법입니다. 한 가지 옵션은 첫 번째 프레임에 대해 패킹 된 지오메트리를 전체적으로 저장 한 다음 발생하는 변환만 저장하는 것입니다. 물론 이것은 실제 지오메트리가 변형되지 않고 포인트 수가 변경되지 않는 경우에만 가능합니다. 다른 옵션은 각 프레임에 대해 변환 된 형상을 저장하는 것입니다. 후자는 전체 지오메트리를 프레임마다 저장해야하기 때문에 파일 크기가 훨씬 더 커집니다. 반면 첫 번째 옵션의 경우에는 저장 한 다음 더 저렴한 변환 데이터 만 저장하면됩니다. 옵션 1의 단점은 다른 소프트웨어에서 액세스하기 전에 먼저 지오메트리를 프레임에 대해 "계산"해야한다는 것입니다. 따라서 첫 번째 프레임의 지오메트리가 읽혀진 다음 액세스 된 프레임에 저장된 위치, 회전 및 배율로 변환됩니다. 성능 병목이있는 위치, 저장 공간 및 읽기 속도 또는 계산 성능 및 더 긴 장면 설정 시간에 따라 렌더링시 한 설정이 다른 설정보다 더 적합합니다.

반응형
댓글