Slide 1

Slide 1 text

ARKitʹೖ໳ͯ͠!ࡾດ iOS Creators' Meetup vol.4 1

Slide 2

Slide 2 text

Profile Kazuya Ueoka Timers inc.ͷiOSΤϯδχΞ Twitter: @fromkk Github: fromkk Qiita: fromkk 2

Slide 3

Slide 3 text

WWDC 2017Ͱൃද͞ΕͨARKit 602 Introducing ARKit: Augmented Reality for iOS 3

Slide 4

Slide 4 text

AR(Augmented Reality) 4 ֦ுݱ࣮ 4 Χϝϥ!ͰࡱӨͨ͠ө૾ʹ3Dͷ෺ମ౳Λ഑ஔ͢ΔࣄͰݱ࣮ ʹԾ૝తͳ෺ମ͕͍Δ༷ʹݟ͑Δٕज़ 4

Slide 5

Slide 5 text

ͲΜͳࣄ͕ग़དྷΔ ͔ 4 Made with ARKit 4 Awesome ARKit 5

Slide 6

Slide 6 text

ͲΜͳΞϓϦʹ޲͍͍ͯΔ͔ 4 ήʔϜ 4 EC౳ͷ෺ൢ 4 ڭҭɾֶशܥ and more... 6

Slide 7

Slide 7 text

ARKit 4 ϋΠϨϕϧͳAPI 4 iOSରԠ(A9Ҏ্) 4 SceneKit(3D), SpriteKit(2D), Metal(ΧελϜϨϯμϦ ϯά)ରԠ 4 Կԯ΋ͷσόΠε͕ARKitʹରԠࡁΈ 7

Slide 8

Slide 8 text

ओཁͳػೳ 4 ϫʔϧυτϥοΩϯάʢಛ௃఺ΛτϥοΩϯάʣ 4 γʔϯͷཧղʢচͷ൑அɾ౰ͨΓ൑ఆɾ໌Δ͞ਪଌʣ 4 ϨϯμϦϯά UnityɾUnrealରԠ 8

Slide 9

Slide 9 text

Architecture 9

Slide 10

Slide 10 text

ARSession ARKitͷجຊͱͳΔΫϥε 4 func run(_ configuration: ARSessionConfiguration, options: RunOptions = []) 4 ఆظతʹτϥοΩϯά৘ใΛؚΜͩ ARFrame Λ ARSessinoDelegate Ͱड͚औΔࣄ͕ग़དྷΔ 10

Slide 11

Slide 11 text

ARWorldTrackingSessionConfiguration ݱ࣮ੈքΛτϥοΩϯά͢ΔҝͷઃఆΫϥε 4 class var isSupported: Bool ͰτϥοΩϯάʹରԠ͠ ͍ͯΔ͔൑அ͢Δࣄ͕ग़དྷΔ 4 var planeDetection: PlaneDetection 4 struct PlaneDetection : OptionSet { static var horizontal: PlaneDetection } 11

Slide 12

Slide 12 text

ARSCNView ARΛදࣔ͢Δҝʹར༻͢ΔView 4 SCNView Λܧঝ 4 delegate: ARSCNViewDelegate Ͱ ARAnchor ͕௥Ճ͞Ε ͨ౳ͷ௨஌Λड͚औΔࣄ͕ग़དྷΔ 12

Slide 13

Slide 13 text

౰ͨΓ൑ఆ ARSCNView.hitTest(_ point: CGPoint, types: .ResultType) -> [ARHitTestResult] 13

Slide 14

Slide 14 text

ARHitTestResult.ResultType 4 featurePoint ࠷΋͍ۙಛ௃఺ 4 estimatedHorizontalPlane ਪఆͷਫฏ໘ 4 existingPlane طଘͷฏ໘ΞϯΧʔ 4 existingPlaneUsingExtent طଘͷฏ໘ΞϯΧʔͷൣғΛ ར༻͢Δ 14

Slide 15

Slide 15 text

ͱ͜ΖͰ 15

Slide 16

Slide 16 text

օ͞Μ!͸޷͖Ͱ͔͢ʁ 16

Slide 17

Slide 17 text

Ͱ͢ΑͶʁ 17

Slide 18

Slide 18 text

!͕ແݶʹݱΕΔ༷ͳੈքʹಌΕ·͢ΑͶ" 18

Slide 19

Slide 19 text

࡞ͬͯΈ·͠ΐ͏! 19

Slide 20

Slide 20 text

؆୯ͳྲྀΕ 4 ARSCNView ʹ SCNScene Λ௥Ճ͢Δ 4 ARSession ͷ run ϝυουʹ ARWorldTrackingSessionConfiguration Ληοτ 4 scene.rootNode ʹ SCNNode Λ௥Ճ͍ͯ͘͠ 4 ී௨ʹ UIGestureRecognizer ͕ར༻ग़དྷΔ 20

Slide 21

Slide 21 text

લఏ৚݅ 4 ΧϝϥΛར༻͢Δҝ Info.plist ʹ NSCameraUsageDescription Λهड़͓ͯ͘͠ 21

Slide 22

Slide 22 text

demo 22

Slide 23

Slide 23 text

Recap 4 ؆୯ʹݱ࣮ੈքʹण࢘Λେྔʹ഑ஔ͢Δࣄ͕ग़དྷ·ͨ͠! 4 SceneKit ͷ஌͕ࣝ͋Ε͹৭ʑग़དྷͦ͏" 4 iOS 11ͷϦϦʔεͱڞʹͲͷ༷ͳARKitରԠͷΞϓϦ͕ग़ͯ ͘Δָ͔͠ΈͰ͢Ͷ❗ 4 (ͪͳΈʹ)iPadͷSwift Playground 2(beta)Ͱ΋ಈ͘$ 23

Slide 24

Slide 24 text

Sample code 4 https://github.com/fromkk/ARSushi 4 https://github.com/fromkk/ ARKitForSwiftPlayground2 24

Slide 25

Slide 25 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠! 25