카테고리 없음

유니티에서 Galaxy Note S-Pen 사용하기

ckhyeok 2020. 10. 20. 10:53

 

우선 S-Pen으로 터치 및 드래그가 잘 작동하는지 테스트 하는게 오늘의 작업이었습니다.

 

저희 프로젝트는 유니티 2017ver을 사용하고 있습니다.

테스트 및 비교 용으로 2018ver 도 설치해서 두개의 빌드를 뽑아봤습니다.

 

갤럭시 S-Pen은 유니티 4.x 버전부터 지원을 하고있으므로 별도의 SDK 연동 없이도 잘 작동합니다.

 

하지만 유니티 내부 버그로 인해 2018.4.13f1 버전과 2019.2.14f1, 2019.3.0b11 이상 버전에서에서만 작동하며

그 이하 버전에서는 ButtonDown, Button, ButtonUp이 전부 한번에 호출되는 버그가 존재합니다.

 

저의 목표는 그 버그를 고쳐보는것이 목표였습니다. 

 

따라서 SamSung Developers에서 S Pen Remote SDK를 다운받아서

유니티와 안드로이드 스튜디오를 연동시키기로 했습니다.

 

하지만 안드로이드 스튜디오에 프로젝트를 만드려는데 Window 내 사용자 이름이 한글로 설정돼있었습니다.

따라서 그것을 영어로 바꾸기 위해 1시간 정도 구글링과 명령 프롬프트와 사투를 벌였습니다.

그 결과 사용자 이름을 영어로 바꾸고 프로젝트를 만들어서 연동 및 빌드 작업을 시작했습니다.

 

하지만 첫번째 빌드에서 jdk와 gradle의 버그가 떠서 유니티 빌드 내 jdk를 버전 업 해야하나 고민하다가

팀장님의 조언으로 안드로이드 스튜디오를 다운그레이드해서 해당 gradle을 지원하는 버전으로 빌드를 뽑았습니다.

 

하지만 유니티 자체 버그로인해서 Drag 기능은 끝끝내 구현하지 못하였으며, S Pen Remote 기능은 갤럭시 노트9 이상에서만 작동하기 때문에 빌드용 핸드폰이 노트 8인 관계로 Remote 기능도 테스트 하지 못하였습니다.

 

하지만 오랜만에 안드로이드 스튜디오에서 직접 코딩도 해보고 빌드 오류에 머리 싸매며 해결 방안을 도출하는 과정이 너무 뿌듯했습니다.

 

ps) 2018 버전은 따로 sdk를 연동하지 않아도 바로 Mouse, Touch, SPen 모든 컨텐츠에서 잘 작동했습니다.

 

 

 

 

Unity ver = 2017.4.36f1 

drive.google.com/file/d/1gSNTun7krk_3OaNDpZkHpmrLdFmTJY58/view?usp=sharing

 

Unity ver = 2018.4.13f1

drive.google.com/file/d/117-3mDp8QQQb620zN4VBAZDhwX44MCho/view?usp=sharing