https://smilejsu.tistory.com/3184#google_vignette

 

iOS / Unity 2022.3.5f1 + AR FOUNDATION / ARKit / 환경설정

What is augmented reality (AR)? 증강현실은 가상현실의 한 분야로 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법

smilejsu.tistory.com

 

What is augmented reality (AR)?

  • 증강현실은 가상현실의 한 분야로 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법
  • 디지털 정보를 사용자 환경과 실시간으로 통합
  • 완전히 인공적인 환경을 만들어내는 가상현실(VR)과 달리, AR 사용자는 생성된 지각 정보가 그 위에 덧씌워진 실제 환경을 경험하게 됨 

 

안드로이드 :  ARCore

IOS : ARKit

ARCore/ARKit 멀티 플랫폼 개발 :   AR Foundation

 

 

 

 

플랫폼별 기능 지원 이 표를 참조하여 AR Foundation의 어떤 부분이 특정 플랫폼과 관련되어 있는지 이해할 수 있습니다.

 

 

 

Which version should I use?

 

이 저장소의 메인 브랜치는 AR Foundation 6.0을 사용하며 Unity 2023.2 이상과 호환됩니다. 이전 버전의 AR 파운데이션에 대한 샘플 장면에 액세스하려면 아래 표에서 다른 브랜치에 대한 링크를 참조하세요.

 

https://github.com/Unity-Technologies/arfoundation-samples#which-version-should-i-use

 

How to use these samples?

 

Build and run on device

AR 파운데이션 샘플 프로젝트를 장치에 직접 구축할 수 있으며, 이는 처음으로 AR 파운데이션 기능을 사용하는 데 도움이 될 수 있습니다.

 

프로젝트를 만들고 플랫폼을 변경 한다 

 

 

Package Manager를 열고 ar검색

 

 

 

 

먼저 AR Foundation을 설치 해준다 

 

 

 

AR feature set

Unity는 강력한 AR을 제공합니다 풍부하고 매력적인 증강 현실을 만드는 도구 현실 세계와 지능적으로 상호 작용하는 경험. Unity의 AR 기능 세트 헤드마운트 디스플레이부터 모바일까지 증강현실 개발의 출발점을 제공합니다.

https://docs.unity3d.com/2022.3/Documentation/Manual/ARFeature.html

 

Unity - Manual: AR feature set

AR feature set Unity provides powerful ARAugmented Reality More infoSee in Glossary tools to create rich, deeply engaging augmented realityAugmented Reality (AR) uses computer graphics or video composited on top of a live video feed to augment the view and

docs.unity3d.com

 

 

통합 패키지를 설치해주자 

 

 

Project Settings를 열어 알맞는 Provider를 선택 한다 

 

 


하이어라키에 우클릭하고 AR Session과 AR Origin을 생성한다 

 

 

 XROrigin도 생성해주자 

 

 

 

AR Session

AR을 사용하기 위해 필수적으로 필요한 컴포넌트

라이프사이클관리, 구성옵션제어, 세션 실행 등을 관리

씬에서 1개만 생성해야 하며 여러 개 일경우 다른세션과 충돌 할 수 있음

 

XR Origin

XR Origin 구성 요소는 일반적으로 XR Origin의 기본 개체에 연결되며 이동을 통해 조작될 GameObject를 저장합니다.

카메라 오프셋에도 사용됩니다.

자식으로 카메라가 있으며 사용자 입장에서 Origin의 위치가 실제 모바일 카메라의 위치 입니다.

 

더보기
더보기

AR Session은 AR 앱에서의 생명주기를 담당, 앱이 시작하면서부터 끝날 때까지의 라이프사이클을 관리
AR Session Origin은 AR 상에서 중심이 되는 역할

