쓰리디아이 / 2016
항공기 미사일 센서 영상 SW
센서 데이터 녹화·재생과 3D 화면 연동

프로젝트 연도 / 상태2016
개발팀 · 리소스 인력 제외1인
사용 기술Winform · Unity3D · C#
OVERVIEW
프로젝트와 나의 역할
GIS 지형 좌표 연동, 외부 모듈 TCP 통신, CSV 녹화·재생, WinForms 내 Unity 화면 구성을 담당했습니다.
- GIS 데이터를 활용한 3D 실지형 맵핑
- 네트워크를 통한 외부 모듈 간 데이터 통신
- CSV 파일을 이용한 데이터 저장 및 리플레이 기능 개발
- Winform내 Unity 화면 구성
CHALLENGE
해결해야 했던 문제
외부 모듈 테스트를 위한 지연 데이터 재생 필요
APPROACH
선택한 해결 방식
요청된 지연 프레임 또는 시간만큼 데이터를 보관하고 Queue 방식으로 처리하도록 구성했습니다.
PROJECT MEDIA
실행 화면과 시연
기존 프로젝트 상세 설명 보기
# 미사일 센서 데이터 관리 SW 개발 미사일 센서 Demo용 데이터 관리·녹화·재생 SW로, WinForms–Unity3D 화면 연동, CSV 기반 녹화·재생, WGS84·UTM 좌표 동기화 기능을 포함합니다. 프로젝트 이미지 ### 01. 프로젝트 구성 (리소스 개발 인력 제외) 팀 구성 : 1인 ### 02. 프로젝트 내 본인 작업 내용 1. Unity 관련 1. GIS 데이터를 활용한 3D 실지형 맵핑 2. 네트워크를 통한 외부 모듈 간 데이터 통신 2. Winform 관련 1. CSV 파일을 이용한 데이터 저장 및 리플레이 기능 개발 2. Winform내 Unity 화면 구성 ### 03. 담당 기능 개발 # Unity 관련 1. GIS 데이터를 활용한 3D 실지형 맵핑 GIS 3차원 지형 데이터와 Unity 좌표계 동기화 - 개발 방안 : GIS 3차원 지형 맵 데이터를 Unity 환경에 맞춰 좌표계를 동기화 - 이슈 및 문제점 : 외부 모듈에서는 데이터가 WGS 데이터로 전송됨. 지구의 굴곡으로 인한 고도차이 계산 발생 - 해결방안 : 아래 이미지의 A(탄, 타겟과의 지상 직선 거리)와 지구 반지름, 그리고 그림 2의 (탄과 타겟 사이의 지구 사이각)을 통해 B의 거리를 구할 수 있음. 매 프레임마다 실제 탄의 고도에서 B의 값을 더한 높이의 입력 값을 6DOF에 입력하여 변화된 Pitch 값을 도출함. - 해결 가능 이유 : 지구 곡률 데이터 및 ECEF 변환 수식을 이용하여 해결 가능 2. 네트워크를 통한 외부 모듈 간 데이터 통신 실시간 데이터 통신을 통한 외부 모듈과 Unity내 데이터 동기화 - 개발 방안 : TCP 통신을 통한 데이터 안전성 확보로 네트워크 통신 모듈 개발 - 이슈 및 문제점 : - - 해결방안 : - - 해결 가능 이유 : - # Winform 관련 1. CSV 파일을 이용한 데이터 저장 및 리플레이 기능 개발 CSV 파일을 이용한 리플레이 데이터 저장 및 플레이 기능 개발 - 개발 방안 : CSV 파일을 이용한 데이터 저장 - 이슈 및 문제점 : 외부 모듈에서 딜레이 환경 구성을 위해 데이터 시프트 기능 필요 - 해결방안 : 외부 모듈에서 요청한 딜레이 프레임(혹은 시간) 만큼 데이터 리스트를 작성하여, 매 프레임마다 Queue 방식으로 데이터 처리 - 해결 가능 이유 : 딜레이 만큼 데이터 관리를 추가로 해줄수 있으므로 (Queue 방식) 처리 가능 2. Winform내 Unity 화면 구성 한개의 SW 구동으로 Winform, Unity 화면을 모두 전시 가능하도록 화면 구성 - 개발 방안 : Winform 내 Unity 화면 전시 - 이슈 및 문제점 : 당시 Unity 5 버전에서 Winform에 Unity 화면을 이식할 수 있는 방법이 없었음 - 해결방안 : Unity 2015 버전으로 업데이트 하며, Winform에 서 Unity를 HWND 윈도우 핸들 기능을 통해 Panel에 전시 가능해짐 - 해결 가능 이유 : Unity 버전 업데이트로 해결

