-
[iOS : Library]ARKit 진행중 / 작성중iOS 2018. 10. 21. 19:23
ㅇ
AR 이 뭐야?
- Arguemented Reality 의 약어이며 '증강 현실' 이라고 합니다.
- 정의 by 나무위키
ARKit 가 뭔데?
- 증강현실을 구현하기 위한 iOS 프레임워크
- 애플이 정의하는 ARKit 은 아래와 같네요~
- iOS 기기( 아이폰 아이패드 ) 의 카메라와 움직임들을 어플 또는 게임 내에서 증강현실을 구현하기 위해 통합하는 프레임워크
- AR 은 기기의 카메라에서 라이브 뷰에 2D 또는 3D 물체를 표현해서, 사용자가 그 물체가 실제 세상에 존재하는 것처럼 느끼게 만드는 사용자 경험(UX) 를 뜻함
- ARKit 은 기기의 움직임 추적, 카메라 장면 캡쳐등 AR을 구현하기 위해 필요한 기술들을 결합해서 AR 구현을 단순화하고
- 이렇게 단순화 된 ARKit 프레임워크를 사용해서 개발자들은 여러 종류의 AR을 기기의 정면, 후면 카메라를 이용해서 구현할 수 있는 것
- iOS 의 경우라면 아이폰 아이패드의 카메라를 말하는 거야~
ARKit Framework Tree- 실제론 더 많은 종류가 더 복잡하게 연결되있고 여기에서 확인할 수 있어. 난 내가 사용할 것들과 정말 중요한 것들만 정리하고 설명하는 거라는 점!!
ARConfiguration- AR 에 필요한 것들을 구성하기 위한 추상클래스이고 이를 상속받은 5개의 서브클래스가 실질적인 작업을 해. 위의 트리 참고! 난 ARWorldTrackingConfiguration 를 사용할 거야.
- ARWorldTrackingConfiguration
- 가상의 물체는 현실세계의 카메라가 어떻게 움직이더라도 같은 곳에 있어야 사용자가 그 물건이 실제 있는것처럼 느끼겠지? 가상 물체의 위치가 유지되야 하는 것이지. 아래그림 처럼
- 라이브로 켜진 카메라에서 가상의 어떤 것을 만들고 그 물체가 카메라의를 통해 보는 세상에서 같은 장소에 계속 존재하게 하려면
- 가상의 물체와 가지고 있는 카메라의 움직임 사이에서 카메라의 움직임을 추적해야해. 그래야 물체를 고정시킬 수 있으니까.
- 이를 기술에 접근할 수 있게 하는 것이 ARWorldTrackingConfiguration 클래스이고
- 이 클래스는 기기의 움직임을 3개의 회전각 ( roll , pitch, yaw ) 과 세개의 변환각 ( x, y, z ) 을 통해 추적한대!
SceneKit
- SceneKit 은 contents 들을 트리구조를 활용해서 실행시킨다.
- root 노드는 시각적인 요소를 가지지 않으며 해당 scene world 의 좌표를 정의한다.
- 자식 노드들은 루트노드의 scene world 내에서 시각적인 요소로 존재하는 원리
- 여기서 노드 의 타입은 SCNNode
- SCNNode 는 루트노드에 상대적인 좌표 위치 변환속성을 제공한다. ( position, orientation, scale )
- SceneKit 은 보는 방향이 -z 축 방향을 가리키는 우회 좌표계를 사용한다. 아래와 같이
'iOS' 카테고리의 다른 글
[iOS : Codable]중첩된 JSON 데이터를 원하는 부분만 Codable 을 활용해서 가져오기! (0) 2019.06.19 [iOS] Codable 프로토콜로 JSON 데이터 다루기 정리! (0) 2019.06.10 [iOS] 마인드맵으로 이해하는 JSON / 스위프트에서 JSON 객체 다루기 (0) 2019.06.03 [iOS] CocoaPods , Carthage 사용하기 - Dependency Manager (0) 2019.05.31 [iOS] Alamofire를 통해 CocoaPods 사용해보기: 이것으로 CocoaPods 끝! (0) 2018.11.13 댓글