목차
대부분의 인터랙티브 프로토타입은 어느 정도 관대하게 넘어갈 수 있습니. 버튼의 애니메이션이 한 박자 느리게 동작하거나 화면이 탭 동작보다 뒤처지더라도, 기껏해야 약간 어색한 사용자 테스트 결과로 이어질 뿐입니다. 항공 분야는 다릅니다. 설계 중인 인터페이스가 조종사와 항공기 제어 장치 사이에 있어야 할 때, 꽤 비슷한 것으로는 충분하지 않습니다. 누군가의 안전이 이에 달려 있으므로 인터랙션은 현실과 완전히 일치해야 합니다.
이것이 바로 저희 Creative Technologies 팀이 탐구하고자 했던 문제입니다. ProtoPie, 비행 시뮬레이터, 그리고 기성 하드웨어만을 사용하여 실제로 비행할 수 있을 정도로 사실적인 조종석 환경을 구축할 수 있을까요?
저희는 최근 라이브 웨비나를 통해 전체 빌드 과정을 공개했으며, Creative Technologist인 Eric Lee가 프로젝트 비하인드 스토리를 공유했습니다. 이 글은 핵심 내용을 다루고 있지만, 전체 웨비나에서는 라이브 데모, 플러그인 코드, 시뮬레이터 호환성부터 Unreal Engine 지원에 이르는 모든 것을 다루는 Q&A를 더 깊이 있게 확인하실 수 있습니다.
과제: 단순한 화면이 아닌, 항공기 조종석 프로토타이핑하기
팀은 프로토타입으로 제작할 항공기로 Joby eVTOL을 선택했습니다. eVTOL은 하나의 기체로 헬리콥터와 고정익 항공기처럼 동작하며 호버링과 전진 비행 간을 전환하므로, 조종석 UI가 서로 다른 두 제품이 되지 않으면서도 두 가지 완전히 다른 비행 모드를 표현해야 했습니다.
요구사항은 정적인 목업을 넘어서서 조종사가 실제로 조작할 수 있는 환경을 만드는 것이었습니다. 실제 비행 제어 장치, 데이터를 구동하는 실제 비행 시뮬레이터, 그리고 해당 데이터에 항공기 시스템과 똑같이 반응하는 화면을 구축하는 것입니다. 사전 녹화된 애니메이션이나 시뮬레이션된 "가상" 시나리오는 배제되었습니다.

ProtoPie로 항공기 조종석 프로토타입을 제작하는 방법
항공기 조종석 프로토타입용 소프트웨어
소프트웨어 측면의 스택은 다음과 같았습니다:
인터페이스 설계를 위한 ProtoPie Studio
인터페이스 실행을 위한 ProtoPie Player
모든 것을 실시간 데이터에 연결하기 위한 ProtoPie Connect
브릿지 앱 로직을 위한 Visual Studio Code 및 Python
3D 레이어를 위한 Unity
비행 데이터의 원천(Source of Truth) 역할을 하는 Microsoft Flight Simulator 2024
프로토타입을 웹 뷰로 호스팅하기 위한 브라우저

항공기 조종석 프로토타입용 하드웨어
하드웨어 구성은 다음과 같습니다:
두 개의 메인 디스플레이를 위한 터치스크린 모니터 2대
보조 패널을 위한 태블릿 1대
실제 비행 입력을 위한 항공기용 조이스틱
시뮬레이터 자체를 실행할 TV 1대
비행 시뮬레이터를 실행하는 동시에 모든 화면을 한 번에 구동할 수 있는 충분한 GPU 여유 공간을 갖춘 게이밍 PC

ProtoPie Connect가 비행 시뮬레이터와 프로토타입을 연결하는 방법
아키텍처는 완성된 데모가 시사하는 것보다 더 간단합니다. 비행 시뮬레이터와 조이스틱은 하나의 PC에서 실행됩니다. 이 PC는 시뮬레이터의 실시간 비행 변수(고도, 속도, 방향, 비행 모드 등)를 수신하여 ProtoPie Connect로 전달하는 소형 맞춤형 플러그인도 함께 실행합니다. 그런 다음 Connect는 이 데이터를 필요한 만큼의 여러 프로토타입에 배포하며, 각 프로토타입은 자체 브라우저 기반 화면으로 실행됩니다.
이번 빌드에서는 세 개의 화면으로 구성되었습니다:
주 비행 디스플레이(PFD)
다기능 디스플레이(MFD)
그리고 간소화된 비행 계획(Flight-plan) 패널
그러나 Connect의 웹 뷰는 세 개로 제한되지 않습니다. 이와 같은 프로젝트는 동일한 파이프라인에서 다섯 개 또는 여섯 개의 화면도 아주 쉽게 구동할 수 있습니다.

