본문 바로가기

전체 글

Physics-inspired Estimation of Optimal Cloth Mesh Resolution 논문 링크: https://wanghmin.github.io/publication/zhang-2025-pie/이 논문은 사전 시뮬레이션 없이, cloth의 각 부분에서 주름을 잘 표현하기 위한 최적 mesh 해상도를 물리적으로 예측하는 방법을 제안한다.요약Cloth mesh가 너무 낮은 해상도면 작은 주름을 표현하지 못하고, 너무 높은 해상도면 계산량과 메모리 사용량이 증가하므로 적절한 mesh 해상도를 얻는 방법이 필요이 논문은 fabric의 물성과 경계 조건을 통해 발생 가능한 주름 크기를 예측해서, 각 부위 최적 mesh 해상도를 계산하는 방법을 제안이 논문의 방법은 사전 시뮬레이션 없이, 실험 물리학의 주름 이론을 기반으로 물리적으로 예측높은 해상도가 필요한 부분만 mesh를 촘촘하게 구성해, u..
Lifting the Winding Number: Precise Discontinuities in Neural Fields for Physics Simulation 논문 링크: https://arxiv.org/abs/2502.00626이 논문은 물체가 잘려도 변형 표현 모델을 다시 만들지 않고 simulation하는 방법을 제안한다. 요약 기존의 neural field 기반 ROM(Reduced Order Modeling)은 절단에서 생기는 불연속성을 network weight에 학습하기 때문에, 학습에서 본 절단에는 적용할 수 있지만 새롭게 절단된 형태에는 일반화하지 못함이 논문은 기존의 neural network로 basis를 표현하는 방식에 winding number를 입력으로 추가하여, 절단에서 생기는 불연속성을 연속된 문제로 바꾸어 처리하는 Wind Lifter라는 구조를 제안이를 통해 학습하지 않은 새로운 절단에도 적용할 수 있으며, simulation ..
Progressive Outfit Assembly and Instantaneous Pose Transfer 논문 링크: https://dl.acm.org/doi/10.1145/3757377.3763868이 논문은 여러 벌의 옷을 서로 겹치지 않게 T-pose 캐릭터에 입히고, 입은 옷을 다른 자세로 빠르게 바꾸는 방법을 제시한다.요약여러 벌의 옷의 겹침을 해결하는 것은 매우 어려운 문제이다.이 논문은 복잡한 garment mesh 그대로 처리하지 않고, midsurface로 단순화하여 겹침을 해결한다.이때, 여러 벌의 옷을 한 번에 처리하지 않고, 두 벌씩 순차적으로 합치며 처리한다.또한, T-pose의 캐릭터에 겹침없이 여러 옷을 입힌 후 다른 pose로 전환할 때, grid를 이용하여 겹침을 해결한 상태로 빠르게 변형하는 방법을 제시한다. T-pose에서 여러 garment 겹침 해결1. 각 garment..
MaskedManipulator: Versatile Whole-Body Manipulation 논문 링크: https://research.nvidia.com/labs/par/maskedmanipulator/이 논문은 물리 기반 캐릭터가 손으로 물체를 잡고 옮기는 동작을, 손이나 물체의 목표 위치 같은 간단한 조건만으로 그 조건에 자연스러운 전신 움직임을 만들어내는 방법을 제안한다. 요약물체를 잡거나 옮기는 manipulation은 정확한 손 위치와 contact가 필요하기 때문에, 단순한 캐릭터 이동보다 훨씬 정밀한 제어가 필요하다.사용자가 모든 동작을 지정하는 방식은 제어가 복잡하기 때문에, 이 논문은 손의 목표 위치나 object의 목표 위치처럼 일부 정보만 주어도 전체 전신 동작을 생성하는 것을 목표로 한다.이를 위해 다음의 2가지 단계로 학습을 진행한다. MimicManipulator: h..
[OpenGL] SSBO (Shader Storage Buffer Object) SSBO는 shader가 직접 읽고 쓸 수 있는 buffer 객체VBO와 마찬가지로 GPU memory의 data 객체이지만, shader가 data에 어떻게 접근하는지 차이가 있음VBO와의 차이VBO: VAO가 buffer data를 해석하여 Vertex Shader의 attribute로 전달 SSBO: Shader가 binding된 buffer memory의 구조를 직접 해석하여 읽고 씀SSBO 사용 흐름1. SSBO 생성 glCreateBuffers (n, buffers)n: 생성할 buffer 개수buffers: 생성된 buffer ID를 받을 위치 SSBO로 사용할 buffer object 생성 2. Buffer memory 및 data 설정glNamedBufferData(buffer, size..
[OpenGL] VAO & VBO VAO & VBOVBO (Vertex Buffer Object): rendering에 사용할 vertex data가 저장되는 bufferVAO (Vertex Array Object): VBO의 vertex data를 vertex shader에 전달하기 위한 설정을 저장하는 객체※ rendering에는 주로 VAO & VBO, simulation 계산에는 주로 SSBO를 사용 VBO는 단순히 data가 저장된 buffer일 뿐이므로, OpenGL이 내부 data를 사용하려면 각 data를 어떻게 해석하고 가져올지에 대한 설정을 알아야 한다.VAO는 각 vertex attribute(position, normal 등)가 어떤 VBO에서 어떤 형식으로 data를 가져올지에 대한 설정을 가지고 있다.render..
QT Signal & Slot 방식 Qt의 Signal & Slot 방식은 객체 간에 event 발생이나 상태 변화를 전달하기 위해 사용하는 방법이다. 객체에서 특정 event가 발생하면 signal이 emit되고, 이 signal은 connect를 통해 미리 연결된 slot(function)으로 전달되어 실행되는 구조이다. Connection 설정signal과 slot(function)의 연결은 connect를 통해 설정한다.connect를 호출하면 Qt는 어떤 sender의 signal이 어떤 receiver의 slot과 연결되는지 connection을 등록한다. connect(sender, signal, receiver, slot)sender: signal을 발생시키는 객체signal: sender가 emit하는 signalrecei..
ROM(Reduced Order Modeling) FEM (Finite Element Method)특정 물체의 움직임을 시뮬레이션하기 위해 전통적으로 FEM 등의 방법을 사용FEM은 물체의 모양, 물성 등을 기반으로 해당 물체의 물리 방정식을 구성물체 전체의 변형을 한 번에 계산하기 어려우므로, 물체를 작은 element로 나누고 → 각 부분의 변형을 계산한 뒤 → 이를 합쳐 전체 움직임을 구하는 방법한계정확한 결과를 얻을 수 있지만, 많은 element를 직접 계산해야 한다따라서, mesh가 복잡해질수록 계산량이 크게 증가하여 simulation이 느려진다ROM(Reduced Order Modeling)ROM은 물체의 복잡한 변형을 대표적인 변형 패턴(basis function) 조합으로 근사하는 방법Simulation 전에 basis function..