Home | JKIIT Archives | About the JKIIT | E-SUBMISSON |
Sorry.
You are not permitted to access the full text of articles.
If you have any questions about permissions,
please contact the Society.
죄송합니다.
회원님은 논문 이용 권한이 없습니다.
권한 관련 문의는 학회로 부탁 드립니다.
[ Article ] | |
The Journal of Korean Institute of Information Technology - Vol. 19, No. 10, pp. 57-65 | |
Abbreviation: Journal of KIIT | |
ISSN: 1598-8619 (Print) 2093-7571 (Online) | |
Print publication date 31 Oct 2021 | |
Received 22 Jul 2021 Revised 18 Aug 2021 Accepted 21 Aug 2021 | |
DOI: https://doi.org/10.14801/jkiit.2021.19.10.57 | |
모바일 AR 원격 기술을 적용한 페인팅 콘텐츠 제작기법 | |
변공규*
; 최권택**
; 유선진***
| |
*창원대학교 문화융합기술협동과정 석사과정 | |
**강남대학교 소프트웨어응용학부 교수 | |
***창원대학교 문화테크노학과 교수(교신저자) | |
Painting Contents Production Technique using Mobile AR Remote Technology | |
Gongkyu Byeon*
; Kwon-Taeg Choi**
; Sunjin Yu***
| |
Correspondence to : Sunjin Yu Dept. of Culture Technology, Changwon National University, 20 Changwondaehak-ro, Uichang-gu, Changwon-si, Gyeongsangnam-do, 51140, Korea. Tel.: +82-55-213-3098, Email: sjyu@changwon.ac.kr | |
Funding Information ▼ |
COVID-19 확산으로 인해 비대면 핵심 콘텐츠 산업으로 VR/AR 기술을 적용한 실감형 콘텐츠가 활발히 연구되고 있다. 본 논문에서는 멀티플레이 서버 기술 방식과 AR 모바일 콘텐츠 제작에 대한 기본 이론을 설명하고, 두 가지 기술을 융합한 모바일 AR 원격 페인팅 콘텐츠를 제안한다. Unity 엔진을 기반으로 PUN2를 통해 멀티플레이 서버를 구현하고, AR Foundation의 ARCore를 적용하여 안드로이드 모바일 환경에서 AR 콘텐츠를 각 사용자가 상호작용을 할 수 있도록 제작한다. 제작된 모바일 AR 원격 시스템을 바탕으로 페인팅 콘텐츠 애플리케이션을 적용하여 원격지에서 AR 콘텐츠를 활용할 수 있음을 확인하였다.
Due to the spread of COVID-19, immersive contents that apply VR/AR technology are actively being researched as a core non-face-to-face contents industry. In this paper, we explain the basic theory of multi-play server technology method and AR mobile contents production, and propose mobile AR remote painting contents that combines two technologies. Based on the Unity engine, multi-play servers are implemented through PUN2, and AR contents are produced so that each user can interact in an Android mobile environment by applying ARCore of AR Foundation. Based on the manufactured mobile AR remote system, it is confirmed that AR contents can be utilized at remote locations by applying painting contents application.
Keywords: AR/VR, mobile, remote collaboration, multi-play, convergence contents |
COVID-19로 인해 비대면 관련 기술의 수요가 증가함에 따라 실감형 기술(VR/AR)이 생활뿐만 아니라 교육, 의료, 쇼핑, 제조, 마케팅, 관광, 건축 등 모든 산업에서 고루 활용되고 있다[1]. VR 기술은 초기 성숙기를 지나 다양한 형태의 콘텐츠가 활발히 개발되고 있으나, AR 기술의 경우 성장기 단계로 점진적으로 노력이 필요한 상황이다[2]-[4]. 따라서 실감형 콘텐츠 사용자들이 AR 기술을 더 넓게 활용할 수 있도록 AR 콘텐츠의 내실화를 진행하는 것이 중요한 과제라고 할 수 있다[5][6].
한편, 네트워크 기술의 발전으로 실시간으로 가상 객체에 간섭할 수 있게 되면서 VR/AR 환경에서 실시간으로 회의를 하거나 공동 작업을 진행할 수 있는 원격협업 시스템을 구성하고자 하는 시도가 계속되고 있다[7][8]. 초기의 AR 원격 시스템은 여러 사용자가 동일 공간에서 같은 물체에 대한 시점을 변화시키는 대면(Face-to-Face) 협업 시스템 콘텐츠 위주로 구현했다[9]. 그러나 AR 기술은 VR 기술과 달리 물리 공간을 이용할 수 있는 특징이 있으므로 원격지에서 사용자의 공간에 객체를 증강시키는 기술을 활용하여 다양한 비대면 애플리케이션을 제작할 수 있다[10][11]. 이를 통해 본 논문은 원격지의 사용자들이 동시에 AR 기술이 적용된 콘텐츠를 체험할 수 있는 모바일 AR 원격 페인팅 콘텐츠 제작기법을 제안하고 이를 실제 모바일 페인팅 애플리케이션에 적용하여 제안 방법을 검증한다.
멀티플레이 서버(Multi-play server)란 네트워크상에서 여러 플레이어가 같이 협업을 할 수 있게 하기 위한 서버를 의미한다. 개인 개발자들이 다양한 콘텐츠 제작을 할 수 있는 환경이 구성됨에 따라 멀티플레이 콘텐츠의 수요와 공급도 늘어나고 있다. 현재 멀티플레이를 위한 실시간 동기화를 제공하는 서버가 여러 플랫폼으로 출시되고 있으며 꾸준히 발전할 것으로 전망하고 있다. 그림 1과 같이 클라이언트-서버 구조를 기반으로 호스트 기준으로 전용 서버(Dedicated server), 리슨 서버(Listen server), P2P(Peer-to-Peer) 서버 방식으로 분류할 수 있다[12][13].
전용 서버는 그림 1의 왼쪽과 같이 호스트 역할만을 전담하는 하나의 시스템이 모든 사용자를 수용하는 방식이다. 서버 운용 비용이 크게 필요하지만, 중앙 서버가 모든 처리를 담당하므로 해킹에 강한 서버 방식이다. 리슨 서버는 하나의 클라이언트를 서버의 호스트로 지정하는 서버 방식이다. 서비스 유지비용이 적으며 물리적으로 가까운 위치에 있는 클라이언트들은 네트워크 반응 속도가 빨라진다. 해당 호스트가 플레이 도중에 서버를 나가면 다른 클라이언트 중에 새로운 호스트를 선정해야 한다.
P2P 서버는 그림 1의 오른쪽과 같이 참가한 모든 클라이언트가 호스트의 역할을 겸하며, 모든 클라이언트가 호스트를 겸하고 있으므로 플레이 종료까지 호스트 교체 과정이 없어진다. 클라이언트가 각자 자신의 월드에서 연산을 진행하고, 결과를 다른 클라이언트에게 전파하므로 비용이 적고, 레이턴시(Latency)가 적다. 각 서버 방식은 각각의 장단점이 있으므로 구현하는 콘텐츠의 내용에 따라 선택하여 구현해야 한다.
AR 콘텐츠 제작에 자주 사용되는 개발 프레임워크로 Vuforia, ARKit, ARCore가 있다[14]-[16].
PTC 사의 Vuforia는 기존 마커 기반의 기술의 단점이었던 주변 환경과의 이질감을 최소화할 수 있는 VuMark 트래킹 기능, QR 코드와 같이 특수한 형태가 아닌 이미지가 가진 자연적 특징(Natural feature)을 이용한 이미지 트래킹 기능, CAD 프로그램과 연동하여 가상 객체를 추적하는 CAD 모델 트래킹 기능, 바닥이나 책상 같은 주변 환경의 수평면에 가상 콘텐츠를 배치할 수 있는 지면(Ground plane) 트래킹 기능 등이 있다.
Apple의 ARKit는 아이폰 및 아이패드와 같은 iOS 기기의 내장 카메라와 모션센서를 활용하여 AR 콘텐츠를 제작할 수 있다. 머신러닝을 통해 실시간으로 화면을 분석하는 모션캡처를 수행하며 사물의 깊이를 파악해 증강된 물체를 실제 사물 사이에 배치할 수 있다. 2021년 개발된 ARKit 5는 장면 기하학(Scene geometry) 기술을 통해 LiDAR 센서와 연동하여 바닥, 벽, 문 등 실제 환경을 식별하여 AR 공간으로 구현할 수 있다. 또한, 위치 앵커(Location anchor) 기술은 애플 지도를 통해 전 세계의 야외 환경에서 증강현실을 구현할 수 있도록 지원한다. 이밖에도 현실 세계에 있는 인물의 깊이를 파악하여 사용하는 인물 가림(People occlusion) 기술이나 다중 얼굴 추적(Multiple face tracking) 기술, 여러 사람과 공동으로 AR 앱을 제작할 수 있는 협업 세션(Collaborative sessions) 기술 등이 있다.
Google의 ARCore는 안드로이드 하드웨어의 추가 장치 없이 AR 기술을 구현할 수 있다. 평면 탐지(Plane detection) 기술을 사용하여 증강된 가상 객체로부터 카메라의 위치를 예측하는 모션 추적(Motion tracking) 기술과 현실의 빛의 세기를 감지하고 증강현실에 유사한 조명 정보를 적용하는 조명 추정(Light estimation) 기술, 특징점을 바탕으로 현실의 환경을 분석하고 지속적으로 관리하는 환경 이해(Environmental understanding) 기술 등의 특징을 갖고 있다. 또한, 클라우드 서비스를 통해 사용할 수 있는 클라우드 앵커(Cloud anchor) 기술은 실제 근거리 환경 내에 있는 사용자 간 상호작용을 수행할 수 있다. 현재 구글에서의 지속적인 투자와 연구 및 개발하고 있다.
그림 2와 같이 ARCore와 ARKit는 Unity에서 AR Foundation으로 동시에 지원하여 하나의 콘텐츠 개발로 안드로이드, iOS 양쪽 기기에 적용할 수 있다.
2016년 Niantic의 포켓몬 고(Pokémon GO) AR 게임 성공 이후 다양한 AR 어플리케이션 콘텐츠가 개발이 진행되고 있다[17]. AR 콘텐츠는 AR 콘텐츠 기법에 따라 위치기반 AR 콘텐츠 기법과 영상 추적 기반 AR 콘텐츠 기법으로 분류할 수 있다[18]. 위치기반 증강현실 콘텐츠 기법은 모바일에 장착된 GPS와 IMU 센서를 사용하여 사용자의 경도, 위도, 고도를 포함한 위치 좌표 정보를 바탕으로 제작하는 기법이다. GPS 기술에 인터넷과 데이터 저장을 위한 권한을 취득하면 주기적으로 사용자의 위치 제공 정보를 읽어 상호작용할 수 있다. GPS의 일반적인 오차범위는 약 5-10m이며 위치 정보의 정확성이 높은 편이 아니므로 실내 공간보다 넓은 실외 공간에서 사용하는 콘텐츠에 적용하기 적합하다.
영상 추적 기반 기술은 마커(Marker) 기반 검출 기법과 마커리스(Markerless) 기반의 트래킹 기법으로 분류된다. 마커 기반의 기법은 QR 코드 같은 미리 지정된 규칙적인 패턴을 가진 마커 이미지를 영상처리 기술을 통해 인식하는 기술이다. 기술 구현이 다른 기술에 비해 간단하므로 보편적인 AR 콘텐츠를 제작하는 기술로 사용되고 있으나, 패턴이 아닌 대상에 대해 사용할 수 없는 단점이 있다. 마커리스 기반의 이미지 트래킹 기법은 자연 특징점 기반으로도 불리며 실제 환경의 특징점들을 분석하고 인식하기 때문에 마커없이 주변의 공간 정보만으로 증강현실을 제작할 수 있다. 대상 인식은 대상의 형태를 인식하며 인식 대상의 범위에 제한이 없으므로 실제 현실 물체를 인식할 수 있는 콘텐츠를 제작할 수 있다.
본 연구에서는 Unity 엔진에 PUN2(Photon Unity Network 2)와 ARCore를 접목하여 페인팅 콘텐츠를 설계하며, 원격지에서 각 사용자의 장소에 따라 페인팅 콘텐츠를 구현하기 위해 마커리스 기반의 자연 특징점 트래킹 기술을 구현하여 사용자의 현재 위치를 파악하고, P2P 클라이언트-서버 방식으로 사용하여 각 클라이언트가 가상 객체와 상호작용할 수 있는 시스템을 구현한다.
PUN2는 Unity 엔진 전용으로 멀티플레이 서버를 지원하는 SDK로, Unity에서 사용하는 Callback 메서드와 컴포넌트를 제공하므로 서버 구축에 시간을 많이 소모하지 않고 콘텐츠의 핵심 기술에 집중하여 가상 객체와 동기화를 수행할 수 있다. ARCore는 마커리스 기반으로 바닥이나 벽과 같은 수직, 수평 표면의 탐지를 하여 실제 벽면을 인식하기 수월하므로 평면에 그림을 그려야 하는 페인팅 콘텐츠의 제작에 유리하다.
그림 3은 시스템 개발에 사용된 ARCore 시스템과 PUN2 서버에 대한 종합적인 시스템 흐름도를 보여준다. 왼쪽 부분은 ARFoundation의 ARCore를 이용하여 제작된 AR 애플리케이션의 순서를 보여준다. 안드로이드 기기의 카메라와 센서를 통해 위치 데이터를 받는다. 위치 데이터를 이용하여 ARCore SDK를 통해 각 사용자의 상호작용에 따라 특정 위치에 그림을 생성한다. 생성된 그림 데이터는 색깔, 모양, 위치를 포함하고 있으며, PUN2 SDK를 통해 오른쪽 Photon 서버로 전송된다. Photon 서버로 전송된 데이터는 전송방식에 따라 Photon View, PunRPC, 포톤 챗(Photon chat), 포톤 보이스(Photon voice)의 데이터로 분류되어 각 클라이언트에게 다시 전달하여 순환된다.
PUN2에서는 네트워크를 통해 여러 클라이언트를 하나의 세션으로 모아 가상의 공간인 룸(Room)을 생성하며, Unity의 씬(Scene)과 다른 계층에서 분리되어 작동한다. 다른 클라이언트의 변조나 위조 행위를 막기 위해 네트워크의 권한을 분리하여 호스트에게 연산 처리를 위임하여 사용한다. RPC(Remote Procedure Call)을 통해 각 클라이언트에 처리를 위임하고, 호스트가 메서드나 처리를 다른 클라이언트에게 전파하는 방식을 선택하여 사용할 수 있다.
Unity 개발 환경에서 Photon 서버를 사용하기 위해 Photon 네트워크 계정이 필요하며, 이 계정 내의 App ID를 이용하여 콘텐츠를 접속한 클라이언트들이 공동 서버를 공유할 수 있게 된다. Unity의 에셋 스토어(Asset store)를 통해 PUN2를 임포트를 수행한다. PUN2 SDK가 적용되면 Photon에서 제공하는 다양한 메서드와 클래스를 사용할 수 있게 된다. MonoBehaviourPunCallbacks 클래스를 상속받아 Unity 내에서 서버에 접근할 수 있는 로비 씬과 룸 생성 및 입장을 구현한다.
PUN2가 적용된 네트워크상에서 가상 객체에 대한 클라이언트 동기화는 업데이트 빈도에 따라 2가지 타입으로 분류하여 사용할 수 있다. 첫 번째는 업데이트가 연속적으로 작동해야 하는 경우로 객체 동기화 방법을 사용할 수 있다. 플레이어의 위치나 사물의 위치와 같이 잦은 업데이트를 할 때 사용한다. 객체 동기화를 위해서는 기본적으로 동기화시킬 오브젝트에 Photon View 컴포넌트를 적용한다. 스크립트로 동기화시키기 위해 클래스에 IPunObservable를 상속받아 OnPhotonSerializeView 메서드를 사용하여 구현한다. PUN2에서는 Photon Transform View 컴포넌트를 미리 스크립트로 제공하여 Transform, Rotation, Scale을 객체의 이동에 따라 실시간으로 상호작용할 수 있다. 그러나 자동으로 데드 레커닝(Dead reckoning) 문제를 해결해주지 않으므로 레이턴시 현상을 보완하고 싶은 경우 직접 스크립트를 구현해야 한다.
두 번째는 업데이트를 연속적으로 할 필요는 없으나 이벤트를 받아야 하는 경우는 RPC 동기화 방법을 사용할 수 있다. 예를 들어 콘텐츠 내 자주 사용되지 않는 행동들에 대해서 이벤트를 받아야 할 때 사용한다. 해당 동기화는 메서드에 [PunRPC]를 적용하여 각 클라이언트에서 해당 메서드를 호출할 수 있다. Photon 서버에서 생성되는 프리팹은 Assets/Resources 폴더에서만 동기화가 진행되므로 상호작용에 사용할 프리팹은 해당 폴더에 저장해서 사용해야 한다.
Unity에 AR Foundation와 ARCore를 사용하기 위해 Package Manager에서 AR Foundation, ARCore XR Plugin, XR Plugin Management 세 가지 플러그인을 설치한다. 세 가지 플러그인은 각각 버전이 서로 적용되는 호환 버전으로 진행해야 하며, 설치가 모두 완료되면 Unity Window에서 XR 관련 오브젝트를 생성할 수 있다. AR 환경을 세팅하기 위해 AR Session과 AR Session Origin을 Hierarchy 창에 생성한다. 모바일 카메라를 통해 AR 화면을 적용하므로 Unity Scene의 Main Camera를 사용하지 않고 AR Session Origin의 하위 오브젝트인 AR Camera를 사용한다.
ARCore는 COM(Concurrent Odometry and Mapping)이라는 SLAM 프로세스를 사용하여 물리적 환경에서 모바일 기기의 상대적인 포즈(Pose)를 결정한다[19]. 또한, 특징 탐지(Feature detection) 기능을 활용하여 카메라의 시각적 정보를 IMU 센서와 결합하여 6-DOF(Degree of Freedom)를 가진 포즈를 추정한다. 추정된 위치를 통해 가상 카메라의 포즈와 AR Camera의 새로운 포즈를 정렬하여 올바른 관점에서 가상 객체를 렌더링할 수 있다.
Unity에서 ARCore로 제작된 콘텐츠를 안드로이드 모바일로 빌드하기 위해서 Unity 내 환경설정과 모바일 기기 소프트웨어 환경설정을 준비한다. Unity 내 환경설정은 모바일 기기에 빌드하기 위해 Build Setting을 안드로이드로 변경한다. 해당 콘텐츠에서는 사용자의 실시간 상호작용을 위해 높은 그래픽 API를 사용하지 않으므로 Vulcan, Multithreaded Rendering, Static Batching을 적용하지 않고 OpenGLES3 그래픽 API를 사용한다.
안드로이드에는 실제 기기와 연결해서 테스트할 수 있도록 개발자 모드를 제공한다. 이 옵션을 켜지 않으면 PC에서 스마트폰에 프로그램을 배포하거나 디버깅을 할 수 없으므로 빌드할 기기에 개발자 모드와 USB 디버깅 모드를 실행한다. 안드로이드에서 AR 기술은 Android 7.0 이상 버전부터 사용할 수 있으므로 Minimum API level을 7.0 이상으로 설정해야 하며, 콘텐츠를 빌드하는 안드로이드 소프트웨어도 7.0 이상 버전이 설치된 모바일 기기를 준비한다. Unity 2019 버전까지는 NDK, JDK, Gradle의 전송방식에 대한 추가적인 작업이 필요했으나, Unity 2020 버전부터 제작된 콘텐츠를 모바일 기기에 곧바로 빌드할 수 있다.
그림 4는 구현된 모바일 AR 원격 페인팅 콘텐츠 애플리케이션의 작동 방식을 도식화한 그림이다. 각 사용자는 서로 다른 공간에서 모바일 기기를 사용하여 페인팅 콘텐츠를 사용하고 있다. 클라이언트 1과 클라이언트 2는 클라이언트-서버 방식을 통해 PUN2를 통해 Photon 서버와 연결되어 있다.
각 클라이언트에서 행동하는 가상 객체에 대한 상호작용은 클라이언트의 데이터를 서버를 통해 다른 클라이언트의 객체에 전달되어 같은 상태로 동기화된다.
제작한 콘텐츠는 두 가지의 씬으로 구성되어 있다. 첫 번째 씬은 로비 씬으로 서버에 접속하고 룸을 생성하여 각 클라이언트가 연결될 수 있도록 준비하는 공간이다. 현재 네트워크 상태를 알려주는 텍스트와 닉네임을 입력할 수 있는 Input Field와 로그인 버튼으로 구성되어 있으며, 이를 통해 다음 씬으로 진입할 수 있다. 룸 생성은 동일한 AppID에 따라 1번부터 1000번 중 무작위의 룸을 생성하여 서버에 접속하게 된다. 두 번째 씬은 페인트 씬으로 각 사용자가 함께 페인팅 콘텐츠를 진행할 수 있는 공간이다.
서버접속에 성공하면 AR 환경 세팅을 위해 모바일 카메라를 통해 평면탐지를 수행한다. ARCore에서 입력된 영상을 통해 특징점 찾아 포인트 클러스터(Point clusters)를 구성한다. 이러한 표면은 특정 경계를 가진 평면으로 저장되며, 그 위에 가상 콘텐츠를 배치하기 위해 사용할 수 있다.
바닥 판정이 진행되면 그림 5와 같이 페인팅 콘텐츠를 사용하기 위해 수직 벽면에 페인팅 캔버스를 배치할 수 있다. 모바일의 디스플레이에서 터치한 부분에서부터 광선의 원점이 시작하여 투사되며, 광선이 교차하는 모든 가상 평면이나 객체를 반환하여 월드의 가상 객체와 상호 작용할 수 있다. 모션 추적을 통해 찾아낸 모바일의 포즈를 이용하여 가상 월드에서 광선의 방향을 알 수 있다.
생성된 페인팅 캔버스는 월드의 바닥을 통해 사용자가 원하는 곳에 배치할 수 있으며, 크기도 자유롭게 조절할 수 있다. 또한, 페인팅 전까지 기존 배치를 취소하고 원하는 위치에 배치할 수 있다.
계속 변화하는 환경의 업데이트로 인해 카메라 포즈가 시간이 지남에 따라 변할 수 있다. ARCore의 앵커(Anchor)는 시간이 지남에 따라 가상 객체의 위치를 추적할 수 있도록 가상 개체가 월드의 같은 위치에서 안정적으로 고정할 수 있는 기술이다. 앵커를 통해 환경이 업데이트되더라도 가상 객체의 위치는 안정적으로 유지할 수 있게 된다.
그림 6과 표 1은 콘텐츠를 체험하는 사용자의 편의성을 위해 제작된 UI의 위치를 표시한 그림과 이름 및 기능을 정리한 표이다. 좌상단 UI는 포톤 챗을 구현하여 포톤 보이스를 사용할 수 없는 환경에서 텍스트 채팅으로 서로의 의사소통을 전달할 수 있다. 좌측 로그인 상태 창(Bruch status)은 현재 로그인한 클라이언트의 닉네임이 표시되므로 현재 함께 플레이하고 있는 인원과 들어온 순서를 파악할 수 있다. 가운데 페인팅 캔버스는 AR 화면에서 직접 페인팅을 할 수 있는 화면으로 구성되어 있다. 우상단 UI는 페인팅에 사용되는 버튼들로 첫 번째 줄은 브러시, 스프레이, 지우개로 나뉘며 각각 선택 후 페인팅 캔버스 내에서 원하는 위치에 터치할 때 해당 위치에 플레이어가 선택한 색상을 칠하거나 지울 수 있다. 마지막 버튼은 참가하고 있는 룸을 나갈 수 있는 종료 버튼으로 사용자가 원하는 시기에 페인팅 콘텐츠를 종료할 수 있다.
UI name | UI function |
---|---|
Photon chat | Communication delivery function using text in an environment where microphones are not available. |
Photon voice | Real-time call function using a microphone and speaker built into Android. |
Login status | The function of identifying the number of participants by displaying the nickname of the currently logged in user. |
Brush status | The function to check the tool type and size of your choice. |
Leave button | The function of leaving the room and switching to Lobby Scene. |
Tool button | function to select and use Brush, Spray, and Eraser tools. |
Size button | The function of adjusting the size of the tool. |
Clear button | The function of initializing the progress of your own paint or any paint. |
Color picker | The function of selecting color, saturation, and brightness using touch. |
Painting canvas | The function of adjusting the location and size of the painting canvas. |
두 번째 줄은 사이즈 버튼으로 선택한 페인팅 도구들의 크기를 키우거나 줄일 수 있는 버튼들이다. 세 번째 줄은 클리어 버튼으로 자신이 그린 페인팅만 삭제하거나 함께 그린 페인팅을 전부 삭제할 수 있는 기능이다. 각 클라이언트가 생성하는 페인트 프리팹 이름이 닉네임+번호로 저장되므로 각각의 클라이언트들은 다른 클라이언트가 생성한 페인트를 Unity 태그(Tag)와 네임(Name)을 찾아내어 상대방과 상태를 동기화할 수 있다. 우측 UI 브러시 상태 창을 통해 자신이 현재 선택한 도구 타입과 크기를 확인할 수 있다. 우하단 UI는 컬러를 사용자가 원하는 색깔을 선택할 수 있는 컬러 피커로 외곽의 원형을 터치하여 선택하고 색상을 고를 수 있으며 내부의 사각형 내부의 색상을 터치하여 채도, 명도를 즉각적으로 변경할 수 있다.
본 논문에서는 모바일 AR 원격 시스템을 바탕으로 페인팅 콘텐츠 애플리케이션에 적용하여 원격협업 기술을 적용한 모바일 AR 페인팅 콘텐츠 제작기법을 제안하였다. 콘텐츠의 몰입성을 위해 멀티플레이 데이터를 처리할 때 PUN2를 활용하여 동기화의 레이턴시와 신뢰도를 유지하고, 사용자의 콘텐츠 적응 시간의 단축을 고려하여 포톤 챗과 포톤 보이스가 적용된 실시간 페인팅 콘텐츠를 구현하였다.
제안 방법의 실제 실행 가능함을 검증하기 위해 AR Foundation 기반의 ARCore를 적용한 페인팅 콘텐츠를 구현함으로써 제안하는 콘텐츠 제작기법이 적용될 수 있음을 입증하였다. 본 논문에서는 이전에 많이 시도되지 않는 원격지에서 수행되는 AR 콘텐츠를 이용한 사용자 상호작용을 구현했다는 점에서 향후 AR 콘텐츠의 발전 가능성을 보였다.
그러나 COVID-19로 인해 제안된 콘텐츠 제작기법의 사용자 측면의 설문조사와 관련한 실험 데이터가 충분히 축적되지 않았다는 점과 멀티플레이 콘텐츠의 체험 시 협동성에 관한 적절한 비교 평가가 이루어지지 않았다는 점 등에서 본 연구의 한계가 나타난다. 따라서 이번 한계점을 극복하기 위해 실험 환경의 구성 및 정성적, 정량적 평가를 통한 실험 데이터를 측정하고 분석할 수 있는 협업 시나리오를 제시하고 수행하는 것을 다음 논문의 향후 과제로 한다.
이 논문은 2021~2022년도 창원대학교 자율연구과제 연구비 지원으로 수행된 연구결과임
1. | H. Y. Yoon, "Technology and policy trends related to VR·AR and MR", ITFIND, Vol. 1879, pp. 2-13, Jan. 2019. |
2. | G. C. Park, "Technology trends to VR·AR and MR", ITFIND, Vol. 1875, pp. 2-16, Dec. 2018. |
3. | Y. S. Shim, "Technology Trends of Realistic Contents and Application to Educational Contents", JCCT, Vol. 5, No. 4, pp. 315-320, Nov. 2019. |
4. | T. W. Kim, K. A. Kim, and Y. J. Choi, "The State of the Art on the AR Devices and S/W Platform", KIPS, Vol. 26, No. 2, pp. 1087-1089, Nov. 2019. |
5. | J. P. Lee, "Transition to Realistic Content and Market Trends", ITFIND, Vol. 1969, pp. 2-14, Oct. 2020. |
6. | E. M. Lee, "VR/AR Market Outlook and Business Trends", KISDI, Vol. 32, No. 1, pp. 7-18, Jan. 2020. |
7. | Billinghurst. M, and Kato. H, "Collaborative augmented reality", Communications of the ACM, Vol. 45, No. 7, pp. 64-70, Jul. 2002. |
8. | Lukosch. S, Billinghurst. M, Alem. L, and Kiyokawa. K, "Collaboration in augmented reality", Computer Supported Cooperative Work (CSCW), Vol. 24, No. 6, pp. 515-525, Nov. 2015. https://link.springer.com/article/10.1007/s10606-015-9239-0. |
9. | Schmalstieg. D, Fuhrmann. A, Hesina. G, Szalavári. Z, Encarnaçao. L. M, Gervautz. M, and Purgathofer. W, "The studierstube augmented reality project", Presence: Teleoperators & Virtual Environments, Vol. 11, No. 1, pp. 33-54, Feb. 2002. |
10. | Piumsomboon. T, Y. Lee, G. Lee, and Billinghurst. M, "CoVAR: a collaborative virtual and augmented reality system for remote collaboration", In SIGGRAPH Asia 2017 Emerging Technologies, pp. 1-2, Nov. 2017. |
11. | Alem. L, Tecchia. F, and Huang. W, "HandsOnVideo: Towards a gesture based mobile AR system for remote collaboration", In Recent trends of mobile collaborative augmented reality systems, pp. 135-148, Aug. 2011. |
12. | Knutsson. B, Lu. H, Xu. W, and Hopkins. B, "Peer-to-peer support for massively multiplayer games", In IEEE INFOCOM 2004, Vol. 1, Mar. 2004. |
13. | Bangun. R. A, Dutkiewicz. E, and Anido. G. J, "An analysis of multi-player network games traffic", In 1999 IEEE Third Workshop on Multimedia Signal Processing, pp. 3-8, Sep. 1999. |
14. | G. S. Jo, Y. S. Heo, and J. W. Park, "Technology Trends in AR SDK Industry", KICS, Vol. 36, No. 10, pp. 18-25, Sep. 2019. |
15. | Linowes. J and Babilinski. K, "Augmented Reality for Developers: Build practical augmented reality applications with Unity, ARCore, ARKit, and Vuforia", Packt Publishing, pp. 7-8, Oct. 2017. |
16. | Voinea. G. D, Girbacia. F, Postelnicu. C. C, and Marto. A, "Exploring cultural heritage using augmented reality through Google’s Project Tango and ARCore", VRTCH, Brasov, Romania, Vol. 904, pp. 93-106, Dec. 2018. |
17. | J. Paavilainen. H, Korhonen. K. Alha, J. Stenros, E. Koskinen, and F. Mayra, "The Pokémon GO experience: A location-based augmented reality mobile game goes mainstream", CHI, Denver Colorado USA, pp. 2493-2498, May 2017. |
18. | Y. C. Lee, "Development of Cultural Content using a Markerless Tracking-based Augmented Real", Smart Media Journal, Vol. 5, No. 4, pp. 90-95, Dec. 2016. |
19. | E. Nerurkar, S. Lynen, S. Zhao, System and method for concurrent odometry and mapping. https://patents.google.com/patent/US20170336511A1. Publication No: US2017/0336511 A1. 2017. [accessed: Oct. 17, 2021] |
2016년 2월 : 경상대학교 미술교육학과 학사
2020년 9월 : 창원대학교 문화융합기술협동과정 석사과정
관심분야 : 컴퓨터비전, 증강/가상현실, 실감콘텐츠
2006년 2월 : 연세대학교 컴퓨터공학과(공학석사)
2011년 2월 : 연세대학교 컴퓨터공학과(공학박사)
2016년 3월 ~ 현재 : 강남대학교 소프트웨어응용학부 교수
관심분야 : 가상현실, 증강현실, 모바일컴퓨팅, 기계학습, HCI
2003년 8월 : 고려대학교 전자정보공학(공학사)
2006년 2월 : 연세대학교 생체인식공학(공학석사)
2011년 2월 : 연세대학교 전기전자공학(공학박사)
2011년 ~ 2012년 : LG전자기술원 미래IT융합연구소 선임연구원
2012년 ~ 2013년 : 연세대학교 전기전자공학과 연구교수
2013년 ~ 2016년 : 제주한라대학교 방송영상학과 조교수
2016년 ~ 2019년 : 동명대학교 디지털미디어공학부 부교수
2019년 9월 ~ 현재 : 창원대학교 문화테크노학과 부교수
관심분야 : 컴퓨터비전, 증강/가상현실, HCI