AR 세상에서의 원점으로 AR Session Origin의 자식 오브젝트인 AR Camera로 비춰지고 있는 화면이 사용자가 가지고 있는 AR 디바이스에서 비추는 화면이랑 똑같다고 보시면 됨 
AR Default Point Cloud는 카메라를 통해 받아지는 영상에서 특징점들을 노란색 포인트로 표시
AR Default Plane은 Point Cloud에서 얻은 특징점들을 기반으로 평면을 찾는 컴포넌트 
AR Default Face는 얼굴 인식에서 사용되는 컴포넌트

 

 

MainCamera 오브젝트를 제거

이미 XR Origin/Camera Offset/MainCamera의 태그가 MainCamera입니다.

 

 

 

AR Camera Manager

XRCameraSubsystem의 수명 주기를 관리 

카메라 텍스처 및 조명 추정 정보를 사용할 수 있도록 하려면 장면의 카메라에 이들 중 하나를 추가 해야 합니다.

 

https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@5.1/api/UnityEngine.XR.ARFoundation.ARCameraManager.html

 

 

ARCameraBackground

카메라에 이 구성 요소를 추가하여 컬러 카메라의 텍스처를 배경에 복사합니다.

If you are using the Universal Render Pipeline (version 7.0.0 or later), you must also add the ARBackgroundRendererFeature to the list of render features for the scriptable renderer.

 

https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@5.1/api/UnityEngine.XR.ARFoundation.ARCameraBackground.html

 

 

 

TrackedPoseDriver

TrackedPoseDriver 구성 요소는 추적된 장치의 현재 포즈 값을 에 적용합니다.

TrackedPoseDriverXR HMD, 컨트롤러 및 리모컨을 포함한 여러 유형의 장치를 추적할 수 있습니다.

 

https://docs.unity3d.com/Packages/com.unity.inputsystem@1.6/api/UnityEngine.InputSystem.XR.TrackedPoseDriver.html

 

 

 

 

그냥 빌드 시도 하면 이렇게 됨

 

 

BuildFailedException: ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)

 

 

 

빌드후 실행해보기 

 

 

 

 

AR 기기가 감지한 평면(즉, 평평한 표면)을 나타냅니다.

 

 

 

 

 

카메라를 통해 얻어지는 정보를 분석해 특징점을 추려 평면으로 인식합니다. 감지된 포인트 클라우드를 나타냅니다. 이들은 특징점이라고도 합니다.

 

 

 

 

 

AR 기기에서 감지한 얼굴을 나타냅니다 카메라를 통해 얻어지는 여상 정보를 분석해 얼굴 정보를 바탕으로 Face Mesh 데이터를 생성해 얼굴 위치에 다양한 오브젝트를 출력 하거나 눈동자 인식등의 콘텐츠 제작에 활용할수 있습니다. 이때 Face Mesh 정보를 가시화 해서 확인 하는것인 ARFace입니다.

 

 

 

 

 

 

AR Default Point Cloud

영상정보를 분석해 특징점을 노란색 파티클로 화면에 출력 해주는 오브젝트

 

 

 

 

 

 

AR Point Cloud Manager

 

 

XR Origin 오브젝트에 AR Point Cloud Manager컴포넌트를 추가 합니다.

ARTrackedObjects의 관리자입니다. XRPointCloudSubsystem을 사용하여 물리적 환경에서 포인트 클라우드 데이터를 인식하고 추적합니다.

 

 

 

 

AR Default Point Cloud 를 프리팹으로 만들고 할당 

 

 

 

 

빌드후 실행 해본다 

 

 

 

AR Default Plane

영상정보를 분석해 평면 정보를 노란색 면과 검은색 선의 Mesh로 화면에 출력 하는 오브젝트 입니다.

 

 

프리팹으로 만들기 

 

 

 

XROrigin 게임 오브젝트를 선택 하고 AR Plane Manager컴포넌트를 부착후 Plane Prefab에 할당 하고 Detect Mode를 Horizontal로 변경 한다 

 

 

빌드후 결과를 확인 하자 

출처: https://smilejsu.tistory.com/3184 [{ 일등하이 :Unity3D }:티스토리]

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

