"CyberPunk 2021"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(기술개발 일정 및 추진체계)
(로고)
 
(같은 사용자의 중간 판 28개는 보이지 않습니다)
3번째 줄: 3번째 줄:
 
==프로젝트 개요==
 
==프로젝트 개요==
 
=== 기술개발 과제 ===
 
=== 기술개발 과제 ===
''' 국문 : ''' 다락 : AR로 가상의 내 방 꾸미기
+
''' 국문 : ''' 다락 (AR로 가상의 내 방 꾸미기)
  
''' 영문 : ''' dARak : Decorate your virtual room with AR
+
''' 영문 : ''' dARak (Decorate your virtual room with AR)
  
 
===과제 팀명===
 
===과제 팀명===
17번째 줄: 17번째 줄:
  
 
===구성원 소개===
 
===구성원 소개===
서울시립대학교 컴퓨터과학부 2015920005 김대현(팀장)
+
서울시립대학교 컴퓨터과학부 20159200** 김*현(팀장)
  
서울시립대학교 컴퓨터과학부 2014920056 최주영
+
서울시립대학교 컴퓨터과학부 20149200** 최*영
  
서울시립대학교 컴퓨터과학부 2015920035 이정석
+
서울시립대학교 컴퓨터과학부 20159200** 이*석
  
서울시립대학교 컴퓨터과학부 2016920050 정진용
+
서울시립대학교 컴퓨터과학부 20169200** 정*용
  
 
==서론==
 
==서론==
149번째 줄: 149번째 줄:
 
====개발 일정====
 
====개발 일정====
  
[[파일:CyberPunk2021 개발일정.PNG]]
+
[[파일:CyberPunk2021 개발일정1.PNG]]
  
 
====구성원 및 추진체계====
 
====구성원 및 추진체계====
내용
+
[[파일:CyberPunk2021_구성원1.PNG]]
  
 
==설계==
 
==설계==
 
===설계사양===
 
===설계사양===
 
====제품의 요구사항====
 
====제품의 요구사항====
내용
+
[[파일:CyberPunk2021_요구사항.PNG]]
====설계 사양====
 
내용
 
  
 
===개념설계안===
 
===개념설계안===
내용
+
====서비스 개념 요약====
 +
[[파일:CyberPunk2021 개념설계안1.PNG]]
 +
◇ 사용자는 자신만의 방을 스마트폰으로 3D를 통해서 꾸밀 수 있다.
 +
◇ 사용자는 AR을 통해 자신이 꾸민 방을 구경할 수 있고, 사진으로 기록을 남길 수 있다.
 +
◇ 사용자는 타임라인을 통해 스냅샷을 공유할 수 있다.
 +
◇ 사용자는 팔로우 기능을 통해 다른 사용자와 관계를 형성할 수 있다.
 +
◇ 스냅샷에 들어가면 호감표시를 남겨 다른 유저와 소통할 수 있다.
 +
◇ AR을 통해 해당 방에 직접 들어가 구경할 수 있다.
 +
◇ AR을 사용자의 환경에 따라서 두 가지 버전으로 확인할 수 있다.
 +
 
 +
====구상 스케치====
 +
*다락방 시연, 조작 화면 구상도
 +
[[파일:CyberPunk2021 개념설계안2.PNG]]
 +
◇ 전체 구성
 +
- 다락방은 모바일 기기를 이용해 3개의 모드 중 하나를 선택해 볼 수 있다.
 +
- AR Mini, AR Real 모드는 모바일 기기의 카메라를 이용해 AR 화면을 보여준다.
 +
 
 +
◇ AR Mini
 +
- AR Mini 모드는 간편하게 미니어처 모습의 다락방을 AR로 보여주는 기능이다.
 +
- 해당 모드 실행 시 모바일 기기의 카메라를 이용해 바닥을 인식한다.
 +
- 인식한 바닥 위에 미니어처를 띄운다.
 +
 
 +
◇ AR Real
 +
- AR Real 모드는 가상의 portal로 다락방을 구현한다.
 +
- 모바일 기기의 화면을 통해 portal 안으로 직접 들어가는 모습을 보여준다.
 +
- 유저는 내부의 모습을 모바일 기기의 화면을 통해 가상의 공간을 구경할 수 있다.
 +
 
 +
◇ 3D Editor
 +
- 다락방은 3D Editor 모드를 통해서 가구 배치를 하여 자신만의 공간을 꾸밀 수 있다.
 +
- 각 가구 오브젝트는 회전시켜 배치할 수 있다.
 +
 
 +
*메인 화면 구상도
 +
[[파일:CyberPunk2021 개념설계안3.PNG]]
 +
◇ 전체 구성
 +
- 메인 화면은 뉴스피드, 다락방 진입, 프로필 화면으로 구성된다.
 +
- 각 화면은 좌우로 스와이프 터치 방식을 통해 넘어갈 수 있다.
 +
- 뉴스피드 화면은 사용자가 팔로우한 유저의 최근 일주일 간 생성한 스냅샷을 보여준다.
 +
- 뉴스피드의 타임라인에서 스냅샷을 터치하면 다락방의 정보를 보고, AR로 해당 다락방을 볼 것인지 선택할 수 있다.
 +
- 다락방 진입 화면은 자신의 다락방을 보기 위해 원하는 모드를 선택할 수 있는 화면이다.
 +
- 프로필 화면은 유저의 정보, 해당 유저가 남긴 최근 다락방 스냅샷, 그리고 방명록을 보여준다.
 +
- 프로필 화면 내 스냅샷 썸네일 사진을 터치하면 해당 유저가 만든 스냅샷 목록을 볼 수 있다.
 +
 
 +
◇ 유저 간 관계
 +
- 유저는 다른 유저와 팔로우 관계를 형성할 수 있으며, 언제든지 팔로우, 언팔로우할 수 있다.
 +
- 해당 유저의 프로필을 통해 팔로잉, 팔로워 목록을 볼 수 있다.
 +
 
 +
◇ 스냅샷
 +
- 유저는 다락방의 모습을 스냅샷(다락방의 모습을 찍은 사진)으로 남길 수 있다.
 +
- 유저가 스냅샷을 남기면 자신을 팔로잉하는 유저들의 뉴스피드 화면에서 타임라인을 통해 다른 사람들에게 스냅샷을 보여준다.
 +
- 유저는 각 스냅샷에 호감 표시를 남길 수 있다.
  
 
===이론적 계산 및 시뮬레이션===
 
===이론적 계산 및 시뮬레이션===
내용
+
====3D Editor====
 +
[[파일:CyberPunk2021 이론적계산1.PNG]]
 +
 
 +
#3D Editor 씬에 접속한다.<br>- AR 화면에서 접속하면 가구 정보가 없는 빈 방이 나온다.<br>- 사용자의 스냅샷을 통해 접속하면 스냅샷에 저장된 timestamp 값으로 DB에서 방의 정보를 가져온다.
 +
#배치 가구에서 가구를 드래그 할 수 있고, 이 때의 가구는 투명한 오브젝트로 변경된다.
 +
#드래그한 가구를 터치에서 떼면, 투명한 가구가 불투명한 가구로 생성되며 원하는 위치에 배치된다.<br>- 가구가 방 밖으로 넘어가면 가구가 생성되지 않는다.
 +
