https://www.youtube.com/watch?v=UuoNTYZaT7k&list=PLATff1khpIscTMN2KXxagrTkBCwdzOeol&index=2

 

프로젝트는 새로 만들어도 되고 만들때마다 용량이 늘어나므로 기존 프로젝트에 New Scene을 하는걸 추천한다. 3D면 된다.

File>Save를 하면 이름을 물어보는데 난 DebugTest로 했다.

Window>Package Manager에 AR Foundation, ARCore가 잘 설치되어 있어야 한다 기타 빌드 설정도 잘되어 있어야하고 핸드폰도 개발자모드로 되어 있어야하고 연결하고 승인도 해줘야한다. 잡일이 많다.

하이라키 +를 누르거나 우클릭후 AR Session, AR Session Orign을 추가하고 Main Camera는 지워준다.

이제 AR Foundation기능을 테스트 해보자  AR Foundation이 지원하는 기능은 다음과 같은데

특징설명

 

세션 대상 플랫폼에서 AR을 활성화, 비활성화하고 구성합니다.
장치 추적 실제 공간에서 장치의 위치와 회전을 추적합니다.
카메라 장치 카메라에서 이미지를 렌더링하고 조명 추정을 수행합니다.
비행기 감지 평평한 표면을 감지하고 추적합니다.
이미지 추적 2D 이미지를 감지하고 추적합니다.
객체 추적 3D 객체를 감지하고 추적합니다.
얼굴 추적 인간의 얼굴을 감지하고 추적합니다.
신체 추적 인체를 감지하고 추적합니다.
포인트 클라우드 특징점을 감지하고 추적합니다.
레이캐스트 추적된 항목에 광선을 비춥니다.
앵커 공간상의 임의의 지점을 추적합니다.
메싱 환경의 메시를 생성합니다.
환경 프로브 환경의 큐브맵을 생성합니다.
폐색 AR 콘텐츠를 물리적 객체로 가리고 인간 세분화를 수행합니다.
참가자들 공유된 AR 세션에서 다른 기기를 추적합니다.

일단 하이라키위를 우클릭하면 나타나는 것들부터 해보자

AR Default Point Cloud를 추가하자

AR Session Origin을 클릭후 Inspection뷰에서 Add Component를 클릭하고 AR Point라고 검색한후 AR Point Manager를 추가하자. 그럼 Point Cloud Prefab이라는 Item이 생기고 None에 프리팹을 연결해줘야한다..

프로젝트뷰에 Prefab폴더를 만들고 AR Default Point Cloud를 끌어다 놓으면 Prefab이 생성된다.  하이라키의 있는 것들은 GameObject라는 객체인데 이것들을 끌어다 프로젝트에 놓으면 Prefab으로 바뀐다. Prefab은 Class라고 생각하면 된다. 객체에서 클래스를 만드어 주는거다. 보통은 클래스를 만들고 클래스이용 객체를 만드는 것의 반대이다. 객체지향 어려워요. 참 프리팹을 만든후에는 AR Default Point Cloud는 지워주자. 끌어다 놓을때는 이름을 잘보자 프로젝트뷰가 아이콘아 아니라 리스트로 나오는건 우측 삼점을 누르고 One Columb Layout을 선택하면 된다.

이제 빌드를 해보자 File>BuildSetting를 눌러서 Add Open Scenes를 눌러 현재 씬을 추가해줘야한다.

좌측아래 PlayerSettings(Project Setting에서도 접근가능)를 눌 앱이름을 설정하자.

 

오른쪽아래 빌드앤런을 누르면 파일명을 물어보면 build라는 폴더를 만들고 들어가서 적당히 이름만든다. 클

세이브할꺼냐고 물어보면 Save

이때 부터 핸드폰을 잘봐라 대기화면이면 풀어주자. 프로그레스바에서 device에 copy한다는 메세지가 나와야 한다. 물론 빌드폴더에서 apk를 핸드폰으로 카피해서 깔아도 되지만 이게 편하다.

핸드폰 화면을 대기화면에서 풀고 잘 보면 아래 팝업이 뜬다. 당황하지 말고 확인 위에 세부정보 더보기를 누르고 다시 확인위에 무시하고 설치하기 누른다.

다음 카메라사용 승인해주면 드디어 앱이 뜬다. 포인트가 안 나온다면 좀 기다려 보고 앵글을 움직여 보면 나온다. 포인트는 오브젝트의 엣지부분을 찾는 기능 같다.

 

다음은 하이라키 뷰위를 우클릭후 AR Default Plane을 추가 하고