[유니티 AR] 디버깅을 위한 빌드 테스트  (1) 2024.07.02
AR 개발환경구축하기  (0) 2024.07.02
소개  (0) 2024.07.02
유니티 Unity AR Foundation  (0) 2024.06.30

https://www.soonsoon.io/unity-ar-foundation-basic-tutorial/

 

Unity AR Foundation Tutorials 무료 강좌 - soonsoon blog

애플 비전 프로가 유니티를 활용해서 개발 환경을 구축 할 수 있게 한다고 한다. 따라서 2021년에 만들어뒀던 Unity AR Foundation 기초 강좌를 공유 해보려 한다.

www.soonsoon.io

 

 

 

https://learnandcreate.tistory.com/1520

 

유니티에서 증강현실(AR) 프로젝트 시작하기2(point cloud manager, plane manager)

유니티에서 증강현실(AR) 프로젝트 시작하기2(point cloud manager, plane manager) 포인트 클라우드 관리자, 평면 관리자(point cloud manager, plane manager) 추가하기 1)씬에 AR Session 게임 오브젝트를 생성합니다.

learnandcreate.tistory.com

 

 

 

유니티에서 증강현실(AR) 프로젝트 시작하기2(point cloud manager, plane manager) 

포인트 클라우드 관리자, 평면 관리자(point cloud manager, plane manager) 추가하기

1)씬에 AR Session 게임 오브젝트를 생성합니다.

 

2)AR Session는 AR Session , AR input manager 컴포넌트를 가지는 게임오브젝트입니다.

 

3)AR Session Origin 게임 오브젝트를 생성합니다.

 

4)AR Session Origin는 AR Session Origin 컴포넌트를 가지며 카메라로 AR Camera를 참조합니다.

 

5)AR Session Origin 하위에서(자식 오브젝트) AR Camera를 확인할수있습니다.

 

6)AR Camera는 AR Pose Driver, AR Camera Manager, AR Camera Background 컴포넌트를 가지고있습니다.

 

7)씬에서 불필요한 카메라를 제거합니다.

 

8)AR Camera를 메인 카메라로 설정합니다.

 

9)씬에 AR Default Point Cloud 게임오브젝트를 생성합니다.

 

10)AR session origin에 AR Point Cloud Manager 컴포넌트를 추가합니다.

point cloud manager(포인트 클라우드 관리자)는 특징 포인트(feature point)로 이루어진 포인트 클라우드를 생성합니다.특징 포인트는 장치가 월드에서 위치를 결정하는 데 사용하는 포인트 클라우드의 특정한 지점입니다.

 

11)AR Point Cloud Manager 컴포넌트의 point cloud prefab에 씬에 생성한 AR default point cloud게임오브젝트를 참조합니다.

 

12)씬에 AR Default Plane 게임오브젝트를 생성합니다.

 

13)AR session origin에 AR Plane Manager 컴포넌트를 추가합니다.

(plane manager)평면 관리자는 환경에서 감지된 각 평면(plane)에 대하여 게임 오브젝트를 생성합니다. 바닥, 테이블, 벽과 같은 수평, 수직적으로 평평한 표면을 감지할수있습니다.

 

14)AR Plane Manager의 plane prefab에 씬에 생성한 AR default plane 게임오브젝트를 참조합니다.

 

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

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

 

이전 시간에 Animal Asset을 추가했다 Animals_Free 폴더 안에 Prefas가 있고 그중 Penguin_001을 선택해보면

다음과 같이 보이고 편집할수 있다 일단은 안한다.

ObjectManage.cs 스크립트를 열고 다음 코드를 추가한다. 터치가 있다면 model을 인디케이터 위치에 생성한다.

    public GameObject modeling;
    void Update()
    {
        Touch touch = Input.GetTouch(0);
        DetectGround();
        if (touch.phase == TouchPhase.Began)
        {
            Instantiate(modeling, indicator.transform.position, indicator.transform.rotation);
        }
    }

저장후 유니티 에디터에서 public변수 modling에 펭귄 프리팹을 연결해준다.

빌드후 실행해보면 펭귄의 뒷모습이 보여서 돌려주자

