본문 바로가기
NVIDIA Omniverse

[NVIDIA Omniverse] Blender USD 사용, 관절 로봇 물리 속성 설정, 로봇 애니메이션

by 테크앤아트 2026. 5. 30.
728x90
반응형

 

 

 


 

 

Blender → USD export → Omniverse 시도

이제는 블렌더에서 작업된 3D 모델을 USD 파일로 export 한 후 옴니버스에 넣어보는 작업 플로우를 직접 해본다. (PBR 머티리얼 적용, 라이팅 설정, Physics 추가까지)

 

 

예전에 만들었던 가상 공장 모델을 블렌더에 띄운 후 USD 파일로 export 했다. (메테리얼 정리 안 한 상태로 export 하면 옴니버스에서 검은색으로 나옴)

 

 

옴니버스에 USD형태로 import 하면 잘 들어가는 것을 볼 수 있다.

*블렌더에서 이미지 텍스쳐가 쓰인 것도 가져올 수 있었고(바닥 부분), 색상, Metallic, Roughness도 잘 들어왔다.

 

 

블렌더에서 수정 후 USD 파일을 덮어쓰면 자동으로 옴니버스에서 FETCH 버튼이 떠서 Refresh 하기 쉬웠다.

 

 

격자 와이어 텍스쳐 이미지가 들어가야 하는 자리에 이미지가 없는데 옴니버스에서는 현실적인 반투명 유리 효과가 나서 오히려 괜찮게 보이는 점도 있었다.

 

 


 

 

로봇 관절 & 계층구조

정적인 구조물 말고 움직여야 하는 로봇에 대해서 애니메이션과 물리를 줄 수 있는지 알아본다.

 

 

블렌더에서 Parent-Child 상태로 묶여 있지만 Omniverse에서는 따로 움직이는 것을 볼 수 있었다.

 

 

조금 더 살펴보니 오브젝트를 잡고 움직이는 게 아니라 Xform 트랜스폼 그룹을 잡고 움직이니 하위 Prim이 같이 움직이는 것을 볼 수 있었다.

 

 

로봇의 각 부품에 Rigid Body + Collider 적용

Revolute Joint 설정

 

각각의 관절을 Revolute Joint 설정하고 Body0에는 이전 Prim을 설정했다.

실행하면 설정한대로 회전하고 제한되는 것을 확인했다.

 

 

[Revolute Joint]의 [Lower Limit]과 [Upper Limit]으로 관절의 각도를 제한하면 그 만큼만 움직일 수 있게 할 수 있다.

 

 


 

 

관절 애니메이션 주기

Joint를 선택해서 [Add] - [Physics] - [Angular Drive]를 추가한다.

 

 

Target Position으로 키프레임을 잡으면 애니메이션이 가능하다.

Damping으로 흔들림을 방지하고 Stiffness를 크게 주어 중력을 이길 만큼으로 모터 힘을 세게 부여한다.

 

 

모든 관절에 대략 Damping 1000, Stiffness 10000 정도로 설정해봤다.

 

 

끝 부분이 달랑거리는 것은 끝에 있는 Tool의 Material에 Rigid Body Material을 추가하고, Density를 Autocomputed에서 1.0으로 가볍게 바꾸니까 흔들림이 없어졌다.

 

 

이제 [Target Position]에 [Set Key]를 주고 키를 찍어서 애니메이션을 간단하게 만들어본다.

 

 

[Target Position]을 이용해서 애니메이션을 만들어보았다.

 

 


 

 

 

728x90
반응형