2.7 질량, 무게중심, 관성 텐서
2.7.1 질량만 맞추면 충분하지 않다
동적 강체의 상태 응답에는 다음 세 속성이 모두 필요하다.
- 질량
- 무게중심/질량중심(center of mass, COM) 위치
- COM 기준 관성 텐서
병진 운동은 , 회전 운동은 단순한 주축 조건에서 로 설명된다. 질량이 같아도 질량이 중심에 모였는지 바깥에 퍼졌는지에 따라 각가속도가 다르다. COM이 실제보다 높으면 물체가 쉽게 넘어지고, 낮으면 지나치게 안정적으로 보인다.
2.7.2 직육면체 관성
질량 , 변 길이 인 균일 직육면체의 중심/주축 기준 관성은 다음과 같다.
code/inertia_properties.py는 이 식과 평행축 정리를 구현한다.
여기서 는 COM에서 새 기준점까지의 벡터다. CAD가 제공하는 관성 텐서의 단위와 좌표축이 USD asset과 같은지 반드시 확인한다. mm 기반 CAD 관성값을 m 기반 Stage에 그대로 넣으면 큰 오차가 난다.
2.7.3 density와 mass authoring
geometry와 density로 mass/inertia를 자동 계산하면 asset 수정에 따라 값이 함께 바뀌어 편리하다. 그러나 빈 용기, 내부 배터리, 비균질 물체는 균일 density 가정과 맞지 않는다. 이때는 실측 mass, COM, inertia를 명시한다. PhysX 문서는 mass와 inertia를 별개 속성으로 다루므로 mass만 바꾸고 inertia를 그대로 두지 않도록 한다. PxRigidBody API도 mass 설정만으로 inertia가 갱신되지 않는 경우를 명시한다.