ARKit에서 쉽게 AR 해 보았습니다.
소개
iOS11에서 사용할 수있게 된 ARKit을 사용하여 간단한 데모를 만들었습니다.
ARKit에서 할 수 있는 작업에 대한 자세한 내용은 다른 사이트를 참조하세요.
이 기사에서는 「이렇게 간단하게 AR어플리케이션을 만들 수 있어!」라고 하는 소개하므로,
꼭 「어떻게 만들까?」에 시간을 들이는 것보다 「무엇을 만들자!」에 집중해 주시면 좋겠습니다.
이런 것 만들기
· 카메라 시작
・화면에 객체 배치해 보기
・수평면을 검지해 본다
・배치한 오브젝트 이동해 본다
만들어 보자
우선 프로젝트 작성
새 프로젝트 생성에서 Aumented Reality 앱을 선택합니다.
이것으로 템플릿 프로젝트의 완성입니다.
완성 된 ViewController.swift에서 필요한 곳만 발췌하면,
ViewController.swiftimport UIKit
import SceneKit
import ARKit
class ViewController: UIViewController, ARSCNViewDelegate {
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.delegate = self
sceneView.showsStatistics = true
let scene = SCNScene(named: "art.scnassets/ship.scn")!
sceneView.scene = scene
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingConfiguration()
sceneView.session.run(configuration)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
sceneView.session.pause()
}
}
네. 단지 이것뿐입니다.
실제 기기로 부팅하면 카메라가 시작되고 Apple이 데모에서 준비한 우주선과 같은 것이 카메라에 나타납니다.
이것으로 「카메라를 기동한다」라고 「화면에 오브젝트를 배치해 본다」가 끝이군요.
개체를 변경해 봅니다.
이대로 아직 지루하지 않기 때문에, 표시하는 오브젝트를 다른 것으로 해 보겠습니다.
무료로 제공하는 사이트가 있으므로 거기에서 3D 모델을 다운로드합니다.
이번에 사용한 것은 이 사이트 htps // f 3d. 코m/
(Xcode에서 그대로 사용할 수있는 것은 ".dae"".obj"도 사용할 수 있지만 미확인입니다.)
프로젝트로 가져오고 '.scn'으로 변환하여 준비합니다.
(".scn"으로의 변환은 Xcode 메뉴의 Editor > Convert to SceneKit scene file format (.scn)에서 할 수 있습니다.)
가져온 화면이 여기.
뭔가 거꾸로되어있다!
이 상태로 화면에 표시되므로 조금 조정
(구체적으로는 캡처의 오른쪽에 표시되어 있는 Position, Euler의 값을 따릅니다.)
조정 후 이쪽
똑바로 향하고 있습니다. 이제 나중에 평면에 배치할 수 있습니다.
우선 이 오브젝트를 읽어 보도록(듯이) 변경해 봅시다.
뭔가 떠있다!
다음은 탐지한 평면의 바닥에 이 오브젝트가 놓여지도록 해 갑니다.
수평면을 감지해 본다
방금 만든 프로그램에 조금 손을 넣습니다.
수평면을 감지하도록 설정을 하고, 감지 후 개체를 그 수평면에 맞추어 배치하도록 해 봅니다.
네. 그러면
검지한 바닥에 대해서 오브젝트(앞으로 곰씨라고 부릅니다)가 놓였습니다.
실제로 움직여 보겠습니다.
좋은 느낌에 곰씨가 진좌해 주었습니다.
이것으로 이른바 증강 현실이 되었습니다만, 한층 더 곰씨를 움직여, 여러가지 해 보고 싶습니다.
배치한 객체 이동해 보기
· 탭하면 곰이 움직입니다.
・드래그하면 곰이 이동한다
라는 것을 해 보겠습니다.
조금 세세해지므로, 자세한 것은 코드를 봐 주면 좋겠습니다.
iOS 개발 경험이 있으면 바로 이해할 수 있다고 생각합니다.
그래서 완성한 것이 이쪽
탭하면 곰이 일어납니다!
드래그하면 곰 씨 움직입니다! (이 기능이 어색하기 때문에 나중에 업데이트하고 싶습니다)
이번 소스 코드는 이쪽
소스 코드를 보면 알 수 있을지도 모릅니다만, 정말로 약간의 기술로 여기까지의 것을 만들 수 있습니다.
Reference
이 문제에 관하여(ARKit에서 쉽게 AR 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pontake-dev/items/daf4a27cccc222f9ae9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
· 카메라 시작
・화면에 객체 배치해 보기
・수평면을 검지해 본다
・배치한 오브젝트 이동해 본다
만들어 보자
우선 프로젝트 작성
새 프로젝트 생성에서 Aumented Reality 앱을 선택합니다.
이것으로 템플릿 프로젝트의 완성입니다.
완성 된 ViewController.swift에서 필요한 곳만 발췌하면,
ViewController.swiftimport UIKit
import SceneKit
import ARKit
class ViewController: UIViewController, ARSCNViewDelegate {
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.delegate = self
sceneView.showsStatistics = true
let scene = SCNScene(named: "art.scnassets/ship.scn")!
sceneView.scene = scene
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingConfiguration()
sceneView.session.run(configuration)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
sceneView.session.pause()
}
}
네. 단지 이것뿐입니다.
실제 기기로 부팅하면 카메라가 시작되고 Apple이 데모에서 준비한 우주선과 같은 것이 카메라에 나타납니다.
이것으로 「카메라를 기동한다」라고 「화면에 오브젝트를 배치해 본다」가 끝이군요.
개체를 변경해 봅니다.
이대로 아직 지루하지 않기 때문에, 표시하는 오브젝트를 다른 것으로 해 보겠습니다.
무료로 제공하는 사이트가 있으므로 거기에서 3D 모델을 다운로드합니다.
이번에 사용한 것은 이 사이트 htps // f 3d. 코m/
(Xcode에서 그대로 사용할 수있는 것은 ".dae"".obj"도 사용할 수 있지만 미확인입니다.)
프로젝트로 가져오고 '.scn'으로 변환하여 준비합니다.
(".scn"으로의 변환은 Xcode 메뉴의 Editor > Convert to SceneKit scene file format (.scn)에서 할 수 있습니다.)
가져온 화면이 여기.
뭔가 거꾸로되어있다!
이 상태로 화면에 표시되므로 조금 조정
(구체적으로는 캡처의 오른쪽에 표시되어 있는 Position, Euler의 값을 따릅니다.)
조정 후 이쪽
똑바로 향하고 있습니다. 이제 나중에 평면에 배치할 수 있습니다.
우선 이 오브젝트를 읽어 보도록(듯이) 변경해 봅시다.
뭔가 떠있다!
다음은 탐지한 평면의 바닥에 이 오브젝트가 놓여지도록 해 갑니다.
수평면을 감지해 본다
방금 만든 프로그램에 조금 손을 넣습니다.
수평면을 감지하도록 설정을 하고, 감지 후 개체를 그 수평면에 맞추어 배치하도록 해 봅니다.
네. 그러면
검지한 바닥에 대해서 오브젝트(앞으로 곰씨라고 부릅니다)가 놓였습니다.
실제로 움직여 보겠습니다.
좋은 느낌에 곰씨가 진좌해 주었습니다.
이것으로 이른바 증강 현실이 되었습니다만, 한층 더 곰씨를 움직여, 여러가지 해 보고 싶습니다.
배치한 객체 이동해 보기
· 탭하면 곰이 움직입니다.
・드래그하면 곰이 이동한다
라는 것을 해 보겠습니다.
조금 세세해지므로, 자세한 것은 코드를 봐 주면 좋겠습니다.
iOS 개발 경험이 있으면 바로 이해할 수 있다고 생각합니다.
그래서 완성한 것이 이쪽
탭하면 곰이 일어납니다!
드래그하면 곰 씨 움직입니다! (이 기능이 어색하기 때문에 나중에 업데이트하고 싶습니다)
이번 소스 코드는 이쪽
소스 코드를 보면 알 수 있을지도 모릅니다만, 정말로 약간의 기술로 여기까지의 것을 만들 수 있습니다.
Reference
이 문제에 관하여(ARKit에서 쉽게 AR 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pontake-dev/items/daf4a27cccc222f9ae9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import UIKit
import SceneKit
import ARKit
class ViewController: UIViewController, ARSCNViewDelegate {
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.delegate = self
sceneView.showsStatistics = true
let scene = SCNScene(named: "art.scnassets/ship.scn")!
sceneView.scene = scene
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingConfiguration()
sceneView.session.run(configuration)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
sceneView.session.pause()
}
}
Reference
이 문제에 관하여(ARKit에서 쉽게 AR 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pontake-dev/items/daf4a27cccc222f9ae9d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)