#배치한 가구를 짧게 터치하면 회전, 삭제 UI가 생성되어 가구별로 회전을 시키거나 제거할 수 있다.
 +
#배치한 가구를 길게 터치하면 2번으로 돌아가서 가구의 위치를 변경할 수 있다.<br>- 가구가 방 밖으로 넘어가면 배치할 수 있는 가까운 가장자리로 가구가 배치된다.
 +
#'Save' 버튼을 누르면 현재 가구들의 종류 및 위치 정보, 저장 시간을 DB로 전송하며, 생성시킨 방의 이미지 정보를 로컬 디바이스에 저장하며 Firebase Storage로 전송한다.
 +
 
 +
====AR Portal====
 +
[[파일:CyberPunk2021 이론적계산2.PNG]]
 +
 
 +
◆ AR포탈의 문을 제외한 오브젝트들(벽면 포함)에 자체적인 Shader를 적용시킨다.
 +
:- 문을 기준으로 좌표값을 계산하여, 문 뒤쪽의 오브젝트는 투명하게 만든다.
 +
:- 문에 Mask를 적용하여, Mask를 통해 오브젝트를 바라보면, 불투명하게 보이도록 한다.
 +
:- 카메라가 문의 뒤쪽으로 넘어가면 투명한 오브젝트들이 불투명하게 보이도록 한다.
  
 
===상세설계 내용===
 
===상세설계 내용===
내용
+
====기능 구현을 위한 세부기술 선택사항====
 +
*Front-End
 +
◇ Unity
 +
Unity는 게임 개발을 위해 만들어진 개발 플랫폼이다. 우리는 AR 구동을 위해 사용이 용이한 Unity로 작업하기로 했다. UI와 이미지 송수신 등의 작업은 C#으로 작업한다.
 +
 
 +
◇ ARCore
 +
구글에서 제공하는 AR 개발 키트이다. 다양한 개발 환경에서 활용할 수 있으며, 사물과의 거리를 계산하는 뎁스 카메라를 기본으로 제공하기 때문에 AR 화면을 띄우기 쉽다. 휴대폰의 카메라로 주변 환경을 촬영하거나 주시하면, 사물의 위치와 움직임, 주변 환경 구조, 조명 등을 인식할 수 있다. 자바/OpenGL, Unity, Unreal과 연동되며, Unity의 ARCore 라이브러리를 통해 그래픽 작업을 할 수 있다. 안드로이드 SDK 플랫폼 버전 7.0 (API level 24) 이상의 환경을 지원하는 거의 모든 모바일 기기에서 실행할 수 있다.
 +
 
 +
*Back-End
 +
◇ Google Cloud Platform
 +
Google에서 개발한 클라우드 컴퓨팅 플랫폼이다. VM Instance 생성을 통해 서버를 만들 수 있고, 이를 통해 dARak 서버를 운영한다.
 +
 
 +
◇ Google Firebase
 +
Google은 개발자에게 서버 인프라에 대한 걱정을 하지 않도록 애플리케이션 개발을 간편하게 해주는 도구를 제공한다. 그 중 “Firebase”라는 다양한 앱 개발 서비스를 제공하는 Database Platform이 있다. 여러 기능 중 요구사항을 만족시키기 위해 Realtime Database와 Storage를 사용하기로 한다.
 +
Realtime Database는 클라우드 호스팅 데이터베이스다. 이 데이터베이스는 데이터를 JSON으로 저장하는 Document 형식의 NoSQL 데이터베이스로, 연결된 모든 클라이언트와 실시간으로 동기화한다. 특히 기기가 오프라인 상태일 때도 로컬에 데이터를 저장하고, 후에 온라인 상태가 됐을 때 충돌이 발생하지 않도록 동기화를 해줘 안정적으로 데이터를 사용할 수 있도록 한다.
 +
Storage는 사진, 동영상 등의 콘텐츠를 저장하고 제공해야 하는 앱 개발자를 위해 만들어진 데이터 스토리지 모델이다. 클라이언트 개발자는 서버 장비가 없어도 Firebase SDK를 이용해 사진, 동영상 등의 파일을 업로드 및 다운로드를 할 수 있다.
 +
 
 +
◇ Docker
 +
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. GCP의 서버에 Docker를 구축하여 올리고, 이를 통해 서버 프로그램을 구동한다. Docker를 사용함으로써 개발환경과 서버의 환경을 일치시킬 수 있어서 환경의 차이에 따른 오류 등을 방지할 수 있다.
 +
 
 +
*서버-클라이언트 통신
 +
◇ Socket 통신
 +
Server와 Client가 계속 연결을 유지하는 양방향 통신이다. Server와 Client가 실시간으로 데이터를 주고받는 상황이 필요한 경우에 사용된다. 실시간 동영상 Streaming이나 온라인 게임 등 같은 경우에 자주 사용된다.
 +
 
 +
====시스템 설계====
 +
[[파일:CyberPunk2021 시스템설계.PNG]]
 +
 
 +
*서버
 +
◇ Google Cloud Platform을 이용해 원격 서버를 연다.
 +
◇ docker를 통해 일관된 개발 환경과 유지보수를 할 수 있도록 설계한다.
 +
◇ Python으로 제작한 스크립트를 통해 서버가 구동된다.
 +
◇ 서버에서 DB에 데이터를 가져올 땐, Python 스크립트를 통해 데이터를 가져온다.
 +
 
 +
*클라이언트
 +
◇ 애플리케이션은 안드로이드 모바일 환경에서 사용할 수 있다.
 +
◇ Google ARCore 라이브러리를 구동할 수 있는 Android 8.0 이상의 환경이 필요하다.
 +
◇ Unity 엔진을 이용해 소셜 네트워크 UI와 다락방 AR 모습을 렌더링해 보여준다.
 +
 
 +
*통신
 +
◇ 서버와 클라이언트 간 통신은 Socket 기반으로 진행된다.
 +
◇ 상호 간 송수신할 JSON 객체 데이터 프로토콜을 정의한 후, 해당 데이터를 바탕으로 필요한 작업을 실행한다.
 +
◇ 이미지 데이터는 우선 서버와 통신을 한 후, 데이터를 불러와야 하는 경우 Firebase Storage에 요청을 보내고 데이터를 받는다.
 +
 
 +
*DB
 +
◇ Firebase의 Realtime DB, Storage 기능으로 데이터를 저장하고 관리한다.
 +
◇ Firebase Realtime DB에는 json 형식의 데이터를 저장한다.
 +
◇ Firebase Storage에는 이미지 데이터를 저장한다.
 +
 
 +
====소프트웨어 설계====
 +
*UI 플로우 다이어그램
 +
[[파일:CyberPunk2021 UI플로우다이어그램.PNG]]
 +
 
 +
*AR 생성방식
 +
 
 +
[[파일:CyberPunk2021 AR생성방식.PNG]]
 +
1. 방의 정보를 DB에서 가져온다.
 +
- AR 화면에서 접속하면 사용자의 가장 최근 스냅샷에 저장된 timestamp값을 통해 DB에서 방의 정보를 가져온다.
 +