세 개의 조종석 디스플레이 내부 살펴보기
다기능 디스플레이 (Multi-Function Display)
MFD(다기능 디스플레이)는 동력, 비행 제어, 경과 시간, 비행 가능 거리 등을 처리할 뿐만 아니라, Unity에서 빌드되어 ProtoPie 프로토타입에 직접 내장된 항공기의 3D 모델을 포함하고 있었습니다. 이 3D 레이어는 단순히 장식용이 아니었습니다. 항공기가 호버링과 전진 비행 간을 전환할 때 프로펠러가 수직과 수평 사이에서 물리적으로 회전하며 시뮬레이터에서 실시간으로 일어나는 상황을 그대로 반영했습니다.

주 비행 디스플레이 (Primary Flight Display)
PFD(주 비행 디스플레이)는 실시간 속도, 고도, 나침반 방향, 피치 및 롤 등 보다 안전에 중대한 정보를 담고 있었으며, 실제 지도 상에 항공기의 실제 위치를 보여주는 임베디드 Mapbox 레이어 위에 중첩되어 표시되었습니다.

Garmin 터치스크린 컨트롤러
비행 계획을 보여주는 Garmin 스타일의 터치스크린 패널인 세 번째 화면은 안전에 가장 덜 중대한 정보를 다루었기 때문에 의도적으로 세 화면 중 가장 단순하게 제작되었습니다. 이러한 구분은 팀이 레이턴시에 대해 고민하기 시작하면서 예상보다 더 중요한 요소가 되었습니다.

항공기 조종석 프로토타입을 제작하는 데 걸리는 시간은 얼마나 되나요?
세 명의 인원이 약 한 달 반 동안 작업했으며, 그 시간의 대부분은 프로토타이핑 자체에 소요된 것이 아니었습니다.
2~3주는 리서치에 소요되었습니다. 단 한 픽셀이라도 디자인하기 전에 조종사의 업무 흐름을 이해하고, 항공기 시뮬레이터에 앉아보고, 실제 조종석이 어떻게 배치되어 있는지 감을 익혔습니다. 두 개의 주요 화면은 각각 제작하고 실시간 데이터에 연결하는 데 약 1주일에서 1주일 반이 걸렸습니다. 비행 계획만 보여주는 보다 단순한 보조 패널은 하루나 이틀이 걸렸습니다.
ProtoPie 덕분에 팀은 몇 달이 아닌 단 몇 주 만에 리서치 단계에서 실제로 작동하고 하드웨어와 연결된 프로토타입 단계로 넘어갈 수 있었습니다. 비교를 위해 팀은 전통적인 워크플로우(전체 UI 사양을 작성하고 이를 엔지니어에게 전달하여 처음부터 코딩하도록 하는 방식)를 통해 동일한 경험을 빌드하는 데는 현실적으로 4~6개월이 걸릴 것으로 추정했습니다. 이는 복잡하고 하드웨어와 연결된 인터랙션을 구현하고 미세 조정하는 데 필요한 반복적인 소통 과정 때문입니다.
그 이점은 단순히 UI를 더 빠르게 구축하는 것에 그치지 않았습니다. 실제 엔지니어링 빌드에 착수하기 전에 디자인이 실시간 데이터 및 물리적 제어 장치와 어떻게 실제로 상호작용하는지 확인할 수 있도록, 보다 이른 시점에 현실적이고 테스트 가능한 결과물을 확보한 것입니다.

