Render Texture Sensor는 Unity에서 생성된 렌더 텍스처(RenderTexture) 출력을
에이전트의 시각적 입력으로 사용할 수 있도록 해주는 고급 센서입니다.
기본 카메라 센서로는 표현하기 어려운 특수한 시각 정보를 AI가 학습할 수 있도록 도와줍니다.
언제 사용하나요?
- 세분화(Segmentation), 깊이 맵(Depth Map) 같은 시각적 정보가 필요한 경우
- 표준 카메라 센서로는 감지하기 어려운 시각 신호를 학습하고 싶을 때
- 디지털 트윈, 3D 시뮬레이션, AR/VR 렌더링 분석 등 고급 시나리오
예: 바닥의 오염도를 색상 값으로 시각화하여 로봇이 더러운 구역을 우선 청소하게 만들기
개념 이해
- RenderTexture: Unity의 카메라나 셰이더가 출력한 영상을 오프스크린 버퍼에 저장한 텍스처
- RenderTextureSensor: 이 텍스처를 받아 에이전트가 이미지 입력으로 활용
기존 Camera Sensor는 Unity의 카메라 출력을 그대로 사용
RenderTexture Sensor는 커스텀 렌더링 결과도 입력으로 사용 가능
구성 방법
- RenderTexture 생성
- 셰이더 또는 카메라의 출력으로 만들어짐
- RenderTextureSensorComponent 추가
- 해당 텍스처를 ML-Agents에 연결
- Observation 설정
- 해상도, 색상/흑백, 압축 여부 등 조정
실전 예시: 디지털 트윈 기반 청소 최적화
목표 | RenderTexture Sensor 활용 방식 |
바닥 청결도 시각화 | 다양한 재질/오염도를 색상으로 렌더링 |
오염 구역 판단 | 색상 픽셀값 분석을 통해 보상 설계 |
학습 가속화 | 불필요한 텍스처 제거, 흑백 전환 등 전처리 |
로봇은 "눈에 보이는 청소 필요 영역"을 학습하고 스스로 경로를 조정할 수 있습니다.
주의사항
- 고급 렌더링 이해 필요: 셰이더, 카메라 렌더링 경로 숙지 필수
- 입력 정규화 필요: 픽셀 값을 안정된 범위로 조정해야 학습이 잘 됨
- 문서 부족: 공식 문서나 튜토리얼이 제한적이므로 실험 기반 사용 필요
- 성능 고려: 고해상도 RenderTexture는 GPU/메모리 리소스 요구 ↑
훈련 최적화를 위한 전략
전략 | 효과 |
색상 기반 분할 | 객체 종류나 상태를 색상으로 구분하여 학습에 활용 |
저해상도 흑백 처리 | 연산량 감소 + 학습 가속 |
전용 셰이더 출력 활용 | Depth, Surface Normal, Label Mask 등 복합 정보 제공 |
카메라 센서와 조합 | 일반 이미지 + 특수 텍스처 병합 학습 가능 |
요약
- Render Texture Sensor는 ML-Agents의 확장성과 표현력을 크게 높여주는 센서입니다.
- 세분화, 깊이 인식, 시뮬레이션 특화 렌더링 등 맞춤형 시각 정보를 활용할 수 있습니다.
- 고급 사용자와 디지털 트윈, 리서치 중심 프로젝트에 특히 적합합니다.
'Unity' 카테고리의 다른 글
[ML-Agents] Buffer Sensor – 동적으로 변하는 객체를 추적하는 센서 (0) | 2025.05.14 |
---|---|
[ML-Agents] Audio Sensor – 소리를 듣는 에이전트 만들기 (0) | 2025.05.14 |
[ML-Agents] Grid Sensor – 환경을 격자로 나눠 인식하는 센서 (0) | 2025.05.14 |
[ML-Agents] Ray Perception Sensor – 공간을 인식하는 센서 (0) | 2025.05.14 |
[ML-Agents] Camera Sensor – 에이전트의 '눈'을 만들어주는 센서 (0) | 2025.05.14 |