Pollux Logo

실시간 CSV 데이터를 활용한 Omniverse 내 객체 속성 제어 및 MDL 그래프 업데이트

실시간 CSV 데이터를 활용한 Omniverse 내 객체 속성 제어 및 MDL 그래프 업데이트

Omniverse는 다양한 확장 기능과 USD 기반의 유연한 그래프 구조를 통해 실시간 3D 데이터 시각화와 상호작용을 지원합니다. 이번 글에서는 CSV 파일로부터 실시간으로 데이터를 읽어와, Omniverse 내의 객체 속성과 MDL(Material Definition Language) 그래프를 동적으로 수정하는 전체 과정을 소개합니다.

해당 워크플로우는 외부 시스템의 수치를 반영하거나, 사용자 정의 데이터를 기반으로 3D 객체의 속성(특히 머티리얼)을 제어할 수 있는 기능을 갖추고 있어, 데이터 기반 시각화, 시뮬레이션, 디지털 트윈 구축 등에 다양하게 활용될 수 있습니다.

MDL(Material Definition Language)란?

  • *MDL(Material Definition Language)**은 NVIDIA가 개발한 물리 기반 머티리얼 정의 언어로, 다양한 렌더링 시스템 간의 호환성을 유지하면서도 현실적인 머티리얼 시뮬레이션을 가능하게 해줍니다.

공식 사이트: NVIDIA MDL 소개

Omniverse는 이 MDL을 기반으로 머티리얼 그래프(Graph)를 구성할 수 있으며, 사용자는 해당 그래프를 USD 파일 내에서 직접 접근하고 수정할 수 있습니다.

1. Extension 활성화: MDL 관련 기능 확인

Omniverse Code 내에서 MDL과 관련된 Extension을 먼저 확인하고 활성화합니다.

Image

Extension에서 MDL 관련 확장을 확인

기본적으로 Omniverse는 MDL 그래프 편집, 셰이더 속성 제어 등을 지원하며, 해당 확장이 활성화되어 있어야 코드 수정과 실시간 업데이트가 가능합니다.

Image

MDL Graph를 킨다

참고: Material Graph 창을 열어 실제 MDL의 구조와 노드 연결 상태를 시각적으로 확인할 수 있습니다.

2. MDL 그래프 접근 및 수정

Omniverse에서 열려 있는 USD 파일 중 특정 오브젝트(예: Sphere_03)의 머티리얼 노드를 선택하여, 그래프 구조를 분석합니다.

Image

Material의 Graph를 열어 확인해본다

해당 Material 노드는 USD 내에서 다음과 같은 방식으로 접근하거나 수정할 수 있습니다:

Image

Sphere_03의 그래프를 확인

  • MDL 속성 예시:
    • base_color
    • roughness
    • emission
    • specular

이를 통해 색상, 광택, 투명도 등의 시각적 속성을 코드 기반으로 제어할 수 있습니다.

해당 USD의 코드에서  Sphere_03의 Material 실시간 변경 가능

3. CSV Reader Extension 소개

Omniverse에는 CSV 파일을 실시간으로 읽어와 USD 데이터에 반영할 수 있는 공식 확장인 CSV Reader가 존재합니다.

 csv  reader 확장통해 csv를 read한다.

이 Extension은 외부 CSV 파일의 값을 실시간으로 불러와, 특정 노드나 속성에 매핑할 수 있게 해줍니다. 이를 통해 Omniverse 내부의 오브젝트 속성을 외부 데이터로 제어하는 데이터 연동 구조를 구성할 수 있습니다.

4. CSV 데이터를 활용한 실시간 색상 변경

실습 예제로, Sphere_03에 연결된 MDL 머티리얼의 색상 값을 CSV의 데이터 컬럼을 기준으로 실시간 업데이트하는 구조를 구현할 수 있습니다.

예를 들어, 다음과 같은 CSV 파일이 있다고 가정해보겠습니다:

Image

이 데이터를 기반으로 다음과 같은 Python 스크립트를 작성하여 MDL base_color 속성을 수정할 수 있습니다:

Imagecsv 색상 변경을 확인한다Image

이처럼 외부 수치에 따라 Omniverse 내 머티리얼이 실시간으로 반응하는 구조를 구현할 수 있습니다.

5. 실시간 객체 생성 + MDL 커스터마이징

CSV와 CSV Reader 확장을 연계하면, 단순한 속성 제어를 넘어 객체 자체를 생성하고 해당 객체의 MDL 속성을 커스터마이징하는 것도 가능합니다.

ImageImage
  • 예를 들어, CSV에서 객체의 위치, 색상, 생성 시점 등을 정의하고, 이를 Omniverse 상에 실시간으로 반영할 수 있습니다.

ImageImage
  • 이를 통해 실시간 시각화 기반 대시보드, 디지털 트윈, IoT 연동 시뮬레이션 등의 구현이 가능합니다.

마무리하며

이번 워크플로우는 Omniverse를 활용한 실시간 데이터 시각화의 가능성을 잘 보여주는 예시입니다.

CSV처럼 단순한 텍스트 기반 데이터 구조를 Omniverse와 연동하면, 외부 시스템과 연결된 시각화 대시보드, 센서 시뮬레이션, 데이터 기반 머티리얼 제어 등 다양한 시나리오를 구현할 수 있습니다.

특히 MDL Graph를 직접 수정함으로써, 현실감 있는 머티리얼 렌더링을 외부 데이터에 따라 자동화할 수 있다는 점은 실제 제품 시뮬레이션이나 비주얼 데이터 검증에 있어 큰 장점이 될 수 있습니다.

이 글 공유하기:

Copyright 2025. POLLUX All rights reserved.