반응형
유니티 C# 증강현실 Foundation AR 간단 구현 코드 예시
1. 환경 설정
필요한 패키지 설치
- Unity Hub를 통해 Unity 2019.3 이상 버전을 사용하고 있는지 확인합니다.
- Unity에서 Window > Package Manager로 이동한 후, AR Foundation 패키지를 설치합니다. 이 외에, 필요한 패키지로 ARCore XR Plugin(Android) 또는 ARKit XR Plugin(iOS)을 설치합니다.
2. AR Scene 설정
- AR Session: AR 기능을 관리하는 게임 오브젝트를 만듭니다.
- GameObject > XR > AR Session을 선택하여 AR Session 게임 오브젝트를 생성합니다.
- 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);
}
}
}
}
}
반응형