프리팹 폴더에 끌어다 프리팹을 만들자. 그럼 파란색으로 변하고

AR Session Origine에 AR Plane Manager 컴포넌트를 추가하고

AR Default Plane 프리팹을 AR Plane Manager컴포넌트의 Prefab 참조에 연결해준다

Detection Mode는 원하는 면을 선택할수 있는데 현재는 그냥 두자

 

빌드해주자 잘보면 방법이 똑같다 AR Default XXXX를 추가하고 프리팹을 만들고 AR Session Origne에 AR XXXX Manager를 컴포넌트에 추가하고 프리팹을 연결해준다.

빌드해보면 Point와 Plane인식을 할것이다. Plane인식은 약간 시간이 걸리는것 같다. 그리고 정확하지 않은것 같다. 아이폰은 라이더가 내장되어 있어 정확안듯 하

마지막으로 하이라키에 우클릭후 XR>AR Default Face를 추가하고 프리팹폴더에 끌어다 프리팹만들고 지워주자

AR Session Origine에 AR Face Management 컴포넌트를 추가하고 AR Default Face Prefabs를 연결해준다.

Face Detect를 하기 위해 모델이 있다면야 후방으로 해도 되지만 자신으로 테스트하기 위해 전방카메라를 선택해보자. AR Session Orign>AR Camera를 선택해서 Inspector View아래 Face Direction이 있는데 World->User로 바꾸준다. World가 후방이다.

Face Tracking에서는 Point, Plane Manager가 필요 없다고 해서 지우라는데 난 귀찮아서 안지웠는데 잘되었다  지우는것 대신 불필요한 부분을 비활성화 하는 방법도 있을것 같다. 컴포넌트 이름 왼쪽을 언체크하면 된다.

실행화면 내 눈 코 입을 만들어주고 표정까지 트래킹 해준다. 얼굴을 돌려보면 나름 3D로 모델을 만들어서 맵핑해준다. 유튜브는 이빨과 눈동자도 보이는데  버전에 따라 좀 다른듯 

오른쪽이 유튜브 강좌 화면 눈동자와 이빨이 보임.

 

'AR > AR Foundation' 카테고리의 다른 글

AR 개발환경구축하기  (0) 2024.07.02
소개  (0) 2024.07.02
iOS / Unity 2022.3.5f1 + AR FOUNDATION / ARKit  (0) 2024.06.30
유니티 Unity AR Foundation  (0) 2024.06.30

https://www.youtube.com/watch?v=yLH9Gj1cO6U&list=PLATff1khpIscTMN2KXxagrTkBCwdzOeol&index=3

 

일단 유니티 사이트에서 유니티 허브를 설치

아이디 생성후 로그인후 유니티 에디터를 설치해야함

Archive탭에서 Download archive를 클릭해

21.3.39f1을 설치한다. 강의하시는 선생님이 이버전을 사용해서인데 최신버전을 사용해도 된다.

허브가 자동으로 열린다.

Anidroid Build Support를 체크후 Continue한다 2022가 있는데 2019를 꼭 갈아야하는지는 모르겠다.

비주얼스튜디오도 설치하고

유니티게임개발을 체크해준다.

 

유니티 허브를 열고 프로젝트를 만들자

3D를 선택하고 경로는 한글로만 되어야 한다.

 발드를 위한 설정을 위해 Fie>Buid Settings로 들어간다. windows에서 Android로 바꾸고 Switch Platform

 

windows 메뉴에서 Package Mannage를 열고 AR은 올인원 패키지라 용량이 크므로 개별로 설치하자

밑으로 내려가면  AR Foundation을 선택후 오른쪽 아래 install을 누른다

다음은 구 플래폼을 위해 AR Core를 설치한다. ios라면 ARKit같이 다른걸 해야한다.

Edit>ProjectSettings>왼쪽아래 PlayerSettings를 클릭하고

Quality카테고리에서 안드로이드를 Mediaum으로 체크한다. 

Player카테고리의 OtherSetting Color Space를 Gamma에서 Linear로 변

앱의 이름및 버전을 설정할 수도 있다.

밑의 Auto Graphic API를 해제후 Graphics API창이 나타나는데

모바일에서 지원안하는 vulkan을 -를 눌러 지워준다.

조금더 아래 Multithreaded Rendering을 체크해주자

아래 Minimum API Level을 Android 7.0으로 바꾼다. Nuga 

Scripting Backend를 IL2CPP, API Compatibility Level을 .NET Framework로 변경한다.

ARM64 채크

XR Plug-In Management 카테고리로 이동후  ARCore를 체크해주면 된다.

게임를 Simulator로 변경후 자신의 안드로이드 기종으로 변경한다.

