유니티 C# 증강현실 AR Foundation 간단 구현 코드 예시

반응형

유니티 C# 증강현실 Foundation AR 간단 구현 코드 예시

1. 환경 설정

필요한 패키지 설치

  1. Unity Hub를 통해 Unity 2019.3 이상 버전을 사용하고 있는지 확인합니다.
  2. Unity에서 Window > Package Manager로 이동한 후, AR Foundation 패키지를 설치합니다. 이 외에, 필요한 패키지로 ARCore XR Plugin(Android) 또는 ARKit XR Plugin(iOS)을 설치합니다.

2. AR Scene 설정

  1. AR Session: AR 기능을 관리하는 게임 오브젝트를 만듭니다.
    • GameObject > XR > AR Session을 선택하여 AR Session 게임 오브젝트를 생성합니다.
  2. AR Session Origin: AR 카메라와 현실 세계와의 관계를 관리합니다.
    • GameObject > XR > AR Session Origin을 선택하여 AR Session Origin 게임 오브젝트를 생성합니다. 이 오브젝트에는 AR Camera가 자식으로 포함됩니다.

 

코드 작성

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

public class ARPlacement : MonoBehaviour
{
    public GameObject objectToPlace;  // AR 오브젝트로 배치할 프리팹
    public ARRaycastManager raycastManager;
    private List<ARRaycastHit> hits = new List<ARRaycastHit>();

    void Start()
    {
        // ARRaycastManager가 Scene에 배치되었는지 확인
        if (raycastManager == null)
        {
            raycastManager = FindObjectOfType<ARRaycastManager>();
        }
    }

    void Update()
    {
        // 화면 터치 확인
        if (Input.touchCount > 0)
        {
            Touch touch = Input.GetTouch(0);

            if (touch.phase == TouchPhase.Began)
            {
                // 터치한 위치에서 ARRaycast를 발사하여 평면 탐지
                if (raycastManager.Raycast(touch.position, hits, TrackableType.PlaneWithinPolygon))
                {
                    Pose hitPose = hits[0].pose;
                    // 터치한 위치에 오브젝트 배치
                    Instantiate(objectToPlace, hitPose.position, hitPose.rotation);
                }
            }
        }
    }
}
반응형