[ Fluid Simulation ] 03. 액체 시뮬레이션에서 파동 난류를 표현하기 위한 GPU 병렬화 (GPU Framework for Simulating Wave Turbulence in Fluid Simulation)
·
물리 기반 시뮬레이션/Fluid Simulation
🌊 액체 시뮬레이션에서의 파동 난류 표현액체 시뮬레이션에서의 파동 난류 표현과 같은 세부적인 시각적 표현은 많은 연산을 요구하기 때문에 CPU 기반 시뮬레이션만으로는 성능적인 한계가 존재한다. 이를 해결하기 위해 최근에는 GPU 병렬화 기법을 활용하여 액체 시뮬레이션을 더욱 사실적으로 표현하기 위한 연구가 활발히 진행되고 있다.따라서, 이번에는 FLIP 기법을 활용하여 액체를 시뮬레이션하고, 난류와 같은 세부 물리 현상을 GPU 병렬화 기법을 활용하여 효율적으로 처리하는 프레임워크를 제안한다. 기반 시뮬레이션의 프레임워크는 다음과 같다:또한, 병렬화 과정은 다음 두 단계로 나눌 수 있다:FLIP 시뮬레이션의 GPU 병렬화파동 난류의 GPU 병렬화🚀 FLIP 시뮬레이션의 GPU 병렬화액체 시뮬레이션의 ..
[ Cloth Simulation & Collision ] 05. Local Optimization for SDF
·
물리 기반 시뮬레이션/Cloth Simulation
⚙️ Loal Optimization for SDF(Signed Distance Field)✅ NVIDIA의 Local Optimization for Robust Signed Distance Field Collision 논문은 SDF를 이용한 충돌처리에서 삼각형 Cloth에 대해 Face와 Edge 사이의 접촉을 연속적인 방식으로 생성하는 방법을 다룬다.➡️ 이는 이산화된 위치에서 접촉을 생성하던 이전 접근법과는 다르게, 실제 정점이 존재하지 않는 Face와 Edge 내부에 접촉을 생성하기 때문에, 면에 대한 충돌처리가 가능해진다.🎯 이때, Projected Gradient Descent와 Frank-Wolfe 방법과 같은 로컬 최적화를 위한 수치 해석적 방법을 사용한다. 📏 Projected Gra..
[ Cloth Simulation & Collision ] 04. 천 자가 충돌 (Cloth Self-Collision)
·
물리 기반 시뮬레이션/Cloth Simulation
👕 Cloth Self-Collision하나의 천에서 서로 겹치거나, 부딪힐 때 면을 통과하지 않도록 하는 충돌 처리 방법이다.❗ Self Collision이 적용되지 않은 천에서는 서로 부딪혔을 때 통과하는 등의 현상이 발생할 수 있다. ➡️ 따라서, 사실적인 천을 시뮬레이션 하기 위해서는 이러한 SelfCollision이 필요하다. 이러한 Self Collision은 다음과 같이 다섯 가지 방법을 통해 구현된다.1. hash를 이용한 각 정점 접근2. 떨림 현상을 피하기 위한 rest distance 사용3. Iterator Solver와 CCD가 아닌 Sub-Stepping 사용4. 최대 속도 제한5. 안정적인 천-천 마찰 사용🔴 Particle Hash무작위로 배치된 정점들 사이에서, 일정 거..
[ Cloth Simulation & Collision ] 03. 충돌 (History-Based Collisions)
·
물리 기반 시뮬레이션/Cloth Simulation
💥 History-Based Collision이전의 Level Set Based Collision을 보완한 충돌 처리 방법으로, 다음 위치를 충돌 법선 방향으로 투영하여 제한하던 이전 방법과는 다르게, 이는 원래의 속도를 그대로 투영하여 계산한다. 이는 다음 두 단계에 걸쳐 계산된다. 현재 위치 - 충돌 물체의 표면 - 다음 위치🔎 충돌 감지 (Collision Detection)앞에서 언급했듯이, 현재 속도를 법선 방향으로 투영하여 거리를 계산하는 이전 방법과는 다르게, 속도에 따른 다음 위치를 계산한 뒤, 이것과 표면으로부터의 수직 거리를 계산한다. ➡️ 이때, 계산한 거리 값이 음수라면 충돌을 의미한다.📌 충돌 처리 (Collision Response)충돌이 감지되면 다음과 같이 두 단계에 걸..