AR Raycast manager
-가상의 광선을 쏴서 실제 세계와의 상호작용을 수행하는 기술
휴대폰의 카메라로 주변 환경을 인식하고 가상 객체를 배치하거나 상호작용을 할 수 있다.
프리펩화 된 sphere를 보면 sphere collider가 있다. 광선을 쏴서 이것에 부딪치는 과정을 통해 AR Raycast가 동작한다.
프리펩화: 오브젝트를 사용하기 용이하도록 포장하는 것
Rigidbody-이것을 물체 컴포넌트에 넣으면 물리적인 제어를 할 수 있다.
mass-질량 설정
drag-공기의 저항을 설정 (감속되는 정도)
Angular drag-회전 운동 중에 겪는 저항을 의미
IS Kinematic-이 값이 설정되면 물리엔진의 영향을 받지 않는다. 게임오브젝트가 물리엔진의 영향을 받지 않아야 할 때 사용된다. 예를들어 캐릭터의 제어, 애니메이션의 움직임 등 개발자가 원하는 방식으로 물체를 제어해야 할 때 사용된다.
실행
AR planetracking 구현
1) AR point cloud manager, ar plane manger를 ar session origin에 추가하고 default plane, default point cloude를 프리펩으로 사용한다.
2) 실행하면 특징정(point cloud)과 평면(plane)이 나오는 것을 볼 수 있다.
Plane collision(공 던지기) 구현
1)planetracking에 이어서 시작
2)새로운 객체 sphere를 추가한 후 크기를 0.1로 조정, 프리펩화 한다.
3)session origin에서 shooter스크립트를 작성한다.
4)스크립트에서 사용된 Rigidboby를 이용하기 위해 ARbullet(sphere)에 Rigidboby를 추가한다.

AR Raycast collision (공 생성) 구현
1)AR plane manager 추가, 프리펩에 디폴트 플래인 추가
2)AR Raycast manager추가, 생성시킬 공 프리펩 추가(물리엔진을 위해 rigidbody 꼭 추가해야 함)
3)ARobject 스크립트 작성

1) AR PlaneTracking
AR Plane manager, point cloud manager를 이용해 평면인식, 특징점을 잡아주는 것을 구현해 보았다. 스크립트 없이 AR Foundation에서 제공해 주는 기능들을 통해 만들었다.
2)Plane Collision
Sphere를 프리펩화 해서 크기를 조정하고 rigidbody를 이용해 물리엔진을 추가시키고 스크립트를 만들어 구현.
3)AR Raycast Collision
가상의 광선을 쏴서 부딪치는 값을 통해 인식이 가능한 ARraycast를 이용해 구를 생성하는 스크립트를 작성했다.
XCODE로 실행할 때 오류
비트코드,-구글링, off로 해결
Automatically manage signing, 체크 후 개인 팀 설정으로 해결
Failed to register bundle identifier. - 컴퍼니 네임 변경으로 해결
signing for requires a development team-mac os, ios 팀 설정 변경으로 해결
'Unity AR' 카테고리의 다른 글
| AR Plane을 이용한 평면 분류 (4) | 2024.01.04 |
|---|---|
| RayCast, 코루틴 이용하여 객체 생성, 제어 (0) | 2023.12.28 |
| Unity 공부일지 : AR Occlusion Manager, UI , Onclick, GetComponent (0) | 2023.07.12 |
| Unity 공부일지 : AR RaycastHit,TrackableType, AR Touch Move (0) | 2023.07.05 |
| Unity 공부일지 : AR Foundation, AR Subsystems, AR Session, AR Session Origin, AR Manager, AR Practice (0) | 2023.06.29 |