항공기 조종석 프로토타이핑: 자주 묻는 질문
Q1. ProtoPie Connect는 다른 비행 시뮬레이터와도 작동할 수 있나요?
Eric Lee: 네, 이 설정은 대부분의 비행 시뮬레이터에서 작동합니다. 사용할 비행 시뮬레이터의 종류에 대한 엄격한 제한은 없습니다. 유일한 요구사항은 시뮬레이터에서 텔레메트리( 데이터를 추출하여 ProtoPie로 전송하도록 코딩할 수만 있다면 어떤 시뮬레이터든 사용할 수 있다는 점입니다.
Q2. 비행 시뮬레이터 데이터를 프로토타입에 연결하려면 코딩이 얼마나 필요한가요?
Eric Lee: 사실 그리 많지 않습니다. 꽤 간단해요. 저희가 ProtoPie 위에 구축한 맞춤형 플러그인의 기반은 매우 간단한 입출력 전송 라이브러리인 Socket.io를 기반으로 합니다. 조이스틱과 같은 실제 하드웨어의 경우, ProtoPie Connect 내부에 이미 전용 플러그인이 내장되어 있습니다. 하지만 작동하지 않는 조이스틱이 있다면 해당 장치를 위한 맞춤형 플러그인을 직접 만들 수도 있습니다.
Q3. 하드웨어와 연결된 프로토타입을 얼마나 빨리 업데이트할 수 있나요?
Eric Lee: 변경 사항을 거의 실시간으로 반영할 수 있습니다. 제 화면에서 보신 모든 것은 ProtoPie Studio에서 간단한 버튼이나 텔레메트리 또는 반응을 즉각적으로 변경할 수 있으며, 이는 프로토타입에 자동으로 즉시 반영됩니다.
Q4. 비행 시뮬레이터 데이터와 프로토타입 사이에 레이턴시는 얼마나 되나요?
Eric Lee: 지연은 기본적으로 느낄 수 없을 만큼 즉각적입니다. 지연 시간이나 어떠한 딜레이와 관련해서는 전혀 문제가 없었습니다.
Q5. 실제 하드웨어로 작업하면 디자이너가 사용자 테스트를 통해 배울 수 있는 점이 어떻게 달라지나요?
Eric Lee: 제품 라이프사이클에서 훨씬 더 많은 시간을 절약할 수 있습니다. 무언가를 변경하기 위해 코드 프로그래머에게 다시 돌아갈 필요가 없으며, 사용자가 경험하길 원하는 대부분의 요소가 이미 조종석에 구현되어 있으므로 실제 사용자와 함께 테스트할 수 있습니다. 이를 통해 제품 라이프사이클에서 오류를 포착하거나 개선점을 훨씬 더 빠르고 민첩하게 찾을 수 있습니다.
Q6. 이 시뮬레이터는 주로 비행용으로만 사용되나요, 아니면 다른 산업 분야에도 적용될 수 있나요?
Eric Lee: ProtoPie는 모바일과 데스크톱을 위한 제작으로 시작해서 스마트 TV와 스마트워치, 그리고 자동차, 현재는 항공 분야로 영역을 넓혔습니다. 따라서 로보틱스와 같이 더 복잡한 분야에도 분명히 쉽게 적용될 수 있습니다.
항공 분야를 넘어: 하드웨어와 연결된 경험 프로토타이핑하기
이 조종석의 배후에 있는 기술은 항공 분야에만 국한되지 않습니다.
동일한 ProtoPie Connect 설정을 사용하여 다른 시스템의 실시간 데이터와 프로토타입을 연결할 수 있으며, ProtoPie는 이미 자동차 HMI 프로토타입에 유사한 접근 방식을 적용한 바 있습니다.
이러한 광범위한 패턴은 화면을 넘어선 무언가에 경험이 좌우되는 모든 제품에 적용됩니다. 차량, 로보틱스, 산업 장비, 커넥티드 기기 및 기타 하드웨어 구동 제품 등이 이에 해당합니다.
워크플로우는 인터페이스 디자인에서 시작됩니다. 디자인은 Figma나 Sketch로부터, 또는 AI 지원 워크플로우를 위한 ProtoPie의 MCP 통합을 통해 ProtoPie Studio로 가져올 수 있습니다. 거기서부터 Connect는 프로토타입과 이를 둘러싼 현실 세계의 시스템 간을 연결하는 브릿지 역할을 제공합니다.
항공 프로토타이핑에서 "미션 크리티컬(Mission-Critical)"이 의미하는 바
연결된 프로토타입의 모든 화면이 동일한 수준의 엔지니어링 집중도를 필요로 하는 것은 아니며, 이번 프로젝트는 어떤 화면에 집중해야 하는지 파악하는 데 유용한 교훈이 되었습니다. 비행 계획 패널은 아무도 눈치채지 못할 정도의 약간의 지연은 감수할 수 있었습니다. 하지만 주 비행 디스플레이는 그렇지 않았습니다. 속도, 고도, 방향은 항공기를 비행하는 것이 실제로 비행하는 것처럼 느껴질 정도로 시뮬레이터와 긴밀하게 동기화되어야 했습니다. 팀은 텔레메트리 데이터를 약 0.25초마다 업데이트하는 것으로 결정했습니다. 함께 테스트했던 1초 또는 2초의 새로고침 주기는 눈에 띄게 매끄럽지 못했습니다. 이는 화면 목업에서는 쉽게 넘어가기 쉽지만, 실제 하드웨어와 실제 제어 입력이 루프에 들어오는 순간 결코 건너뛸 수 없는 종류의 튜닝입니다.
구상 중인 하드웨어 연결 프로토타입이 있으신가요? 여러분의 사용 사례에 ProtoPie Connect가 무엇을 지원할 수 있는지 저희 팀과 상담해 보세요.