프리팹의 RotationY를 돌리면 될것같은데 AR에서는 안된단다.

하이리키+를 누르고 Create>EmptyObject를 만들고 이름을 Penguin으로 하고 자식으로 Penguin_001을 끌어다 놔주고 Rotation과 Scale을 재설정해주자

설정이 끝났으면 Penguin을 끌어다 프리팹에 넣어주고 프리팹을 만든뒤 하이라키의 펭귄은 지워주자

AR Session Origin > Object Manager Modeling의 값을 방금 만든 프리팹을 끌어다 연결해준다.

빌드앤런 해보고 터치하면 펭귄이 앞을 바로 보고 있다 그런데 지금은 터치할때 마다 펭귄이 계속 생기므로 하나만 생기게 해보겠다. ObjectManager CS를 열고 코드를 추가한다 .Instatiate()는 객체참조를 리턴하므로 이걸 저장했다고 null이면 생성하고 아니면 위치를 현재 Indicator로 움직여 보겠다.

//생성된 모델
GameObject placedObject;

    void Update()
{
    Touch touch = Input.GetTouch(0);
    DetectGround();
    if (touch.phase == TouchPhase.Began)
    {
        //만약 생성된 오브젝트가 없다면 모델링 생성및  placedObject변수에 할당
        if(placedObject == null)
        { // 인디케이터 위치에 모델링 생성
            placedObject = Instantiate(modeling, indicator.transform.position, indicator.transform.rotation);
        } else
        {
            placedObject.transform.SetPositionAndRotation(indicator.transform.position, indicator.transform.rotation);
        }
    }
}

빌드런 해보면 이제는 하나만 생긴다. 터치하면 계속 중앙으로 이동한다.

이제는 터치하고 드래그 하면 좌우로 회전하게 만들어 보겠다.

 

스크립터 폴더에 우클릭하고 스크립트를 하나 만들고 이름을 Controller로 한다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Controller : MonoBehaviour
{
    Vector2 touchStartPos; //터치 시작 시점
    float rotationSpeed = 0.1f; // 회전속도

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.touchCount == 1)
        {    //인풋의 첫번째 데이터를 가져옴
            Touch touch = Input.GetTouch(0);
            if (touch.phase == TouchPhase.Began)
            {   //터치 시작점을 저장
                touchStartPos = touch.position;
            } else if (touch.phase == TouchPhase.Moved)
            {
                //현재 터치위치 - 시작 터치위치
                Vector2 touchDelta = touch.position - touchStartPos;
                float rotationY = touchDelta.x * rotationSpeed;
                transform.Rotate(transform.up, rotationY, Space.World);
                touchStartPos = touch.position;
            }
        }
    }
}

이 스트립트는 펭귄을 돌리므로 펭귄 프리펜이 넣어준다 자의할점은 펭귄 프리펩의 자식에 넣어주어야 한다  안그러면 안움직인단다.

빌드런 하면 한번 클릭하면 움직이고 누른채로 좌우로 움직이면 펭귄이 좌우로 회전한다.

 

AR Session추가

Hierachy의 +를 눌러 AR Session Origin을 추가한다

Session Origin을 눌러보면 안에 AR카메라가 포함되어 있다. 메인 카메라는 하나만 있으면 되므로 원래잇던 MainCamera는 지워준다.

AR Session, AR Plane Manager 추가

다음은 ARSession을 추가해준다. AR의 생명주기를 담당하는 컴포넌트이다.

 

하이라키에서 AR Session Origin을 선택하고 Add Component를 누르고  AR Plane Manager를 검색해서 넣어준

AR Plane Manager를 평면을 찾아주는 컴포넌트인데 수직, 수평 이나 전부를 선택할수도 있다.

DetectedPlane 만들기

하이라키에서 +를 눌러 CreateEmpty를 만들고 이름을 DectedPlane으로 한다.

Add Component를 눌러 Mesh Renderer, Mesh Filter, Mesh Collider, AR Plane Mesh Visualizer 를 추가한다.

