오픈소스로 만나는 ‘PhysX 5 SDK’

by NVIDIA Korea

최신 버전의 NVIDIA PhysX 5 SDK가 NVIDIA PhysX 4와 동일한 오픈소스 라이센스 조건으로 제공됩니다. 이는 전 세계 산업 전반에 걸쳐 시뮬레이션 워크플로우와 애플리케이션을 확장하는 데 도움이 되는데요. NVIDIA Omniverse/PhysX 깃허브(GitHub) 저장소에서 업데이트할 수 있습니다.

PhysX는 게임웍스(GameWorks)의 오랜 기술로, NVIDIA Omniverse의 주요 물리 엔진이자 기술면에서 핵심적인 기둥 역할을 하고 있습니다. 업계 리더들은 로보틱스, 심층 강화 학습, 자율 주행, 공장 자동화와 시각 효과를 위해 강력한 시뮬레이션 엔진인 PhysX를 사용하고 있습니다. 차세대 로보틱스 애플리케이션의 경우, PhysX를 통해 자율 기계를 시뮬레이션하고 테스트하는 데 필요한 실시간 속도에서 높은 정확도의 시뮬레이션을 할 수 있죠.

오픈 3D 파운데이션(Open 3D Foundation) 전무이사 겸 리눅스 파운데이션(Linux Foundation) 디지털 미디어 및 게임 총괄 매니저인 로얄 오브라이언(Royal O’Brien)은 “NVIDIA PhysX 5 라이브러리와 같은 강력한 물리학용 오픈소스 도구를 보유하는 것은 오픈 3D 엔진(Open 3D Engine)이 현실성을 제공함에 매우 중요한 부분입니다”고 말했습니다.

그는 “시뮬레이션, 디지털 트윈과 같이 중요한 3D 영역에서 PhysX를 사용하는 사례가 확산되고 있습니다. 따라서 NVIDIA가 오픈소스와 협력해 모든 사람들이 이로부터 얻을 수 있는 혁신과 협업을 활용할 수 있게 돼 기쁩니다”고 덧붙였죠.

PhysX는 깃허브의 픽사애니메이션스튜디오(PixarAnimationStudios)/USD에서 사용할 수 있는 유사한 오픈소스 픽사 USD(Universal Scene Description) 물리 표준의 주요 레퍼런스 구현체입니다. 이는 PhysX 4에 적용되는 것처럼 보다 관대한 라이센스 조건으로 회귀하는 결정임을 의미하는데요. 모든 CPU 소스 코드는 간단한 BSD3 오픈소스 라이선스로 이용할 수 있으며, NVIDIA GPU 바이너리가 무료로 포함됩니다.

픽사의 툴 심 리드(Tools-Sim Lead)인 데이브 에베를레(David Eberle)는 “PhysX SDK는 픽사와 공동 개발한 장면의 물리적 속성에 대한 설명인 USD PhysX와 함께 출시됩니다. 픽사는 NVIDIA 등 다른 업체와 지속적으로 USD 협업을 진행함으로써 크리에이터들이 보다 쉽게 장면에 물리학을 적용할 수 있도록 하는 것을 목표하고 있습니다. 또한 SDK의 오픈 소싱을 활용해 창의적인 툴에 시뮬레이션 동작의 채택이 가속화될 것으로 기대합니다”고 말했습니다.

새롭게 달라진 PhysX 5 오픈소스

NVIDIA FlowNVIDIA Blast 라이브러리는 기술적으로는 PhysX와 별개이지만, 이제 PhysX 제품군의 일부로써 함께 라이선스가 부여됩니다. 플로우는 PhysX SDK와 동일한 깃허브 레포(repo)에서 함께 번들로 제공되고 있으며, 블라스트 역시 곧 추가될 예정입니다.

PhysX 5 SDK는 다양한 새로운 기능을 제공하는 NVIDIA Flex를 지원합니다. PhysX 5 SDK가 지원하는 기능에는 유한 요소 모델 기반 소프트 바디 다이나믹스(Dynamics)는 물론, GPU에서 실행되도록 최적화된 위치 기반 역학을 사용하는 액체, 천, 팽창 가능한 객체 등이 포함됩니다. GPU에서 서명된 거리 필드 충돌 기능 또한 추가됐는데요. 이로써 사용자는 소스 메시의 복셀화 버전을 사용해 충돌 감지를 수행할 수 있으며, 콘벡스(convex) 분해를 생성할 필요가 없습니다.