- 스냅샷을 통해 접속하면, 스냅샷에 저장된 timestamp값을 통해 DB에서 방의 정보를 가져온다.
 +
2. 방의 정보를 토대로 사물의 위치, 회전, 크기를 고려하여 각 AR 씬에 맞는 좌표값을 계산한다.
 +
3. 좌표값을 토대로 가구들을 배치시킨 AR Room 오브젝트를 생성하고, 비활성화시킨다.
 +
4. ARCore의 Depth카메라를 활용하여 AR을 생성할 수 있는 평면을 인식하고, 시각적으로 표시한다.
 +
5. 인식된 평면에서 원하는 부분을 터치하여 비활성화 된 AR Room 오브젝트를 활성화시키고, 터치한 위치로 이동시킨다. 평면 시각화 오브젝트는 비활성화 시킨다.
 +
6. 'Re' 버튼을 통해 AR Room 오브젝트를 비활성화 시키고, AR을 생성할 수 있는 평면 시각화 오브젝트를 활성화시킨다.
  
 
==결과 및 평가==
 
==결과 및 평가==
 
===완료 작품의 소개===
 
===완료 작품의 소개===
====프로토타입 사진 혹은 작동 장면====
+
====로고====
내용
+
[[파일:CyberPunk2021 아이콘.png]]
====포스터====
+
 
