Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ARKitに入門して🍣三昧/arsushi_with_arkit_20170721
Search
fromkk
July 21, 2017
Programming
3
1.1k
ARKitに入門して🍣三昧/arsushi_with_arkit_20170721
Presentation for iOS Creators' Meetup vol.4
fromkk
July 21, 2017
Tweet
Share
More Decks by fromkk
See All by fromkk
note社の全員野球で品質向上活動について / note_qa_challenge #iOS_test_teatime
fromkk
3
1.8k
1年分のデータが見たいと言われてやったこと/yearly_data_with_note
fromkk
0
910
note iOSチームの自動化 ver.2021/automation_with_iOS_team_on_note_ver2021
fromkk
0
1.9k
Bitrise体験会説明資料/bitrise_explore
fromkk
1
1k
noteのiOSアプリで実装したアクセシビリティの全て #iosdc #a /a11y_with_iOS_App_on_note
fromkk
2
3.5k
dSYMのアップロードで SPMを活用する/use_spm_with_upload_dsyms
fromkk
1
2.7k
Bitriseのリモートアクセス機能 #bitrise_meetup/remote_access_of_bitrise
fromkk
1
540
note社でのMagic Pod活用事例 #af_iosdc/magicpod_with_note
fromkk
2
11k
iOSには無いmacOS独自機能をCatalystで実装する #iosdc #d/make_macos_apps_with_catalyst
fromkk
9
2.1k
Other Decks in Programming
See All in Programming
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
140
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
2.3k
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.8k
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
220
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
430
為你自己學 Python
eddie
0
530
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
140
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
1
150
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
130
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
410
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
28
6.1k
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Code Reviewing Like a Champion
maltzj
521
39k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
GitHub's CSS Performance
jonrohan
1030
460k
The Language of Interfaces
destraynor
156
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
210
Making Projects Easy
brettharned
116
6k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Adopting Sorbet at Scale
ufuk
74
9.2k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Transcript
ARKitʹೖͯ͠!ࡾດ iOS Creators' Meetup vol.4 1
Profile Kazuya Ueoka Timers inc.ͷiOSΤϯδχΞ Twitter: @fromkk Github: fromkk Qiita:
fromkk 2
WWDC 2017Ͱൃද͞ΕͨARKit 602 Introducing ARKit: Augmented Reality for iOS 3
AR(Augmented Reality) 4 ֦ுݱ࣮ 4 Χϝϥ!ͰࡱӨͨ͠ө૾ʹ3DͷମΛஔ͢ΔࣄͰݱ࣮ ʹԾతͳମ͕͍Δ༷ʹݟ͑Δٕज़ 4
ͲΜͳࣄ͕ग़དྷΔ ͔ 4 Made with ARKit 4 Awesome ARKit 5
ͲΜͳΞϓϦʹ͍͍ͯΔ͔ 4 ήʔϜ 4 ECͷൢ 4 ڭҭɾֶशܥ and more... 6
ARKit 4 ϋΠϨϕϧͳAPI 4 iOSରԠ(A9Ҏ্) 4 SceneKit(3D), SpriteKit(2D), Metal(ΧελϜϨϯμϦ ϯά)ରԠ
4 ԿԯͷσόΠε͕ARKitʹରԠࡁΈ 7
ओཁͳػೳ 4 ϫʔϧυτϥοΩϯάʢಛΛτϥοΩϯάʣ 4 γʔϯͷཧղʢচͷஅɾͨΓఆɾ໌Δ͞ਪଌʣ 4 ϨϯμϦϯά UnityɾUnrealରԠ 8
Architecture 9
ARSession ARKitͷجຊͱͳΔΫϥε 4 func run(_ configuration: ARSessionConfiguration, options: RunOptions =
[]) 4 ఆظతʹτϥοΩϯάใΛؚΜͩ ARFrame Λ ARSessinoDelegate Ͱड͚औΔࣄ͕ग़དྷΔ 10
ARWorldTrackingSessionConfiguration ݱ࣮ੈքΛτϥοΩϯά͢ΔҝͷઃఆΫϥε 4 class var isSupported: Bool ͰτϥοΩϯάʹରԠ͠ ͍ͯΔ͔அ͢Δࣄ͕ग़དྷΔ 4
var planeDetection: PlaneDetection 4 struct PlaneDetection : OptionSet { static var horizontal: PlaneDetection } 11
ARSCNView ARΛදࣔ͢Δҝʹར༻͢ΔView 4 SCNView Λܧঝ 4 delegate: ARSCNViewDelegate Ͱ ARAnchor
͕Ճ͞Ε ͨͷ௨Λड͚औΔࣄ͕ग़དྷΔ 12
ͨΓఆ ARSCNView.hitTest(_ point: CGPoint, types: .ResultType) -> [ARHitTestResult] 13
ARHitTestResult.ResultType 4 featurePoint ࠷͍ۙಛ 4 estimatedHorizontalPlane ਪఆͷਫฏ໘ 4 existingPlane طଘͷฏ໘ΞϯΧʔ
4 existingPlaneUsingExtent طଘͷฏ໘ΞϯΧʔͷൣғΛ ར༻͢Δ 14
ͱ͜ΖͰ 15
օ͞Μ!͖Ͱ͔͢ʁ 16
Ͱ͢ΑͶʁ 17
!͕ແݶʹݱΕΔ༷ͳੈքʹಌΕ·͢ΑͶ" 18
࡞ͬͯΈ·͠ΐ͏! 19
؆୯ͳྲྀΕ 4 ARSCNView ʹ SCNScene ΛՃ͢Δ 4 ARSession ͷ run
ϝυουʹ ARWorldTrackingSessionConfiguration Ληοτ 4 scene.rootNode ʹ SCNNode ΛՃ͍ͯ͘͠ 4 ී௨ʹ UIGestureRecognizer ͕ར༻ग़དྷΔ 20
લఏ݅ 4 ΧϝϥΛར༻͢Δҝ Info.plist ʹ NSCameraUsageDescription Λهड़͓ͯ͘͠ 21
demo 22
Recap 4 ؆୯ʹݱ࣮ੈքʹण࢘Λେྔʹஔ͢Δࣄ͕ग़དྷ·ͨ͠! 4 SceneKit ͷ͕ࣝ͋Ε৭ʑग़དྷͦ͏" 4 iOS 11ͷϦϦʔεͱڞʹͲͷ༷ͳARKitରԠͷΞϓϦ͕ग़ͯ ͘Δָ͔͠ΈͰ͢Ͷ❗
4 (ͪͳΈʹ)iPadͷSwift Playground 2(beta)Ͱಈ͘$ 23
Sample code 4 https://github.com/fromkk/ARSushi 4 https://github.com/fromkk/ ARKitForSwiftPlayground2 24
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠! 25