DOTS 기반 프로젝트를 위한 Unity와 Havok 피직스의 협업

Unity의 C# 데이터 지향 기술 스택이 제공하는 풍부하고 인터랙티브하면서 역동적인 세계를 창조하세요.

두 개의 물리 시스템, 하나의 데이터 프로토콜

피직스 솔루션은 Unity 피직스와 Havok 피직스 두 가지로 구성됩니다. 둘 다 DOTS 프레임워크를 기반으로 하기 때문에 동일한 데이터 프로토콜을 사용합니다.

이를 통해 콘텐츠 또는 게임 코드를 재구성하지 않고도 물리 시스템 간에 프로젝트를 원활하게 전환할 수 있습니다.

Unity 피직스나 Havok 피직스 중 하나 또는 둘 다 함께 사용하든 관계없이, 통합 데이터 프로토콜을 사용하면 DOTS 지원 시스템을 사용하여 한 번 작성한 다음 시뮬레이션할 수 있습니다.

제작 비화: 유니티와 Havok의 협업

우리는 Havok과 협력하여 DOTS 기술을 기반으로 한 새로운 물리 엔진을 개발했습니다.

Shawn McClelland(유니티 제품 매니저)와 Joel Van Eenwyk(Havok 필드 애플리케이션 엔지니어)가 최신 네트워킹 요구사항에 맞게 탁월한 성능을 제공하는 물리 시뮬레이션을 생성하게 해 주는 DOTS 프레임워크를 기반으로 하여 시스템을 구축한 비결을 알아보세요.

Unity 피직스 및 Havok 피직스

Unity 피직스 및 Havok 피직스는 DOTS(데이터 지향 기술 스택) 프레임워크를 기반으로 하여 구축됩니다. 한 솔루션에서 다른 솔루션으로 프로젝트를 전환할 수 있으며, 동시에 실행할 수 있습니다. 데이터 호환이 가능하며 Unity의 강력한 툴과 워크플로를 사용할 수 있습니다.

Unity 피직스

신속함. 가벼움. 스테이트리스. 커스터마이징 가능. 그것이 우리의 새로운 Unity 피직스 솔루션에 담긴 핵심입니다.

Unity C# DOTS 프레임워크를 기반으로 하는 이 솔루션은 네트워크 지원 및 완벽한 커스터마이징이 가능하고 즉시 성능을 발휘하도록 제작되었습니다. Unity 피직스는 차기 모바일 히트작 또는 새로운 네트워크 멀티플레이 콘솔 경험을 구축할 때 버스트 컴파일러 및 잡 시스템을 활용하여 다양한 하드웨어에 맞게 확장됩니다.

Unity 피직스는 현재 패키지 관리자를 통해 사용 가능한 프리뷰 릴리스 버전이며, Unity 2019.1 이상 버전과 호환됩니다.

Havok 피직스

Havok 피직스
Havok 피직스는 복잡한 물리 시뮬레이션을 제작해야 하는 고객에게 최상의 솔루션을 제공합니다. Havok 피직스는 이 콘솔 세대 최고 타이틀의 절반 이상을 지원하는 업계 최고의 Havok 피직스 엔진을 기반으로 합니다. Havok 피직스는 Unity 피직스와 동일한 C# DOTS 프레임워크로 작성되었지만 네이티브 C++로 작성된 클로즈드 소스인 전용 Havok 피직스 엔진의 특징, 성능, 안전성, 기능을 포함합니다.

Havok 피직스에 액세스하는 방법에 대한 참고 문서를 확인해 보세요.

성능 
Havok 피직스는 일반적인 게임 사용 사례에 상당 부분 최적화되었습니다. 핵심 알고리즘이 여러 해에 걸쳐 개선되었으며 다양한 자동 캐싱 전략(예: 비활성화된 오브젝트에 절전 기능 사용)에서 볼 수 있듯이 CPU 리소스를 필요한 경우에만 사용합니다. 

Havok 피직스 Unity 통합: 성능 - YouTube를 참고하세요.

동작
Havok 피직스는 보통 물리적 인터랙션이 많은 세밀한 씬이 포함된 가장 그래픽 집약적인 게임의 성능 요구 사항을 충족하도록 고안된 강력한 물리 엔진입니다. Havok은 20년이 넘도록 다양한 업계에서 파트너들과 협업해 오면서 물리 시뮬레이션 구현 시 직면하는 가장 어려운 문제 중 다수를 경험하고 해결할 뿐만 아니라 계속해서 문제에 직면하고 있습니다. 이는 바디가 빠르게 움직이는 영역에서는 물리 바디가 안정적으로 스태킹되고 아티팩트가 최소화되며, 일반적으로 동작을 더 제어할 수 있음을 의미하는데 특히 최적화되지 않은 충돌 지오메트리 작업 시 더욱 그렇습니다. 