내용
+
[https://play.google.com/store/apps/details?id=com.CyberPunk2021.dARak Google Play]
 +
◇ 구글 플레이 스토어에 '다락' 또는 'dARak', 'AR dARak' 검색
 +
※ ARCore를 지원하는 API Level24(Android 7.0)이상 기기만 설치 가능
 +
 
 +
====프로토타입 사진====
 +
[[파일:CyberPunk2021 프로토타입1.PNG]]
 +
 
 +
[[파일:CyberPunk2021 프로토타입2.PNG]]
 +
 
 +
[[파일:CyberPunk2021 프로토타입3.PNG]]
 +
 
 +
[[파일:CyberPunk2021 프로토타입4.PNG]]
 +
 
 +
[[파일:CyberPunk2021 프로토타입5.PNG]]
 +
 
 +
[[파일:CyberPunk2021 프로토타입6.PNG]]
 +
 
 +
====대외전시 포스터====
 +
기본형
 +
 
 +
[[파일:CyberPunk2021 포스터.PNG]]
 +
 
 +
가로형
 +
 
 +
[[파일:CyberPunk2021 포스터 가로형.png]]
 +
 
 +
세로형
 +
 
 +
[[파일:CyberPunk2021 포스터 세로형.PNG]]
  
 
===관련사업비 내역서===
 
===관련사업비 내역서===
내용
+
[[파일:CyberPunk2021_사업비내역서.PNG]]
  
 
===완료작품의 평가===
 
===완료작품의 평가===
내용
+
[[파일:CyberPunk2021 완료작품평가.PNG]]
  
 
===향후계획===
 
===향후계획===
내용
 
  
===특허 출원 내용===
+
◇ 다락방 내 가구 오브젝트 및 가구 UI 추가
내용
+
사용자의 개성이 도드라지게 나타날 수 있게 가구 오브젝트의 추가가 필요하다. 하지만 가구 오브젝트를 새로 추가할 시, 매번 가구의 중심점을 잡아야하는 별도의 작업이 필요하여 시간이 많이 소요되는 문제가 있다. 이를 최소화 하는 방법을 구현해야하며, 이와 동시에  가구 목록을 추가하여 사용자가 원하는 가구를  등록하거나 삭제할 수 있는 UI의 구현이 요구된다. 가구 UI 같은 경우 Horizontal Scroll로 구현할 것이며, 버튼 탭 방식을 통해 즐겨찾기 한 가구, 내가 보유중인 가구 목록, 미 보유중인 가구 목록, 전체 가구 목록, 친구가 보유중인 가구 목록을 볼 수 있도록 구현할 예정이다. <br>
 +
◇ 다락방 내 가구 오브젝트 상호작용
 +
AR상에 보여지는 오브젝트를 화면에서 터치할 시 램프가 켜지고 꺼지는 것과 같은 상호작용을 추가하여, 좀 더 인터렉티브한 AR 경험 환경을 제공할 것이다.<br>
 +
◇ 채팅 기능
 +
SNS의 기능을 강화하기 위하여 다른 사용자와 채팅 기능 추가가 필요하다. 현 프로젝트는 소켓 통신으로 통신하기에 이를 이용하여 실시간 채팅 기능을 구현할 예정이다.<br>
 +
◇ UI/UX 디자인 개선
 +
사용자가 상호작용시 적절한 피드백을 받을 수 있도록 애니메이터를 이용한 반응형 UI를 추가 구현할 것이며, 보다 나은 사용 편의성을 제공하기 위하여 대표적인 SNS를 모티브한 토대로 사용자 친화적 디자인 UI를 재구현할 예정이다. <br>
 +
◇ 스냅샷 썸네일 사진 추가 및 변경
 +
현재 각 스냅샷의 썸네일은 다락방의 3D Editor 화면에서 다락방 모습을 저장했을 때 캡처한 이미지를 사용하고 있다. 사용자가 각자의 개성이 드러날 수 있게 3D Editor화면 뿐만이 아닌 3D Mode와 AR Mode에서의 캡처 화면도 썸네일로 사용할 수 있도록 추가 구현할 예정이다.<br>
 +
◇ 사용자 3D 아바타
 +
사용자에게 좀 더 나은 메타버스 경험을 주기 위하여 3D 아바타를 구현할 예정이다. 3D 아바타는 사용자가 원하는 얼굴, 색상, 머리스타일 등으로 커스터마이징 하는 방식으로 동작할 것이며, 사용자가 3D Editor로 꾸민 방을 AR Mini Mode로 볼 때 방안에 3D 아바타가 움직이는 등 상호작용을 추가 할 것이다.<br>
 +
◇ 스토리 기능
 +
스토리 기능을 추가하여 AR 스냅샷과 함께 하루 일상을 공유할 수 있는 기능을 추가 구현할 예정이다. <br>
 +
◇ iOS 어플리케이션 개발
 +
iOS에서 동작하는 어플리케이션을 개발하기 위해선 Xcode를 동작시킬 수 있는 개발장비가 필요하다. 개발장비가 없기에  iOS 기기로의 구현이 불가능하였고, 추후 mac 개발장비가 생기면 iOS로도 동작할 수 있게 구현할 예정이다.

2021년 6월 21일 (월) 05:06 기준 최신판

프로젝트 개요

기술개발 과제

국문 : 다락 (AR로 가상의 내 방 꾸미기)

영문 : dARak (Decorate your virtual room with AR)

과제 팀명

CyberPunk 2021

지도교수

최혁 교수님

개발기간

2021년 3월 ~ 2021년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20159200** 김*현(팀장)

서울시립대학교 컴퓨터과학부 20149200** 최*영

서울시립대학교 컴퓨터과학부 20159200** 이*석

서울시립대학교 컴퓨터과학부 20169200** 정*용

서론

개발 과제의 개요

개발 과제 요약

다락(dARak)은 AR과 SNS 기능을 접목시킨 모바일 어플리케이션 메타버스 서비스다. 사용자는 애플리케이션 내에 새로운 가상의 방을 만들고 기호에 맞게 방을 꾸밀 수 있다. 애플리케이션은 꾸민 가상의 방을 AR 기능을 통해 보여주고, 사용자에게 실제 방에 들어간다는 느낌을 경험할 수 있도록 한다. 또한, 다른 사용자가 꾸민 가상의 방도 AR을 통해 구경할 수 있다. 추가로 서비스를 이용하는 사용자끼리 팔로잉 개념의 관계를 맺어 서로 교류할 수 있다.

이 프로젝트의 이름은 다락방을 꾸민다는 것에 착안하였다. 나만의 또 다른 공간을 만든다는 것이 마치 새로운 ‘다락방’을 만들고 꾸민다는 생각을 할 수 있기 때문이다. 또한 이번 프로젝트는 AR이란 핵심 기술을 활용한다는 점에서 중간에 AR이란 글자를 부각해 ‘dARak’이라는 영문명을 만들었다.

개발 과제의 배경

  • 집을 꾸미고자 하는 수요 증가

최근 코로나-19 상황으로 인해 집 밖을 함부로 나가지 못하고, 사람들은 오랜 기간 집에 머무는 상황이다. 사람들은 외출하지 못해 집 안의 모습을 계속 보게 되어 답답하고 지루한 감정을 갖게 되고, 이 때문에 인테리어와 관련된 서비스, 자원의 수요가 늘어나고 있다.

계속 늘어나는 꾸미기 수요층이 만족할 수 있도록 여러 신생기업이 다양한 인테리어 관련 서비스를 제공하고 있다. 대표적으로 가구를 구매할 수 있는 플랫폼(ex. 오늘의집, 집꾸미기 등), 집의 인테리어 견적을 내는 서비스 플랫폼(ex. 집닥) 등이 있다. 이 서비스들은 사람들이 어떻게 집을 꾸몄는지 글과 사진을 남길 수 있는 게시판을 만들었단 공통점이 있다. 사용자는 게시글을 통해 다른 사람들의 꾸민 방을 구경하는 것을 통해 자신의 공간을 꾸미고자 하는 욕구를 대리만족하는 것으로 보인다.

  • AR 기술의 발전 가능성

증강현실(AR, Augmented Reality)이란 실제 공간에서 가상의 정보를 합성해 기존의 공간에 존재하는 사물처럼 보이도록 하는 기술이다. 현실 세계를 기반으로 두기 때문에, 현실의 다양한 문제와 접목해 응용할 수 있다는 장점이 있다. 이 때문에 미래에 유비쿼터스 환경을 구현하기 위한 핵심기술로 꼽히고 있다. 그러나 AR이 가지는 가능성에 비해, 한때 시장에서 지지부진한 모습을 보여주며 많은 주목을 받지 못했다. 가장 큰 이유는 AR 기술을 이용해 즐길 만한 콘텐츠가 부족했기 때문이다.

그 당시엔 AR 구현을 위한 하드웨어와 통신 인프라가 제대로 갖춰지지 않은 환경이었고, 이 때문에 컨텐츠 개발에 많은 어려움이 있었던 것이다. 따라서 자연스럽게 AR 컨텐츠 개발이 지지부진했고, 사람들의 관심에서도 멀어졌다. 가장 대중에게 많이 알려진 AR 콘텐츠로 ‘포켓몬GO’라는 게임이 있었지만, 그 후로 대중들의 니즈를 충족시킬 만한 AR 콘텐츠는 나오지 않았다.

하지만 최근 코로나-19 사태로 언택트 문화가 퍼지고, 동시에 5G 통신이 개시되고 있는 시기와 맞물리면서 다시 가상현실과 관련된 기술과 콘텐츠의 가능성이 다시 수면 위로 뜨기 시작했다. 일례로 외출이 자유롭지 못한 상황에서 온라인 쇼핑 수요가 늘어나면서, 해당 서비스를 AR과 접목해 물품을 증강현실을 통해 확인하고 구매하는 플랫폼이 생겼다. 또 집에 머물면서 즐겼던 기존의 멀티미디어 컨텐츠 방식을 넘어, 증강현실을 통한 새로운 방식의 멀티미디어 콘텐츠를 소비하는 사람들이 생기고 있다.

현재 AR 기술은 단순한 엔터테인먼트뿐만 아니라, 패션, 교육, 군수, 건설 등 다방면으로 AR 기능을 활용하려는 연구가 활발하게 진행되고 있다. 아직 하드웨어 생산설비의 문제와 제품 가격, 기술 활용도, 법적 문제 등의 여러 가지 어려움이 있는 상황이지만, 만약 미래에 증강현실을 구현하는 하드웨어가 널리 상용화가 되고 기술을 사용에 관련된 인프라가 잘 다져진다면 AR의 활용도는 무궁무진할 것으로 보인다.

  • SNS와 미니홈피

SNS(Social Networking Service)란 사용자 간의 의사소통과 정보 공유, 인맥 확대 등으로 사회적 관계를 생성하고 강화해주는 온라인 플랫폼이다. 스마트폰이 대중화된 오늘날, SNS는 다른 사람과 멀리서 소통을 할 수 있다는 점에서 많은 이들에게 거의 필수적인 플랫폼으로 자리를 잡았다.

2000년대 후반 대한민국은 ‘내가 꾸밀 수 있는 나만의 미니홈피’라는 개념을 SNS에 결합한 싸이월드의 미니홈피 열풍이 불었다. 자그마한 캐릭터인 미니미와 자기만의 공간인 미니룸을 직접 사용자가 꾸며 개성과 취향을 표현할 수 있었고, 일촌 파도타기를 통하여 다양한 사람들의 미니홈피에 찾아가 일촌평과 방명록을 남기며 소통할 수 있었다. 사용자는 이전에 자신이 꾸몄던 미니룸의 사진을 저장하거나 글과 사용자의 사진을 미니홈피에 남길 수 있어 일기장이나 앨범으로 사용하는 풍경도 보여주었다. 하지만 스마트폰이 등장하게 되면서 페이스북과 인스타그램에 비해 뒤늦은 모바일 대응과 불편한 사용성으로 인하여 싸이월드는 역사 속으로 사라지게 되었지만, 미니홈피 기능을 최신 트렌드가 반영된 새로운 모습으로 출시를 요구하는 사용자들이 많아 수요층이 많을 것으로 보인다.

개발 과제의 목표 및 내용

본 프로젝트의 목표는 AR 기술을 이용해 메타버스 경험을 할 수 있는 SNS 플랫폼을 만드는 것이다.

◇ Editor를 이용한 미니홈피 꾸미기 기능 제공
◇ 꾸며진 방을 시각적으로 확인할 수 있는 AR 콘텐츠 제공(Real, Mini)
◇ 방명록, 다락방 스냅샷의 호감 표시, 팔로잉 등 유저 간 상호 커뮤니케이션을 할 수 있는 SNS 기능

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
    • 증강현실(AR)

증강현실(AR, Augmented Reality)이란 실제 공간에서 가상의 정보를 합성해 기존의 공간에 존재하는 사물처럼 보이도록 하는 기술이다. 현실 세계를 기반으로 두기 때문에, 현실의 다양한 문제와 접목해 응용할 수 있다는 장점이 있다. 이 때문에 미래에 유비쿼터스 환경을 구현하기 위한 핵심기술로 꼽히고 있다. 최근 코로나-19 사태로 언택트 문화가 퍼지고, 동시에 5G 통신이 개시되고 있는 시기와 맞물리면서 가상현실 및 증강현실과 관련된 기술과 콘텐츠의 가능성이 다시 수면 위로 뜨기 시작했다. 일례로 외출이 자유롭지 못한 상황에서 온라인 쇼핑 수요가 늘어나면서, 해당 서비스를 AR과 접목해 물품을 증강현실을 통해 확인하고 구매하는 플랫폼이 생겼다. 또 집에 머물면서 즐겼던 기존의 멀티미디어 컨텐츠 방식을 넘어, 증강현실을 통한 새로운 방식의 멀티미디어 콘텐츠를 소비하는 사람들이 생기고 있다. 정부에서는 최근 VR·AR 분야의 선제적 규제혁신 이행안을 발표해 앞으로 의료나 교육 가상·증강현실(VR·AR) 콘텐츠가 현행법상 게임물로 묶여 있던 규제에서 벗어나 오락, 교육뿐만 아니라 교통, 제조, 의료, 국방, 치안 등 다양한 분야로 콘텐츠가 생산될 수 있도록 했다. ‘비대면 시대 유망 신산업 VR·AR 규제 확 푼다’, 국무조정실, 과학기술정보통신부, `20. 8. 3., 대한민국 정책브리핑(www.korea.kr) 아직 하드웨어 생산설비의 문제와 제품 가격, 기술 활용도, 법적 문제 등의 여러 가지 어려움이 있는 상황이지만, 만약 미래에 증강현실을 구현하는 하드웨어가 널리 상용화가 되고 기술을 사용에 관련된 인프라가 잘 다져진다면 AR의 활용도는 무궁무진할 것으로 보인다.

  • 소셜 네트워킹 서비스 (SNS, Social Networking Service)

SNS는 사용자 간의 의사소통과 정보 공유, 인맥 확대 등으로 사회적 관계를 생성하고 강화해주는 온라인 플랫폼이다. 스마트폰이 대중화된 오늘날, SNS는 다른 사람과 멀리서 소통을 할 수 있다는 점에서 많은 이들에게 거의 필수적인 플랫폼으로 자리를 잡았다. 또한 단순한 의사소통을 넘어 사회적·경제적 관계 속에서 다양한 행위를 가능하게 하는 장으로서 역할을 확대하고 있다. 최근 SNS 플랫폼 이용자 수는 플랫폼 종류가 다를 뿐 연령층을 막론하고 많은 사람들이 이용하고 있는 것을 볼 수 있다.

  • 메타버스

메타버스가 새로운 시장의 산업 트렌드로 떠오르고 있다. 메타버스(Metaverse)는 Meta(초월)과 Universe(우주)의 합성어로 가상 세계와 현실 세계를 합한 3차원 입체 가상 세계를 말한다. 3차원 가상공간에 ‘현실 세계’라는 개념을 더해, 가상공간과 현실이 서로 적극적으로 상호작용하는 방식과 그것이 이루어지는 공간을 뜻한다. 메타버스를 통해 현실 세계의 사람은 가상공간에서 가상의 아바타를 매개체로 다른 사람들과 소통하고 놀이, 업무, 상업, 또는 엔터테인먼트 활동을 즐기는 등 현실에서 할 수 있는 활동들을 가상의 공간에서 그대로 즐길 수 있다.


  • 특허조사 및 특허 전략 분석
  • 특허조사
◇ 증강현실을 이용한 가구배치 시뮬레이션 시스템 및 방법과 이를 위한 컴퓨터 프로그램
- 출원번호 : 제10-2018-0067600
가구배치 시뮬레이션 시스템은 사용자의 스마트폰(smartphone) 등 장치로부터 획득한 정보를 기반으로 하여 사용자 환경의 AR 모델을 제공하고, 사용자는 이를 이용하여 자신의 환경에 존재하는 물체들을 가상으로 제거할 수 있으며 사용자가 구매하고자 하는 가구 상품을 사용자 환경에 가상으로 배치해보는 등 실제 구매 전에 자신의 환경 내에서 가구들이 어떻게 어울릴 것인지를 사전에 체험해볼 수 있다.
◇ 클라우드 기반 그림 SNS 서비스 방법 및 플랫폼
- 출원번호 : 제10-2016-0005303
클라우드 기반 그림 SNS 서비스는 다수의 사용자가 모바일 애플리케이션을 통해 그린 그림들을 클라우드 기반 SNS 상에 업로드하는 활동을 기반으로 다양한 인간관계 형성 활동을 할 수 있다. 기본적으로 클라우드 기반 그림을 등록 및 공유하고, 다른 유저들이 해당 그림들을 보고 반응을 남길 수 있다. 또한, 각각의 유저들은 서로 다른 유저들의 프로필 정보를 볼 수 있고, 친구로 추가하거나 추천하는 시스템을 포함한다.
  • 특허전략

◇ AR 기반 SNS 플랫폼 현재 AR 분야와 SNS 기반 플랫폼과 관련된 특허는 있는 것으로 파악되나, AR과 SNS 플랫폼을 융합한 서비스는 아직 나오지 않은 것으로 보인다. 따라서 누구나 자신만의 AR 콘텐츠를 만들고, 이를 다른 사람들과 공유할 수 있는 SNS 서비스를 제작하면 시장에 경쟁력이 있을 것이다.


  • 기술 로드맵

◇ 증강현실(AR)

CyberPunk2021 기술로드맵1.png

▲ VR·AR 선제적 규제혁신 로드맵


◇ 소셜 네트워크 서비스 플랫폼(SNS)

CyberPunk2021 기술로드맵2.png

▲ SNS 플랫폼 분야 중기 기술개발 로드맵

시장상황에 대한 분석

  • 경쟁제품 조사 비교
◇ 오늘의집, 집꾸미기
계속 늘어나는 인테리어 수요층이 만족할 수 있도록 여러 신생기업이 다양한 인테리어 관련 서비스를 제공하고 있다. 대표적으로 가구를 구매할 수 있는 플랫폼 오늘의집, 집꾸미기 등이 있다. 이 서비스들은 사람들이 어떻게 집을 꾸몄는지 글과 사진을 남길 수 있는 게시판을 만들었단 공통점이 있다. 사용자는 게시글을 통해 다른 사람들의 꾸민 방을 구경하는 것을 통해 자신의 공간을 꾸미고자 하는 욕구를 대리만족하는 것으로 보인다.
◇ 싸이월드(구 SK커뮤니케이션즈 운영, 현 싸이월드Z 서비스 재운영 예정)
2000년대 후반 대한민국은 ‘내가 꾸밀 수 있는 나만의 미니홈피’라는 개념을 SNS에 결합한 싸이월드의 미니홈피 열풍이 불었다. 자그마한 캐릭터인 미니미와 자기만의 공간인 미니룸을 직접 사용자가 꾸며 개성과 취향을 표현할 수 있었고, 일촌 파도타기를 통하여 다양한 사람들의 미니홈피에 찾아가 일촌평과 방명록을 남기며 소통할 수 있었다. 사용자는 이전에 자신이 꾸몄던 미니룸의 사진을 저장하거나 글과 사용자의 사진을 미니홈피에 남길 수 있어 일기장이나 앨범으로 사용하는 풍경도 보여주었다. 하지만 스마트폰이 등장하게 되면서 페이스북과 인스타그램에 비해 뒤늦은 모바일 대응과 불편한 사용성으로 인하여 싸이월드는 역사 속으로 사라지게 되었지만, 미니홈피 기능을 최신 트렌드가 반영된 새로운 모습으로 출시를 요구하는 사용자들이 많아 수요층이 많을 것으로 보인다.
◇ 동물의 숲 시리즈(닌텐도주식회사 제작)
닌텐도가 개발한 동물의 숲은 코로나 특수를 통해 전 세계적으로 흥행하였다. 무인도에서 낚시하고 과일을 심고 나무를 캐며, 각종 가구를 만들고 자신만의 섬을 꾸미는 게임이다. 실시간으로 다른 사람의 섬에 들어가 자신이 꾸민 섬을 구경시켜주거나, 다른 사람이 꾸민 섬을 구경할 수 있으면서 소통할 수 있는 까닭에 코로나로 인해 갇혀있는 공간에서 해방감을 느끼게 해주는 역할을 크게 하였다. 각종 기업이나 패션 브랜드에서도 옷과 각 회사 브랜드에 맞게 섬을 디자인하여 공유하는 등 기업들의 커뮤니케이션, 브랜딩 수단으로까지 활용되었다. 소비자와의 접점을 오프라인 매장이나 패션쇼가 아닌, 가상의 공간에서 접근 가능하다는 측면을 높게 삼은 것이다.
◇ 제페토(네이버제트 제작)
제페토(ZEPETO)는 네이버제트가 개발한 얼굴인식과 사용자의 사진을 이용하여 가상의 3D 아바타를 생성하여 소셜 활동을 즐길 수 있는 AR 기반 아바타 플랫폼이다. 자신과 닮은 3D 아바타로 가상공간인 맵을 돌아다니며 다른 이용자와 게임이나 콘서트를 즐길 수 있고, 사진도 찍을 수 있으며 피드로 소식을 공유할 수 있다. 그 까닭에 Z세대에게 큰 인기를 누리고 있으며, 빅히트와 같은 엔터업계와 협업을 통해 새로운 팬 문화도 형성하고 있다.
  • 마케팅 전략 제시
◇ AR과 SNS를 결합한 콘텐츠가 없음을 강조한 홍보
증강현실을 활용한 기존 프로그램들은 지정된 범위 내 사물 AR로 보여주는 것에 그쳤다. 우리는 AR과 SNS 기능을 접목시켜, 증강현실로 보여줄 오브젝트를 직접 생산하고 데이터를 저장한 뒤, 해당 데이터를 증강현실 기술을 이용해 다른 사용자에게 보여줄 수 있다는 점을 부각시키면 될 것이다.
◇ 3D 에디터를 활용한 AR 구성 기술
어떤 가상 공간을 활용할 수 있는 기능이 있을 때, 각각의 유저들은 저마다 개성있게 가상공간을 꾸밀 것이다. 가상공간을 꾸미고 어떻게 사용할지 예상해본 결과 다음과 같다.
- 현실의 내 방과 똑같은 모습, 또는 앞으로 살고 싶은 방 모습으로 꾸밈
- 이사 갈 집 인테리어를 하기 전 구상하기 위해 사용
- 미로찾기, 공포테마 방 등 또다른 재미를 느낄 수 있도록 다양한 컨텐츠를 제공

이 외에도 다양한 방식으로 내가 원하는 대로 커스터마이징이 가능하고 보여줄 수 있다는 점을 강조하면 될 것이다.

개발과제의 기대효과

기술적 기대효과

◇ 현재 부족한 AR 콘텐츠 시장에 활력을 불어넣을 것이다.
◇ SNS와 메타버스의 결합이란 새로운 분야를 개척할 수 있다.
◇ 가상의 공간에서 가구 배치나 인테리어 공사 등을 간접적으로 경험함으로써 자신만의 공간 꾸미기 욕구를 실현할 수 있다.
◇ 메타버스 경험을 손쉽게 체험할 수 있는 플랫폼을 구현함으로써, 사용자는 신선한 경험을 느낄 수 있다.

경제적, 사회적 기대 및 파급효과

◇ 새로운 가상의 공간을 통해 언택트 시대에 집 밖을 나가지 못하는 답답한 감정을 해소할 수 있다.
◇ AR이라는 신기술로 사회적 주목을 받을 수 있다.
◇ 유저들이 다양한 컨텐츠를 생산함으로써 색다른 방식의 수익창출을 형성할 수 있다.
◇ 새로운 형태의 SNS로 색다른 인간관계 형성의 장을 펼칠 수 있다.

기술개발 일정 및 추진체계

개발 일정

CyberPunk2021 개발일정1.PNG

구성원 및 추진체계

CyberPunk2021 구성원1.PNG

설계

설계사양

제품의 요구사항

CyberPunk2021 요구사항.PNG

개념설계안

서비스 개념 요약

CyberPunk2021 개념설계안1.PNG

◇ 사용자는 자신만의 방을 스마트폰으로 3D를 통해서 꾸밀 수 있다.
◇ 사용자는 AR을 통해 자신이 꾸민 방을 구경할 수 있고, 사진으로 기록을 남길 수 있다.
◇ 사용자는 타임라인을 통해 스냅샷을 공유할 수 있다. 
◇ 사용자는 팔로우 기능을 통해 다른 사용자와 관계를 형성할 수 있다.
◇ 스냅샷에 들어가면 호감표시를 남겨 다른 유저와 소통할 수 있다.
◇ AR을 통해 해당 방에 직접 들어가 구경할 수 있다.
◇ AR을 사용자의 환경에 따라서 두 가지 버전으로 확인할 수 있다.

구상 스케치

  • 다락방 시연, 조작 화면 구상도

CyberPunk2021 개념설계안2.PNG

◇ 전체 구성
- 다락방은 모바일 기기를 이용해 3개의 모드 중 하나를 선택해 볼 수 있다.
- AR Mini, AR Real 모드는 모바일 기기의 카메라를 이용해 AR 화면을 보여준다.
◇ AR Mini
- AR Mini 모드는 간편하게 미니어처 모습의 다락방을 AR로 보여주는 기능이다.
- 해당 모드 실행 시 모바일 기기의 카메라를 이용해 바닥을 인식한다.
- 인식한 바닥 위에 미니어처를 띄운다.
◇ AR Real
- AR Real 모드는 가상의 portal로 다락방을 구현한다.
- 모바일 기기의 화면을 통해 portal 안으로 직접 들어가는 모습을 보여준다.
- 유저는 내부의 모습을 모바일 기기의 화면을 통해 가상의 공간을 구경할 수 있다.
◇ 3D Editor
- 다락방은 3D Editor 모드를 통해서 가구 배치를 하여 자신만의 공간을 꾸밀 수 있다.
- 각 가구 오브젝트는 회전시켜 배치할 수 있다.
  • 메인 화면 구상도

CyberPunk2021 개념설계안3.PNG

◇ 전체 구성
- 메인 화면은 뉴스피드, 다락방 진입, 프로필 화면으로 구성된다.
- 각 화면은 좌우로 스와이프 터치 방식을 통해 넘어갈 수 있다.
- 뉴스피드 화면은 사용자가 팔로우한 유저의 최근 일주일 간 생성한 스냅샷을 보여준다.
- 뉴스피드의 타임라인에서 스냅샷을 터치하면 다락방의 정보를 보고, AR로 해당 다락방을 볼 것인지 선택할 수 있다.
- 다락방 진입 화면은 자신의 다락방을 보기 위해 원하는 모드를 선택할 수 있는 화면이다.
- 프로필 화면은 유저의 정보, 해당 유저가 남긴 최근 다락방 스냅샷, 그리고 방명록을 보여준다.
- 프로필 화면 내 스냅샷 썸네일 사진을 터치하면 해당 유저가 만든 스냅샷 목록을 볼 수 있다.
◇ 유저 간 관계
- 유저는 다른 유저와 팔로우 관계를 형성할 수 있으며, 언제든지 팔로우, 언팔로우할 수 있다.
- 해당 유저의 프로필을 통해 팔로잉, 팔로워 목록을 볼 수 있다.
◇ 스냅샷
- 유저는 다락방의 모습을 스냅샷(다락방의 모습을 찍은 사진)으로 남길 수 있다.
- 유저가 스냅샷을 남기면 자신을 팔로잉하는 유저들의 뉴스피드 화면에서 타임라인을 통해 다른 사람들에게 스냅샷을 보여준다.
- 유저는 각 스냅샷에 호감 표시를 남길 수 있다.

이론적 계산 및 시뮬레이션

3D Editor

CyberPunk2021 이론적계산1.PNG

  1. 3D Editor 씬에 접속한다.
    - AR 화면에서 접속하면 가구 정보가 없는 빈 방이 나온다.
    - 사용자의 스냅샷을 통해 접속하면 스냅샷에 저장된 timestamp 값으로 DB에서 방의 정보를 가져온다.
  2. 배치 가구에서 가구를 드래그 할 수 있고, 이 때의 가구는 투명한 오브젝트로 변경된다.
  3. 드래그한 가구를 터치에서 떼면, 투명한 가구가 불투명한 가구로 생성되며 원하는 위치에 배치된다.
    - 가구가 방 밖으로 넘어가면 가구가 생성되지 않는다.
  4. 배치한 가구를 짧게 터치하면 회전, 삭제 UI가 생성되어 가구별로 회전을 시키거나 제거할 수 있다.
  5. 배치한 가구를 길게 터치하면 2번으로 돌아가서 가구의 위치를 변경할 수 있다.
    - 가구가 방 밖으로 넘어가면 배치할 수 있는 가까운 가장자리로 가구가 배치된다.
  6. 'Save' 버튼을 누르면 현재 가구들의 종류 및 위치 정보, 저장 시간을 DB로 전송하며, 생성시킨 방의 이미지 정보를 로컬 디바이스에 저장하며 Firebase Storage로 전송한다.

AR Portal

CyberPunk2021 이론적계산2.PNG

◆ AR포탈의 문을 제외한 오브젝트들(벽면 포함)에 자체적인 Shader를 적용시킨다.

- 문을 기준으로 좌표값을 계산하여, 문 뒤쪽의 오브젝트는 투명하게 만든다.
- 문에 Mask를 적용하여, Mask를 통해 오브젝트를 바라보면, 불투명하게 보이도록 한다.
- 카메라가 문의 뒤쪽으로 넘어가면 투명한 오브젝트들이 불투명하게 보이도록 한다.

상세설계 내용

기능 구현을 위한 세부기술 선택사항

  • Front-End
◇ Unity
Unity는 게임 개발을 위해 만들어진 개발 플랫폼이다. 우리는 AR 구동을 위해 사용이 용이한 Unity로 작업하기로 했다. UI와 이미지 송수신 등의 작업은 C#으로 작업한다.
◇ ARCore
구글에서 제공하는 AR 개발 키트이다. 다양한 개발 환경에서 활용할 수 있으며, 사물과의 거리를 계산하는 뎁스 카메라를 기본으로 제공하기 때문에 AR 화면을 띄우기 쉽다. 휴대폰의 카메라로 주변 환경을 촬영하거나 주시하면, 사물의 위치와 움직임, 주변 환경 구조, 조명 등을 인식할 수 있다. 자바/OpenGL, Unity, Unreal과 연동되며, Unity의 ARCore 라이브러리를 통해 그래픽 작업을 할 수 있다. 안드로이드 SDK 플랫폼 버전 7.0 (API level 24) 이상의 환경을 지원하는 거의 모든 모바일 기기에서 실행할 수 있다.
  • Back-End
◇ Google Cloud Platform
Google에서 개발한 클라우드 컴퓨팅 플랫폼이다. VM Instance 생성을 통해 서버를 만들 수 있고, 이를 통해 dARak 서버를 운영한다.
◇ Google Firebase
Google은 개발자에게 서버 인프라에 대한 걱정을 하지 않도록 애플리케이션 개발을 간편하게 해주는 도구를 제공한다. 그 중 “Firebase”라는 다양한 앱 개발 서비스를 제공하는 Database Platform이 있다. 여러 기능 중 요구사항을 만족시키기 위해 Realtime Database와 Storage를 사용하기로 한다.
Realtime Database는 클라우드 호스팅 데이터베이스다. 이 데이터베이스는 데이터를 JSON으로 저장하는 Document 형식의 NoSQL 데이터베이스로, 연결된 모든 클라이언트와 실시간으로 동기화한다. 특히 기기가 오프라인 상태일 때도 로컬에 데이터를 저장하고, 후에 온라인 상태가 됐을 때 충돌이 발생하지 않도록 동기화를 해줘 안정적으로 데이터를 사용할 수 있도록 한다.
Storage는 사진, 동영상 등의 콘텐츠를 저장하고 제공해야 하는 앱 개발자를 위해 만들어진 데이터 스토리지 모델이다. 클라이언트 개발자는 서버 장비가 없어도 Firebase SDK를 이용해 사진, 동영상 등의 파일을 업로드 및 다운로드를 할 수 있다.
◇ Docker
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. GCP의 서버에 Docker를 구축하여 올리고, 이를 통해 서버 프로그램을 구동한다. Docker를 사용함으로써 개발환경과 서버의 환경을 일치시킬 수 있어서 환경의 차이에 따른 오류 등을 방지할 수 있다.
  • 서버-클라이언트 통신
◇ Socket 통신
Server와 Client가 계속 연결을 유지하는 양방향 통신이다. Server와 Client가 실시간으로 데이터를 주고받는 상황이 필요한 경우에 사용된다. 실시간 동영상 Streaming이나 온라인 게임 등 같은 경우에 자주 사용된다.

시스템 설계

CyberPunk2021 시스템설계.PNG

  • 서버
◇ Google Cloud Platform을 이용해 원격 서버를 연다.
◇ docker를 통해 일관된 개발 환경과 유지보수를 할 수 있도록 설계한다.
◇ Python으로 제작한 스크립트를 통해 서버가 구동된다.
◇ 서버에서 DB에 데이터를 가져올 땐, Python 스크립트를 통해 데이터를 가져온다.
  • 클라이언트
◇ 애플리케이션은 안드로이드 모바일 환경에서 사용할 수 있다. 
◇ Google ARCore 라이브러리를 구동할 수 있는 Android 8.0 이상의 환경이 필요하다.
◇ Unity 엔진을 이용해 소셜 네트워크 UI와 다락방 AR 모습을 렌더링해 보여준다.
  • 통신
◇ 서버와 클라이언트 간 통신은 Socket 기반으로 진행된다.
◇ 상호 간 송수신할 JSON 객체 데이터 프로토콜을 정의한 후, 해당 데이터를 바탕으로 필요한 작업을 실행한다.
◇ 이미지 데이터는 우선 서버와 통신을 한 후, 데이터를 불러와야 하는 경우 Firebase Storage에 요청을 보내고 데이터를 받는다.
  • DB
◇ Firebase의 Realtime DB, Storage 기능으로 데이터를 저장하고 관리한다.
◇ Firebase Realtime DB에는 json 형식의 데이터를 저장한다.
◇ Firebase Storage에는 이미지 데이터를 저장한다.

소프트웨어 설계

  • UI 플로우 다이어그램

CyberPunk2021 UI플로우다이어그램.PNG

  • AR 생성방식

CyberPunk2021 AR생성방식.PNG

1. 방의 정보를 DB에서 가져온다.
- AR 화면에서 접속하면 사용자의 가장 최근 스냅샷에 저장된 timestamp값을 통해 DB에서 방의 정보를 가져온다.
- 스냅샷을 통해 접속하면, 스냅샷에 저장된 timestamp값을 통해 DB에서 방의 정보를 가져온다.
2. 방의 정보를 토대로 사물의 위치, 회전, 크기를 고려하여 각 AR 씬에 맞는 좌표값을 계산한다.
3. 좌표값을 토대로 가구들을 배치시킨 AR Room 오브젝트를 생성하고, 비활성화시킨다.
4. ARCore의 Depth카메라를 활용하여 AR을 생성할 수 있는 평면을 인식하고, 시각적으로 표시한다.
5. 인식된 평면에서 원하는 부분을 터치하여 비활성화 된 AR Room 오브젝트를 활성화시키고, 터치한 위치로 이동시킨다. 평면 시각화 오브젝트는 비활성화 시킨다.
6. 'Re' 버튼을 통해 AR Room 오브젝트를 비활성화 시키고, AR을 생성할 수 있는 평면 시각화 오브젝트를 활성화시킨다.

결과 및 평가

완료 작품의 소개

로고

CyberPunk2021 아이콘.png

Google Play

◇ 구글 플레이 스토어에 '다락' 또는 'dARak', 'AR dARak' 검색
※ ARCore를 지원하는 API Level24(Android 7.0)이상 기기만 설치 가능

프로토타입 사진

CyberPunk2021 프로토타입1.PNG

CyberPunk2021 프로토타입2.PNG

CyberPunk2021 프로토타입3.PNG

CyberPunk2021 프로토타입4.PNG

CyberPunk2021 프로토타입5.PNG

CyberPunk2021 프로토타입6.PNG

대외전시 포스터

기본형

CyberPunk2021 포스터.PNG

가로형

CyberPunk2021 포스터 가로형.png

세로형

CyberPunk2021 포스터 세로형.PNG

관련사업비 내역서

CyberPunk2021 사업비내역서.PNG

완료작품의 평가

CyberPunk2021 완료작품평가.PNG

향후계획

◇ 다락방 내 가구 오브젝트 및 가구 UI 추가
사용자의 개성이 도드라지게 나타날 수 있게 가구 오브젝트의 추가가 필요하다. 하지만 가구 오브젝트를 새로 추가할 시, 매번 가구의 중심점을 잡아야하는 별도의 작업이 필요하여 시간이 많이 소요되는 문제가 있다. 이를 최소화 하는 방법을 구현해야하며, 이와 동시에  가구 목록을 추가하여 사용자가 원하는 가구를  등록하거나 삭제할 수 있는 UI의 구현이 요구된다. 가구 UI 같은 경우 Horizontal Scroll로 구현할 것이며, 버튼 탭 방식을 통해 즐겨찾기 한 가구, 내가 보유중인 가구 목록, 미 보유중인 가구 목록, 전체 가구 목록, 친구가 보유중인 가구 목록을 볼 수 있도록 구현할 예정이다. 
◇ 다락방 내 가구 오브젝트 상호작용 AR상에 보여지는 오브젝트를 화면에서 터치할 시 램프가 켜지고 꺼지는 것과 같은 상호작용을 추가하여, 좀 더 인터렉티브한 AR 경험 환경을 제공할 것이다.
◇ 채팅 기능 SNS의 기능을 강화하기 위하여 다른 사용자와 채팅 기능 추가가 필요하다. 현 프로젝트는 소켓 통신으로 통신하기에 이를 이용하여 실시간 채팅 기능을 구현할 예정이다.
◇ UI/UX 디자인 개선 사용자가 상호작용시 적절한 피드백을 받을 수 있도록 애니메이터를 이용한 반응형 UI를 추가 구현할 것이며, 보다 나은 사용 편의성을 제공하기 위하여 대표적인 SNS를 모티브한 토대로 사용자 친화적 디자인 UI를 재구현할 예정이다.
◇ 스냅샷 썸네일 사진 추가 및 변경 현재 각 스냅샷의 썸네일은 다락방의 3D Editor 화면에서 다락방 모습을 저장했을 때 캡처한 이미지를 사용하고 있다. 사용자가 각자의 개성이 드러날 수 있게 3D Editor화면 뿐만이 아닌 3D Mode와 AR Mode에서의 캡처 화면도 썸네일로 사용할 수 있도록 추가 구현할 예정이다.
◇ 사용자 3D 아바타 사용자에게 좀 더 나은 메타버스 경험을 주기 위하여 3D 아바타를 구현할 예정이다. 3D 아바타는 사용자가 원하는 얼굴, 색상, 머리스타일 등으로 커스터마이징 하는 방식으로 동작할 것이며, 사용자가 3D Editor로 꾸민 방을 AR Mini Mode로 볼 때 방안에 3D 아바타가 움직이는 등 상호작용을 추가 할 것이다.
◇ 스토리 기능 스토리 기능을 추가하여 AR 스냅샷과 함께 하루 일상을 공유할 수 있는 기능을 추가 구현할 예정이다.
◇ iOS 어플리케이션 개발 iOS에서 동작하는 어플리케이션을 개발하기 위해선 Xcode를 동작시킬 수 있는 개발장비가 필요하다. 개발장비가 없기에 iOS 기기로의 구현이 불가능하였고, 추후 mac 개발장비가 생기면 iOS로도 동작할 수 있게 구현할 예정이다.