SPEAR: A Simulator for Photorealistic Embodied AI Research

Mike Roberts, Renhan Wang, Rushikesh Zawar, Rachith Dey-Prakash, Quentin Leboutet, Stephan R. Richter, Matthias Müller, German Ros, Rui Tang, Stefan Leutenegger, Yannick Hold-Geoffroy, Kalyan Sunkavalli, Vladlen Koltun

arXiv:2607.06701 · 2026-07-16 공개 · arXiv · PDF

embodied-ai unreal-engine photorealistic-rendering multi-agent-control procedural-content-generation intrinsic-image-decomposition mujo-co-simulation high-level-programming

Abstract

Interactive simulators have become powerful tools for training embodied agents and generating synthetic visual data, but existing photorealistic simulators suffer from limited generality, programmability, and rendering speed. We address these limitations by introducing SPEAR: A Simulator for Photorealistic Embodied AI Research. At its core, SPEAR is a Python library that can connect to, and programmatically control, any Unreal Engine (UE) application via a modular plugin architecture. SPEAR exposes over 14K unique UE functions to Python, representing an order-of-magnitude increase in programmable functionality over existing UE-based simulators. Additionally, a single SPEAR instance can render 1920x1080 photorealistic beauty images directly into a user's NumPy array at 73 frames per second - an order of magnitude faster than existing UE plugins - while also providing ground truth image modalities that are not available in any existing UE-based simulator (e.g., a non-diffuse intrinsic image decomposition, material IDs, and physically based shading parameters). Finally, SPEAR introduces an expressive high-level programming model that enables users to specify complex graphs of UE work with arbitrary data dependencies among work items, and to execute these graphs deterministically within a single UE frame. We demonstrate the utility of SPEAR through a diverse collection of example applications: controlling multiple embodied agents with distinct action spaces (e.g., humans, cars, and robots) across several in-the-wild UE projects; rendering photorealistic city-scale environments; manipulating UE's procedural content generation systems; rendering synchronized multi-view images of detailed human faces; coordinating an interactive co-simulation with the MuJoCo physics simulator; and editing scenes with natural language via an AI coding assistant.

한국어 요약

한 줄 요약

SPEAR은 Unreal Engine 기반 시뮬레이터의 제한을 극복한 프로그래밍 가능하고 빠른 광학실감 시뮬레이터로, 14,000개 이상의 UE 함수를 Python에 노출하며 73 FPS의 렌더링 성능을 제공한다.

핵심 기여도

핵심 아이디어

SPEAR은 Unreal Engine의 런타임 리플렉션 시스템을 직접 연결하여, 수작업된 래퍼 코드 없이도 Python에서 UE 객체의 클래스, 함수, 변수를 동적으로 조작할 수 있도록 설계되었다. 이는 UE의 UFUNCTION과 UPROPERTY를 기반으로, 문자열 키를 사용해 실시간으로 함수와 변수를 호출 및 조정하는 방식이다. 기존 UE 기반 시뮬레이터는 수백 개의 수작업된 함수만 노출하는 반면, SPEAR은 14,000개 이상의 함수를 자동으로 노출하여 프로그래밍 가능성과 유연성을 획기적으로 향상시켰다.

또한, SPEAR은 NumPy 배열과 UE 간의 데이터 전송을 데이터 복사 없이 수행하는 메커니즘을 도입하여 렌더링 성능을 향상시켰다. 이는 기존 UE 기반 시뮬레이터에서 렌더링 이미지를 Python으로 전달하는 데 발생하는 20~35배의 지연을 해결하는 핵심 기술이다.

기술적 접근법

주요 결과

의의 및 한계

SPEAR은 기존 UE 기반 시뮬레이터의 제한적인 프로그래밍 가능성과 느린 렌더링 성능을 극복하여, 광학실감 기반 AI 연구의 새로운 기반을 제공한다. 특히, 14,000개 이상의 UE 함수를 Python에 노출함으로써 연구자들이 UE의 내부 시스템을 직접 조작할 수 있게 하며, 이는 기존 시뮬레이터에서는 불가능한 작업을 가능하게 한다. 또한, 73 FPS의 렌더링 속도는 대규모 데이터셋 생성과 실시간 학습에 유리한 환경을 제공한다.

그러나 SPEAR은 Unreal Engine 기반 플랫폼에 의존적이며, 다른 엔진(예: Unity)과의 호환성은 명시되지 않았다. 또한, 사용자가 UE의 리플렉션 시스템에 대한 이해가 필요하며, 복잡한 설정이 요구될 수 있다.

실용적 활용

SPEAR은 로봇 학습, 자율 주행, 3D/4D 재구성, 시각-언어 모델 학습 등 다양한 연구 분야에서 활용 가능하다. 특히, 도시 규모의 광학실감 환경에서 로봇을 훈련하거나, MuJoCo와의 공동 시뮬레이션을 통해 물리 기반 제어를 연구하는 데 유용하다. 또한, 자연어를 통한 AI 코드 조작 기능은 게임 콘텐츠 제작 및 가상 환경 편집에 새로운 방식을 제시할 수 있다.