
모바일 AR/VR 구현을 위한 프로그래밍 언어 인터페이스 표준 개발
Development of a Programming Language Interface for Mobile AR/VR Implementation
- 정철희(Jung Chul-Hee) 이명원(Lee Myeong Won)
- 표준인증안전학회
- 표준인증안전학회지
- 제9권 제1호
- 등재여부 : KCI등재
- 2019.03
- 41 - 52 (12 pages)
모바일 장치의 성능 향상과 웹 발전으로 증강현실/가상현실(Augemted Reality/Virtual Reality, AR/VR)은 일반 컴퓨터 뿐 아니라 핸드폰과 같은 모바일 장치에서도 서비스가 가능하게 되었다. 모바일 환경에서 3D 가상현실 응용 프로그램을 개발하는 방법 중 하나로 유니티 3D가 많이 이용되고 있다. 유니티 3D 엔진을 이용하여 3D 가상현실 서비스가 가능하나 3D 가상현실 장면의 저장, 교환, 전송을 다양한 장치에서 사용하기 위해서는 표준화된 데이터 형식이 필요하다. 이를 위해서 유니티 3D 엔진에서 국제표준 ISO/IEC 19775-1 X3D (Extensible 3D)를 사용할 수 있다면 모바일 환경에서 가상현실 응용 서비스를 위한 3차원 장면 생성과 교환이 가능하게 된다. 본 논문에서는 유니티 3D 엔진에서 X3D 가상현실 파일을 처리할 수 있는 C# 프로그래밍 환경 개발에 대해 기술한다. 이를 위해서 유니티 3D 엔진에서 X3D 파일의 오브젝트를 처리할 수 있도록 오브젝트 저장을 위한 데이터 구조를 정의하고 이 데이터에 접근하여 값을 입출력하는 함수를 정의한다. 그리고 본 연구에서 개발된 X3D C# 바인딩 뷰어에서는 유니티 엔진에서 X3D 가상현실 파일을 읽어서 C#으로 정의된 장면 접근 인터페이스를 이용하여 화면에 표현한다. 이와 같은 X3D 오브젝트들을 화면에 표현하는 C# 바인딩 뷰어의 개발과 함께 C# 바인딩 라이브러리를 사용하여 장면을 구성하는 간단한 구현 예제를 보여준다. X3D 오브젝트로 기하 프리미티브 오브젝트들인 상자, 원뿔, 원기둥, 구, 텍스트, H-Anim 캐릭터를 생성하고 화면에 렌더링하여 시각화한다.
With the advancement of technologies related to mobile devices and the World Wide Web, 3D virtual reality services can now be provided for mobile devices such as handheld phones. Unity 3D is a popular platform for developing 3D VR application programs for mobile devices. Though 3D VR services using Unity 3D are now possible, a standardized data format is still required to store, transfer, and exchange 3D VR scenes between various devices and applications. In order to achieve this, it is possible to create and exchange 3D scenes for VR application services in mobile environments if ISO/IEC 19775-1 X3D (Extensible 3D) can be used in Unity 3D. This paper describes the development of a C# programming environment capable of producing X3D VR scene files that can be processed in the Unity 3D engine. In order to achieve this, data structures for storing X3D objects, functions that can access these data structures,and the capability to import and export values is provided, allowing the objects tobe processed in the Unity 3D engine. An implementation example is included.
Ⅰ. 서 론
Ⅱ. X3D 가상현실 장면 접근 인터페이스
Ⅲ. X3D 가상현실 장면 인터페이스의 C# 언어 바인딩
Ⅳ. 유니티 엔진에서의 X3D 장면 접근 인터페이스
Ⅴ. 유니티 엔진에서 X3D C# 바인딩 뷰어 개발
Ⅵ. 결 론