쓰리디아이 / 2019
항공기 센서 모델 영상 SW
센서 영상과 외부 데이터를 연결하는 도구
PROJECT IN ACTION
실행 화면과 시연

OVERVIEW
프로젝트와 나의 역할
EP-80 / EP2 기반 심볼 전시, FOV 객체 정보 표시, 센서 데이터 중계·테스트 SW를 개발했습니다.
원문에서 상세 공개가 제한된 프로젝트입니다. 기존에 공개된 담당 범위만 정리했으며 내부 구현을 재구현하지 않았습니다.
- Symbol 데이터 전시 및 처리
- FOV 화각을 통한 객체 인식 및 객체 정보 전시
ENGINEERING NOTES
기능별 구현과 문제 해결
담당 기능의 배경부터 구현 방식과 선택한 범위까지 정리했습니다.
센서 화면과 테스트 도구 개발
배경과 과제
Collins Aerospace EP-80 장비와 EP2 소프트웨어를 사용한 센서 영상 개발입니다.
내가 구현한 방식
심볼 데이터 처리·표시와 FOV 내 객체 정보 표시를 담당했습니다. 센서 데이터의 네트워크 전송을 중계하고 오프라인 테스트를 지원하는 소프트웨어도 개발했습니다.
선택의 이유와 범위
공개 범위는 심볼 표시, 정보 중계, 테스트 도구의 담당 역할입니다. 아래 예제는 실제 장비 규격 없이 투영 원리만 설명하는 별도 재구성 코드입니다.
2026 / RECONSTRUCTED EXAMPLE
카메라 공간의 점을 화면 좌표로
가상의 카메라와 점을 사용해 화면 UV와 시야 내부 여부를 계산합니다.
- 합성 3D 점
- 카메라 투영
- UV 계산
- 화면 안팎 판정
설명용 개념도 · 실제 제품 화면이나 전체 시스템 설계도가 아닙니다.
사용 방법과 적용 범위
카메라 로컬 좌표, 수직 FOV, 화면 종횡비를 Project에 전달합니다.
공개 수학을 이용한 독립 예제입니다. 실제 항공 장비·프로토콜·센서 모델을 재현하지 않습니다.
예제 코드 펼치기포트폴리오용 재구성 코드 · 실제 업무 소스 아님
// 2026 portfolio reconstruction with synthetic coordinates. No proprietary device SDK or protocol.
using UnityEngine;
namespace PortfolioExamples
{
public static class SensorOverlayProjection
{
// A generic camera-space pinhole projection, not the original sensor model.
public static bool Project(Vector3 cameraLocal, float verticalFov, float aspect, out Vector2 uv)
{
uv=default(Vector2);
if(cameraLocal.z<=0 || verticalFov<=0 || verticalFov>=180 || aspect<=0)return false;
float halfHeight=cameraLocal.z*Mathf.Tan(verticalFov*Mathf.Deg2Rad*0.5f);
uv=new Vector2(0.5f+cameraLocal.x/(2*halfHeight*aspect),0.5f+cameraLocal.y/(2*halfHeight));
return uv.x>=0&&uv.x<=1&&uv.y>=0&&uv.y<=1;
}
}
}
MORE SCREENS
추가 실행 화면
CODE & VALIDATION
코드와 검증 범위
기존 코드 발췌와 2026년 포트폴리오용 재구성 코드를 구분해 제공합니다. 재구성 코드는 실제 제품 소스가 아니며, 일반 원리를 설명하기 위해 새로 작성했습니다.
Unity 6000.0.23f1 컴파일 및 Editor 검증 56개 통과. 실제 장비 연동과 제품 통합은 검증 범위에 포함하지 않습니다.
예제별 사용법과 검증 내용 ↗