[Unity]06.ARCore 사용 - ARCore 코드 다뤄보기

안녕하세요 유랑입니다.



오늘 시간에는 ARCore를 사용해 볼텐데요.

데모씬이 아닌 직접 처음부터 코드를 작성하여 시작하겠습니다.




1. ARCore 



1-1) ARCore 셋팅



프로젝트를 생성한 후 AR홈페이지에 접속하여 유니티 전용 SDK를 다운받겠습니다.

https://developers.google.com/ar/










1-2) ARCore Device와 전용 쉐이더



ARCore는 뷰포리아와 마찬가지로 전용 카메라를 사용합니다.

기존의 카메라를 삭제한 후 ARCore Device를 추가해 주세요.






Point라는 머티리얼을 생성한 후 ARCore/PointCloud라는 쉐이더를 적용하겠습니다.

불빛에 따라 영향을 받는 쉐이더입니다. 





큐브를 만들어 주고 Pointer라고 이름을 변경한 뒤 아까 만든 머티리얼과

Pointcloud Visualizer 스크립트를 적용해 주세요.

ARCore로 인식된 점과 선들을 큐브로 표현해 줄거에요.^^





아직까지는 플랫폼 변경이나 ARCore를 셋팅하지마시고 핸드폰과 연결시킨 뒤 유니티를 실행 시켜주세요.

그러면 해당 화면이 보이게 됩니다.

그래도 API 버전이 맞지않는 핸드폰을 사용하면 동작이 안 되실 수 있습니다.






1-3) 바닥 인식



PlaneVisuallizer라는 빈 오브젝트를 생성 한 후 Detected Plane Generator라는 스크립트를 추구해 주세요.

그리고 해당 프리팹까지 추가해 주세요!!!

이번 스크립트는 ARCore가 인식한 부분에 면들을 생성시켜 줍니다.









1-4) 캐릭터 생성



드디어 코드를 작성한 후 내가 클릭한 위치에 캐릭터를 생성시켜 보겠습니다.

arCamera는 해당 스크립트를 통해서 가져올 수 있고, 

Update에서는 터치한 부분이 캐릭터 생성이 가능한지 Raycast 발사 후 정하게 됩니다.

ARCore 전용 코드 외에는 기존의 유니티 코드와 유사합니다.

캐릭터는 ARCore가 인식된 특정 Layer에서만 생성이 가능합니다.








PlaneMgr이라는 빈 오브젝트에 해당 스크립트를 추가한 후 속성을 추가해 주세요.

Ar Camera는 스크립트에서 이미 가져왔으므로 원하는 캐릭터 Andy만 넣어 주겠습니다.





이번에는 핸드폰에 직접 넣을텐데요.

다음 내용을 참고하시고 핸드폰에 빌드시켜 주세요.


- Android 플랫폼으로 변경

- 패키지, 이름 작성

- Other Settings => TV 언체크

- API 레벨 7.0이상

- XP Support => ARCore Supported 체크









ARCore로 인식한 부분에 면이 생성되고 터치를 통해서 캐릭터가 생성됩니다.

그리고 빛에 따라 변하는 모습을 볼 수 있습니다.






2. 마무리



오늘 강의는 여기까지입니다.

ARCore의 코딩을 직접 짜보는 뜻깊었던? 시간이었습니다.

ArCore 예제가 많지 않기에 차근차근 살펴보며 글을 올리도록 하겠습니다.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Extra-AR-



댓글

Designed by JB FACTORY