Mesh Renderer : 평면의 메시의 머터리얼및 색상 지정

Mesh Filter : 

Mesh Collider : 이게 없으면 충돌처리가 안되고 RayTraycing도 안된다.

AR Plane Mesh Visualizer : 

AR Plane Mesh Visualizer도 추가한다.  검색된 플레인의 표시방식을 설정한다.  AR Plane AR Mesh Visualizer 2개가 생긴다

Assets 폴더아래 Materials 폴더를 하나 만들자

Material 폴더로 들어가 우클릭해서 Material을 create해주고 이름을 M_Material로 해주자. Inspector에서 Rendering Mode를 Transparent로 변경

Albedo를 눌러 칼라를 적당 Alpha 를 150정도

Assets폴더에 Prefabs폴더를 만들고 들어가서 하이어라키의 DetectedPlane을 끌어다 폴더에 놓는다. 이후 하이라키의 DetectedPlane은 지운다.

이제 프리팹 폴더의 DetectedPlain을 선택하고 Inspector에서 Materials Element0에 아가 만든 머터리얼을 끌어다 놔준다.

하이라키에서 AR Session Origin을 선택하고 AR Plane Manager 컴포넌트의 Plane Prefab에 방금만든 프리팹을 끌어다 놓는다. 그럼 None이 프리팹이름으로 바낀다. 동그라미를 눌러 선택해도 된다.

RayCastManager

 

 

인디케이터 표시하기

평면을 인식했더니 평면을 감지해서 위에 표식을 띄워보자.

AR Session Origin 을 선택후 AR Raycast Manager를 추가하자.

인디케이터로 쓸 투명  PNG를 적당히 찾아 유니티 머터리얼 폴더로 끌어다 놓는다.

인디케이터 파일을 선택하고 Inspectord에서 Transparency를 체크하고 Apply한다.

머티리얼을 새로만들어 M_Indicator로 하고 Rendering Mode를 Cutout로 변경하고 Indicator PNG를 끌어다 albedo 앞 박스에 놓는다. 

하이라키+를 눌러 Quad를 추가하고 indicator로 이름을 바꾼다

씬뷰의 기즈모를 줄이기 위해 뷰포트 우상 기즈모 위 지구본 옆 아래 화살표를 누르면 3D Icons를 줄일수 있다.

하이라키의 Indicator를 고르고 Inspector의 MeshRenderere의 Materials에 M_Indicator를 끌어다 놓는다. 

Position Y를 1로 변경해서 약간 올려준다.

 

Assets폴더밑에 Scripts폴더를 만들고 Script를 만들고 이름을 바로 ObjectManager로 바군다. 클래스명 때문에 그렇다.

만들어진 스크립트를 쳐보면  VisualStudio가 열린다. 안열리면 Edit>Preference를 체크한다.

VisualStudio가 열리면  다음 네임스페이스를 추가한다.

using UnityEngine.XR.ARFoundation;

스크립트를 완성한다.이건 처음 앱리 로딩하면 인디케이터가 사라지게 해준다

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.ARFoundation;