적성에 맞게 윈도우  패널들을 재 배치한다 모바일 개발은 수직방향이라 다음과 같이 배치했다.

설치가 잘되었다면 빌드가 잘되어야 하는데 스마트폰 드라이브를 깔고 스마트폰을 연결해야 하는것 같다.

스마트폰 드라이버는 당연히 자신의 핸드폰 메이커에 맞는걸 메이커 사이트에가서 다운 받아야 한다.

스마트폰 설정 버전에가서 열심히 두들겨 개발자 모드로 진입하고 디버깅허용한후 케이블 연결하면 다른건 할필요 없고 기다리면 디버깅 허용할꺼냐고 물어보면 승인한다.

나중에 빌드하면 인증안된 앱을 깔꺼냐고 물어보는데 이것도 눌러야한다. 이것 안하고 빌드앤런 누르면 마지막에 멈쳐있다. 니 연결을 체크하는 에러 메세지가 난다. 

 

https://blog.naver.com/kal9107/223003398900

 

유니티 엔진 모바일 디버깅하는 방법

#유니티 #모바일 #디버깅 디버깅 환경이 갖춰져야 원활한 개발이 가능하다! 모바일 게임을 만들던 도중 유...

blog.naver.com

 

설정이 잘되어 있다면 하이라키에서 우클릭하면 XR 관련 팝업리스트가 보여야 한다.

이중 AR Session, AR Session Origin은 무조건 추가해야하고 AR Session Origin에 AR Camera가 있기 때문에 하이라키 맨위 Main Camera는 지워준다.

 

'AR > AR Foundation' 카테고리의 다른 글

[유니티 AR] 디버깅을 위한 빌드 테스트  (1) 2024.07.02
소개  (0) 2024.07.02
iOS / Unity 2022.3.5f1 + AR FOUNDATION / ARKit  (0) 2024.06.30
유니티 Unity AR Foundation  (0) 2024.06.30

https://www.youtube.com/watch?v=C5taq2a3_rQ&list=PLATff1khpIscTMN2KXxagrTkBCwdzOeol&index=1

AR Foundation은 유니티에서 AR을 개발시 사용하는 통합워크플로이다.

 

https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@5.1/manual/index.html

 

AR Foundation | AR Foundation | 5.1.5

AR Foundation AR Foundation enables you to create multi-platform augmented reality (AR) apps with Unity. In an AR Foundation project, you choose which AR features to enable by adding the corresponding manager components to your scene. When you build and ru

docs.unity3d.com

 

특징

AR Foundation은 다음 기능을 지원합니다.

특징설명
세션 대상 플랫폼에서 AR을 활성화, 비활성화하고 구성합니다.
장치 추적 실제 공간에서 장치의 위치와 회전을 추적합니다.
카메라 장치 카메라에서 이미지를 렌더링하고 조명 추정을 수행합니다.
비행기 감지 평평한 표면을 감지하고 추적합니다.
이미지 추적 2D 이미지를 감지하고 추적합니다.
객체 추적 3D 객체를 감지하고 추적합니다.
얼굴 추적 인간의 얼굴을 감지하고 추적합니다.
신체 추적 인체를 감지하고 추적합니다.
포인트 클라우드 특징점을 감지하고 추적합니다.
레이캐스트 추적된 항목에 광선을 비춥니다.
앵커 공간상의 임의의 지점을 추적합니다.
메싱 환경의 메시를 생성합니다.
환경 프로브 환경의 큐브맵을 생성합니다.
폐색 AR 콘텐츠를 물리적 객체로 가리고 인간 세분화를 수행합니다.
참가자들 공유된 AR 세션에서 다른 기기를 추적합니다.

 

AR을 개발하기 위해 플랫폼마다  개발킷이 존재하는데 이를 통합했다고 보면  되는데 지원하는 해당기능은 다음과 같다.

Feature ARCore ARKit OpenXR
Session Yes Yes Yes Yes Yes
Device tracking Yes Yes Yes Yes Yes
Camera Yes Yes     Yes
Plane detection Yes Yes Yes Yes Yes
Image tracking Yes Yes Yes    
Object tracking   Yes      
Face tracking Yes Yes      
Body tracking   Yes      
Point clouds Yes Yes      
Raycasts Yes Yes   Yes Yes
Anchors Yes Yes Yes Yes Yes
Meshing   Yes Yes Yes  
Environment probes Yes Yes      
Occlusion Yes Yes      
Participants   Yes    

 

UnityMars를 통해 시뮬레이션도 가능하다고 함. 뭘까?

+ Recent posts