스태킹 안전성(Stacking Stability) - YouTube메시 결합(Mesh Welding) - YouTube 를 참조하세요.

자주 묻는 질문

'결정론적'의 의미

결정론적 분명성은 동일한 입력 세트가 주어졌을 때 물리적 시뮬레이션에서 동일한 결과를 얻는 것에 관한 것입니다. Unity 피직스와 Havok 피직스 모두 결정론적으로 분명한 결과를 제공합니다. 그러나 CPU 아키텍처(x86, ARM, 기타 등등)마다 수학 계산에 약간의 차이가 있기 때문에 시물레이션의 결정론적 결과는 하드웨어에 따라 다를 수 있습니다.

버스트를 통해 아키텍처 간 결정론적 분명성 문제를 올해 내에 해결할 것이므로 Unity 피직스에서도 이 기능을 자동으로 활용하게 될 것입니다. 즉, 모든 디바이스에서 시뮬레이션이 동일하게 적용됩니다.

참고: 단일 아키텍처 결정론적 분명성의 경우, Unity 피직스는 예정된 버스트 업데이트를 필요로 할 것입니다.

“스테이트리스 피직스”의 의미

Havok을 비롯한 대부분의 물리 엔진은 다른 계산을 우회하거나 안정화하기 위해 세계 상태의 일부를 캐싱하는 것과 같은 지능형 최적화를 통해 성능 및 안전성을 구현합니다. 스테이트리스 피직스는 무차별 대입 최적화를 통해 성능을 구현합니다. 이러한 이유로 인해, 그리고 버스트의 향후 버전은 여러 아키텍처에서 실행될 수 있기 때문에 여러 다른 네트워킹 시나리오에 도움이 될 수 있습니다. 다른 한편으로는 Havok이 더 뛰어난 성능과 안전성을 구현할 수 있는 몇 가지 시나리오가 있습니다.

스테이트리스 피직스가 네트워킹 게임에 미치는 영향

스테이트리스 피직스는 버스트의 향후 버전에서 여러 CPU 아키텍처에서 결정론적으로 실행할 수 있기 때문에 클라이언트측 예측(예: FPS), 락스텝 클라이언트 시뮬레이션(예: RTS), GGPO/롤백(예: 격투 게임)을 비롯한 다양한 네트워킹 설정에서 쉽게 사용할 수 있도록 준비될 것입니다.

내 게임에서 Havok 피직스를 사용하면 어떤 이점이 있습니까?

Havok 피직스는 지능형 최적화를 수행하기 위해 서로 다른 상태 정보를 캐시하므로 대규모 게임이나 복잡한 물리 시스템을 사용하는 게임에서 우수한 성능을 구현할 수 있습니다. 또한 Havok 피직스는 상호 관통하는 오브젝트 및 스태킹 바디를 더 안정적으로 처리합니다. 또한 캐시가 필요한 고급 마찰 모델로 인해 동작이 개선됩니다.

기존 게임에 Havok 피직스를 소급 적용할 수 있나요? 할 수 있다면 얼마나 어려운가요?

Havok 피직스와 Unity 피직스 모두 Unity 에디터에서 동일한 데이터 모델을 사용합니다. 콘텐츠를 단일 방식으로 제작할 수 있고, 게임 또는 게임 월드 하위 세트의 특정 요구사항에 따라 하나 또는 두 개의 피직스 백 엔드를 선택할 수 있습니다.

새로운 시스템으로 인해 어떤 손상이 있거나 현재 또는 미래의 프로젝트가 더 복잡해질 수 있나요?

안됩니다. Havok 피직스와 Unity 피직스는 모두 DOTS 기반의 사전동의 패키지입니다. 기존의 콘텐츠가 손상되지는 않지만 새 백 엔드 중 하나로 이전하는 경우 기존 콘텐츠를 다시 조정해야 할 수도 있습니다.

유니티에서는 최적의 웹사이트 환경을 제공하기 위해 쿠키를 사용합니다. 자세한 내용은 쿠키 정책 페이지를 참조하세요.

확인