영상 1. 옴니버스 크리에이트(Omniverse Create)의 한 장면에서 이동하고 있는 엔비디아 플로우 먼지 방출기

새로운 CPU 기능 측면에서, PhysX 5 사용자는 사용자 지정 지오메트리를 정의할 수 있습니다. 이를 통해 실린더 형태 또는 암시적인 블록 기반의 세계를 지원할 수 있습니다. 또한 대규모 시뮬레이션을 위한 CPU와 GPU 병렬 컴퓨팅 성능도 크게 향상됐습니다.

PhysX의 발전은 몇 가지의 근본적인 기술적 변화를 가져왔습니다. 과거에 PhysX는 다양한 비디오 게임 콘솔에 사용할 수 있는 최적화된 포트를 갖춘 게임 물리 엔진이었습니다. 하지만 이제 로보틱스, 심층 강화 학습, 자율 주행, 공장 자동화, 시각 효과에 사용되는 고성능 GPU 가속 물리 시뮬레이션 엔진이 됐죠. 그 결과 NVIDIA에서는 더 이상 비디오 게임 콘솔 포트 사용할 수 없지만, 허가 라이선스를 통해 커뮤니티는 이러한 플랫폼에 대한 포트를 만들고 유지할 수 있습니다.

영상 2. 피직스 5로 모델링된 기어와 카메라를 사용해 시뮬레이션된 키네틱(kinetic) 작품의 디지털 트윈

업데이트의 일환으로 디지털 콘텐츠 생성 도구 내보내기, 원격 측정, 진단 디버깅, 데모, 샘플과 같은 도구와 유틸리티 일부가 Omniverse 플랫폼에 병합됐습니다.

앞으로 고급 데모는 SDK와 함께 번들로 제공되지 않습니다. NVIDIA 온디맨드의 NVIDIA Omniverse 물리 데모 페이지에서 PhysX의 사용 가능한 기능에 대한 고급 예시들을 확인할 수 있습니다. NVIDIA Omniverse에서는 콘텐츠 제작 도구에 대한 정보도 함께 제공하고 있습니다. NVIDIA는 Omniverse에서 최고의 물리 도구 모음을 만드는 데 투자하고 있으며, 이는 발전과 개선을 거듭할 예정입니다.

PhysX의 미래

NVIDIA는 포용적인 생태계 구축을 지원하기 위해 계속해서 오픈소스를 수용하고 있습니다. 이는 보다 많은 Omniverse 소스 코드를 개방하는 과정의 첫 단계에 해당하죠. 소스를 탐색하면 2001년 이전과 오늘날에도 여전히 사용할 수 있는 일부 파일들도 발견할 수 있습니다.

레메디(Remedy)의 기술 디렉터인 미카 베칼라(Mika Vehkala)는 “PhysX는 재미와 함께 현실적이고 실제라고 믿을 수 있는 비디오 게임을 만드는 데 필수적인 도구입니다. NVIDIA가 최신 버전으로 오픈소스화 된 것에 대해 기쁘게 생각합니다”라고 말했습니다.

가까운 시일 내에 PhysX SDK의 사용자 수정 버전을 사용자 지정 Omniverse 확장 프로그램으로 빌드하는 방법을 보여주는 소스 코드 릴리스를 확인할 수 있습니다. 더불어 NVIDIA는 USD PhysX 파서(parser)와 시뮬레이션 스택의 풀 레퍼런스 구현을 전체 소스와 함께 사용할 수 있도록 계획하고 있습니다.

NVIDIA Omniverse/PhysX 깃허브 저장소에서 오픈소스 코드, NVIDIA 플로우 라이브러리에 액세스해보세요. NVIDIA 온디맨드에서는 최신 PhysX 튜토리얼 영상을 확인할 수 있습니다.

Omniverse 개발자 리소스 센터USD 페이지에서 추가적인 정보를 확인할 수 있습니다. Omniverse에서 최신 튜토리얼을 시청하고 지원을 위한 포럼을 확인하세요. Omniverse 커뮤니티, 디스코드 서버, 트위치 채널에 가입하고 커뮤니티와 채팅하세요. 여기에서 최신 Omniverse 뉴스를 받아보고 구독할 수 있습니다.

NVIDIA Omniverse 인스타그램, 트위터, 유튜브, 미디움을 팔로우하고, 추가적인 정보를 얻어가세요.