728x90
이번에 사용해볼 기능은 Plane 기능과 Raycast 기능입니다!
위처럼 만들 계획!
먼저 참고한 블로그!
바로 시작해 보겠습니다.
우선 ar foundation 세팅이 끝나셔야 실행가능합니다
세팅이 끝나셨다면
AR session Origin
AR session
이렇게 두개가 있을텐데 여기서 Origin에 아래와 같이 plane과 raycast 를 추가해줍시다.
끝?
여기까지만 해도 평면인식은 자동으로 지원해줍니다!
이제 터치를 이용해서 바닥에 설치해봅시다.
먼저 레이캐스트와 스폰할 프리팹을 들고옵시다
public GameObject placeObject;
public ARRaycastManager raycastMgr;
private List<ARRaycastHit> hits = new List<ARRaycastHit>();
다음으로는 레이케스트와 평면이 부딪히는 지점에 프리팹을 생성하는 함수!
void Update()
{
if (Input.touchCount == 0) return;
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
if (raycastMgr.Raycast(touch.position, hits, UnityEngine.XR.ARSubsystems.TrackableType.PlaneWithinPolygon))
{
Instantiate(placeObject, hits[0].pose.position, hits[0].pose.rotation);
}
}
}
마지막으로 방금 스크립을 추가해줍시다
여기까지가 끝!
여기서 AR camera에 occlusion manager을 넣어주면 깊이에따라 가려짐까지 구현가능합니다
틀린점이 있다면 댓 달아주세요!
'유니티 최고 > 유니티 AR' 카테고리의 다른 글
유니티(Unity) AR foundation 오브젝트 선택 / 이동 / 크기조절 (1) | 2023.03.20 |
---|---|
유니티(Unity) - 홀로렌즈 무선 연결 실행하기 (Remoting) (1) | 2023.01.20 |
유니티(Unity)를 이용한 홀로렌즈(Hololens) 사용(2) (0) | 2023.01.09 |
유니티(Unity)를 이용한 홀로렌즈(Hololens) 사용(1) (0) | 2022.12.29 |
유니티(Unity) AR foundation - Image Tracking 사용하기! ( = image target) (0) | 2022.10.10 |
댓글