public class ObjectManager : MonoBehaviour
{
    //변수선언
    public GameObject indicator;
    ARRaycastManager arManager;
    // Start is called before the first frame update
    void Start()
    {
        //AR Raycast Manager 컴포넌트를 가져옴
        arManager = GetComponent<ARRaycastManager>();
        //인디케이터 비활성화
        indicator.SetActive(false);
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

AR Session Origin을 선택하고 스크립트를 끌어다 추가하고 Indicator변수에 하이라키의 indicator를 끌어다 연결한다.

 

재생버튼을 누르면

Indicator가 사라진다. 다시 재생버튼을 눌러 멈춘면 나타난다. 플레이버튼이 켜진상태에서는 편집변경이 저장 안된다.

다음 스크립터를 추가하면 앱이 Plane을 생성하면 그 위에 인디케이터를 표시해준다

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.ARFoundation;

public class ObjectManager : MonoBehaviour
{
    //변수선언
    public GameObject indicator;
    ARRaycastManager arManager;
    // Start is called before the first frame update
    void Start()
    {
        //AR Raycast Manager 컴포넌트를 가져옴
        arManager = GetComponent<ARRaycastManager>();
        //인디케이터 비활성화
        indicator.SetActive(false);
    }

    // Update is called once per frame
    void Update()
    {
        DetectGround();
    }
    void DetectGround()
    {
        //스크린 중앙 지점을 찾음
        Vector2 screenSize = new Vector2(Screen.width * 0.5f, Screen.height * 0.5f);
        List<ARRaycastHit> hitInfos = new List<ARRaycastHit>();
        //만약 스크린 중앙에서 레이를 발사했을 때 평면이 있다면 인디케이터 활성화
        if (arManager.Raycast(screenSize, hitInfos, UnityEngine.XR.ARSubsystems.TrackableType.Planes))
        {
            indicator.SetActive(true);
            //인디케이터의 위치와 회전 값을 레이가 닿은 지점에 일치시킴
            indicator.transform.position = hitInfos[0].pose.position;
            indicator.transform.rotation = hitInfos[0].pose.rotation;
            //위치를 위로 0.1m 옮림
            indicator.transform.position += indicator.transform.up * 0.1f;


        } else
        {
            indicator.SetActive(false);
        }
    }
}



빌드하기

실험을 위해 핸드폰에서 실행하기 위해서는 개발자모드 설정을 해야한다. 설정에서 빌드번호를 검색후 계속 누르면 개발자가 된다. 다시 개발자모드를 검색후  사용, USB디버기을 활성화 해준다.

File>Build Setting에 가서 Add Open Scenes를 클릭해서 현재 씬을 넣어준다 물론 Andrid 가 선택되어져있어야한다.

이후 아래  Build and Run을 누른다 파일명을 물어보면 Build폴더를 만들고 적당히 이름을 지정후 저장한다.

오래걸림

난 Build 는 되는데 Build and Run은 연결을 체크해봐라 문제없다면 드라이브 문제라는 헛소리가 나와서 드라이버를 깔아봤는

https://everyday-devup.tistory.com/90

 

[Unity] Android Debug ( Logcat ) - 안드로이드 디버깅, 개발자 옵션 ( Samsung, LG )

Unity로 안드로이드 게임을 개발할 때, Editor에서는 재현이 되지 않고 디바이스에서만 발생하는 이슈가 있다. 그런 이슈들은 디바이스의 로그를 통해서 이슈가 되는 부분을 찾아야 한다. Editor에서

everyday-devup.tistory.com

드라이버를 깔고 다시 해도 안된다. 그리고 핸드폰을 좀만 만지면 접촉이 안좋와서 그런지 자꾸 연결이 끊어졌고 그런 과정에서 핸드폰을 보니 개발자디버깅을 허용하겠냐는 팝업이 떠서 그걸 체크했더니 Build and run이 실행되었다.

 

터치하면 인디케이터에 오브젝트 표시하기

에셋스토어에서 3D 에셋을 다운로드하다

 

https://assetstore.unity.com/packages/3d/characters/animals/animals-free-260727

 

Animals FREE | 3D 동물 | Unity Asset Store

Elevate your workflow with the Animals FREE asset from ithappy. Find this & other 동물 options on the Unity Asset Store.

assetstore.unity.com

 

하면 PackageManager가 뜨면서 download import 하면 자동으로 폴더가 만들어진다.

 

 

설치

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

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

Archive탭에서 Download archive를 클릭해

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

허브가 자동으로 열린다.

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

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

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

 

프로젝트만들기

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

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

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

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

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

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

만일이 모듈이 없으면 설치하라고 나온다 해야함. 잘 설치되면 유니티아이콘이 옆에 보인다.

왼쪽아래 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://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은 현실오브젝트를 인식하고 기기의 위치를 인식 이미지들을 렌더해서 합성해주는 라이브러리다.

+ Recent posts