Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2019年の技術であのARアプリを再現する(東北TECH道場版)
Search
Kenichi Takahashi
March 02, 2019
Programming
0
93
2019年の技術であのARアプリを再現する(東北TECH道場版)
東北TECH道場の石巻道場で再演用にDroidKaigi 2019で話した内容に加筆したものです。ARCoreとSceneformのバージョンが1.7に更新されたことにも触れています。
Kenichi Takahashi
March 02, 2019
Tweet
Share
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
AndroidのAR最新動向
ktaka
0
78
東京と千葉の映画館の勝手なる批評-2020年3月
ktaka
0
99
SIGGRAPH 2020の歩き方と見どころ
ktaka
1
760
左側と右側で別のものが見えるようにしてみた
ktaka
1
570
ARCoreで現実を拡張する話@DevFest東北
ktaka
1
210
SIGGRAPH 2019参加のコツ
ktaka
2
350
GTUG Girls ARCoreハンズオン
ktaka
1
500
ABC2019s ARCoreハンズオン
ktaka
2
1.3k
2019年春の技術であのARアプリを再現する
ktaka
1
1.2k
Other Decks in Programming
See All in Programming
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
110
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
380
認証・認可の基本を学ぼう後編
kouyuume
0
180
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.3k
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
Developing static sites with Ruby
okuramasafumi
0
260
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
720
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
200
AIコーディングエージェント(Manus)
kondai24
0
160
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
220
SwiftUIで本格音ゲー実装してみた
hypebeans
0
110
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How STYLIGHT went responsive
nonsquared
100
6k
Unsuck your backbone
ammeep
671
58k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Documentation Writing (for coders)
carmenintech
76
5.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
A Modern Web Designer's Workflow
chriscoyier
698
190k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Transcript
%SPJE,BJHJ Ͱొஃ͖ͯ͠·ͨ͠ɹ
ͷٕज़Ͱ ͋ͷ"3ΞϓϦΛ࠶ݱ͢Δ %SPJE,BJHJɹߴڮݑҰ
ԕ͍ੲɺΔ͔൴ํͷ৽॓ ஸͰ....
ηΧΠΧϝϥ ͱ͍͏"3ΞϓϦ͕ ։ൃ͞Ε͍ͯ·ͨ͠ɻɹ
ηΧΠΧϝϥ ʙεϚʔτϑΥϯᴈ໌ظʹΛ ूΊͨ"3ΞϓϦ ݄J1IPOF൛ϦϦʔε ݄"OESPJE൛ϦϦʔε ݄αʔϏεऴྃ
͋Ε͔Β͍݄͕ۙྲྀΕʜ ͷ͍·ͷٕज़ͰͬͨΒ ͲΜͳߏʹͳΔͷ͔ʁ
@ken1_taka ktaka גࣜձࣾΧϒΫιϑτΣΞΤϯδχΞ ߴڮݑҰ w ܞଳ͚%άϥϑΟΫεΤϯδϯɺੲ͋ͬͨ "3ΞϓϦͷ։ൃʹܞΘΔ w ݱࡏΧϒΫͰ%άϥϑΟΫεͷϨϯμϦϯά ͓ΑͼղੳΤϯδϯͷ࣮Λ୲
w ݸਓత׆ಈͱͯ͠"373ͷ࣮ݧΛ͢ΔΒ༁ ຊΛग़ͨ͠Γɺٕज़ܥࡶࢽͷղઆهࣄΛدߘ͢ ΔͳͲ͍ͯ͠Δ
6OJUZʹΑΔʙຊͷ༁
ٕज़ॻయͰग़ͨ͠ຊ #005)ʹ1%'൛ͱຊ൛͋Γ·͢ IUUQT[BYJTKVOLJFCPPUIQNJUFNT
೦ͷͨΊʜN @@ N w ࠓճ࡞ͨ͠"3ΞϓϦ͋͘·Ͱࢲͷݸਓత׆ಈͰͷ࣮ݧͷهͰ͋Γɺॴଐ ͢Δձ͕ࣾఏڙ͢ΔαʔϏεͱͷؔ͋Γ·ͤΜ
ຊʹೖΓ·͢
͋ͷ"3ΞϓϦʹඞཁͳػೳ w ΧϝϥϓϨϏϡʔͷදࣔ w ΤΞλάͷදࣔ w ΤΞλά࡞ w ςΩετλάͷจࣈೖྗ w
ΠϝʔδλάͷࣸਅࡱӨ w ݱࡏҐஔͷऔಘ w ΤΞλάͷσʔλͷอଘ w ΤΞλά܈ͷऔಘ w ݱࡏҐஔΛத৺ʹܘʁNͱ͍͏ ΫΤϦʔ w Ϣʔβʔೝূ
࣌ͬͨͷ "OESPJE൛ͱαʔόʔ w +BWB w /%, w $ w
0QFO(-&4 w "84 w &$ w 4 w 1)1
ࠓճ ͬͨͷ w "3$PSF w 4DFOFGPSN w $MPVE"ODIPST w
+BWB w ,PUMJOগ͠ w 'JSFCBTF w "VUIFOUJDBUJPO w $MPVE'JSFTUPSF w (FP'JSFTUPSF
ػೳ͝ͱʹݟ͍͖ͯ·͢ ·ͣը໘पΓ͔Β
ΧϝϥϓϨϏϡʔͱΤΞλάͷදࣔ w "3$PSF w 4DFOFGPSN w "S'SBHNFOU w 7JFX3FOEFSBCMF
"3$PSFͷػೳ
"3$PSFΛͬͨ։ൃ +BWB 6OJUZ 6OSFBM J04
"OESPJE4UVEJP +BWB 4DFOFGPSN
4DFOFGPSNͱ w ݄ͷ(PPHMF*0Ͱൃද͞Εͨͷ w %ϞσϧͷΠϯϙʔτπʔϧ w "3γʔϯͷΈࠐΈ͕؆୯ʹͰ͖ΔϥΠϒϥϦ
https://developers.google.com/ar/develop/java/sceneform/ l"OESPJE։ൃऀʹ%άϥϑΟΫεͱ0QFO(-ΛֶͿ͜ͱͳ͠ʹ "3$PSFΛۦ͢ΔྗΛ༩͑Δz
4DFOFGPSNొҎલʜ w +BWB༻"3$PSFͷ4%,ʹଐ͢Δαϯϓϧͷߏ w %ϞσϧʢPCKʣσʔλΛϩʔυ͢Δίʔυ w 0QFO(-&4ͷ"1*Λݺͼग़͢ίʔυ w ͦΕͦΕࡶͳͷͩͬͨ w
ʮѱ͍͜ͱݴΘͳ͍͔Β6OJUZͰͬͨ΄͏͕͍͍ΑʯͱࢲपΓʹݴͬͯ ͍ͨ
4DFOFGPSNͰ ࠷ݶඞཁͳ +BWBͷίʔυ ͜Ε͚ͩ
Ϗϧυ࣮ͯ͠ߦ w ฏ໘Λλοϓͯ͠%ϞσϧΛஔ͢ΔͨΊ ʹඞཁͳػೳ͕Ұ௨Γ͋Δ w ݟӫ͑ྑ͍ w ཧϕʔεͷϨϯμϥ͕Έࠐ·Ε͍ͯΔ
4DFOFGPSNͷߏ
%ϞσϧͷΠϯϙʔτϓϥάΠϯ w "OESPJE4UVEJPͷϓϥάΠϯ w %ϞσϧΛΠϯϙʔτͯ͠Ξηοτͱͯ͠ ΈࠐΊΔ w 0#+ '#9 HM5'
w "OESPJE4UVEJPͰϓϨϏϡʔՄೳ
.PEFM3FOEFSBCMFΫϥε w %ϞσϧΛѻ͏ͨΊͷΫϥεɹ
7JFX3FOEFSBCMFΫϥε "OESPJE։ൃऀʹ͓ͳ͡ΈͷMBZPVUͷYNMΛ"3্ۭؒʹු͔Ϳ 7JFXͱͯ͠࡞Ͱ͖Δʂ
"S'SBHNFOU w ΧϝϥϓϨϏϡʔͷදࣔ w Λಈ͔͢͜ͱΛଅ͢6* w ೝࣝฏ໘Λࣔ͢6* w ฏ໘Λλοϓͨ͠ࡍͷMJTUOFS w
ฏ໘ʹӨΛམͱ͢
ྑ͍͜ͱͮ͘Ͱ͕͢ʜ
4DFOFGPSNͰΞχϝʔγϣϯ͕ Ͱ͖ͳ͍
ͦͷ߹6OJUZΛʜ ͱݴ͍ͬͯ·͕ͨ͠ɺ
4DFOFGPSNͰΞχϝʔγϣϯ͕ Ͱ͖ͳ͍ɹͰ͖ΔΑ͏ʹͳΓ·ͨ͠ʂ
4DFOFGPSNͰ "OJNBUJPOՄೳʹʂ w GCYʹઃఆ͞ΕͨΞχϝʔγϣ ϯΛΠϯϙʔτՄೳ
"VHNFOUFE'BDFTՃ w "3$PSFͰՃ w ϑϩϯτΧϝϥʹࣸΔإΛ ͷͷϝογϡͱͯ͠ೝࣝ w 6OJUZͱ4DFOFGPSN༻ͷ"1*Ͱ ఏڙ͞ΕΔ IUUQTEFWFMPQFSTHPPHMFDPNBSEFWFMPQKBWBBVHNFOUFEGBDFT
͜͜·Ͱ͕"3$PSFͱ 4DFOFGPSNͷ֓ཁ
ΧϝϥϓϨϏϡʔͷදࣔ w "S'SBHNFOUΛ-BZPVUʹ ΈࠐΉ͚ͩ
ςΩετͱΠϝʔδͷΤΞλά 7JFX3FOEFSBCMFͰ࡞
ςΩετλά༻ 7JFX3FOEFSBCMF 7JFX3FOEFSBCMFCVJMEFS TFU7JFX UIJT 3MBZPVUUFYU@UBH CVJME CBDLHSPVOE ʢؙ֯ɺಁ໌ͷ੨৭ʣ
UFYU@UBHYNM "1*
Πϝʔδλά༻ 7JFX3FOEFSBCMF 7JFX3FOEFSBCMFCVJMEFS TFU7JFX UIJT 3MBZPVUJNBHF@UBH CVJME CBDLHSPVOE ʢؙ֯ɺಁ໌ͷ৭ʣ
JNBHF@UBHYNM "1*
ΤΞλάͷ࡞ૢ࡞ w ΠϚ෩ʹ'"#Ͱ w ֊ԼʹςΩετΧϝϥͷΞΠίϯ
ςΩετೖྗμΠΞϩάͰ
ࣸਅͷࡱӨํ๏ w "S4DFOF7JFXWJFX BS'SBHNFOUHFU"S4DFOF7JFX w "3ը໘ͷ7JFXΛऔಘ w 1JYFM$PQZSFRVFTU WJFX
CJUNBQ DPQZ3FTVMU \ʜ w WJFXͷΩϟϓνϟΠϝʔδΛऔಘ w ΤΞλάͱഎܠ͕߹͞Εͨঢ়ଶͷΠϝʔ δΛ࡞͢ΔͨΊ w (PPHMFͷ4DFOFGPSNͷίʔυϥϘΛࢀߟ
Ґஔใؔ࿈
ݱࡏҐஔͷऔಘ w 5BLB.J[VUPSJ͞Μ͕NFEJVNͰ·ͱΊ͍ͯ ͨʮҐஔใΛਖ਼֬ʹτϥοΩϯά͢Δٕ ज़JO,PUMJOʯΛࢀߟʹ͠·ͨ͠ w IUUQTNFEJVNDPNMPDBUJPOUSBDLJOH UFDI w औಘ࣌ͷਫ਼λΠϛϯάΛࡉ੍͔͘ޚ͠
͔ͨͬͨͨΊ w ΤΞλάϦετͷߋ৽λΠϛϯάͷ੍ޚ
σʔλͷอଘɺαʔόʔपΓ
αʔόʔଆ'JSFCBTFΛ༻ w ࠓճαʔόʔଆͷίʔυҰॻ͍ ͍ͯ·ͤΜ w ʢ͍·ͷͱ͜Ζʜʣ IUUQTpSFCBTFHPPHMFDPN
ΤΞλάσʔλͷอଘ w $MPVE'JSFTUPSF w (FP'JSFTUPSFͷϥΠϒϥϦΛ༻ w IUUQTHJUIVCDPNJNQFSJVNMBCT(FP'JSFTUPSF"OESPJE
$MPVE'JSFTUPSF w /P42-υΩϡϝϯτσʔλϕʔε w άϩʔόϧεέʔϧͰϞόΠϧΞϓϦΣ ϒΞϓϦͷσʔλΛ؆୯ʹอଘɺಉظɺর ձ w ίϨΫγϣϯͱυΩϡϝϯτΛ༻ͯ͠σʔ λΛ؆୯ʹߏԽ
IUUQTpSFCBTFHPPHMFDPNQSPEVDUTpSFTUPSF
'JSFTUPSFʹอଘ͞Εͨσʔλ
ςΩετλάอଘͷίʔυ %PDVNFOU3FGFSFODFOFX5BH3FGECDPMMFDUJPO "JS5BHT EPDVNFOU .BQ4USJOH 0CKFDUEBUBOFX)BTI.BQ EBUBQVU NFTTBHF
NTH EBUBQVU UZQF OFX5BH3FGTFU EBUB 4USJOHEPD*EOFX5BH3FGHFU*E HFP'JSFTUPSFTFU-PDBUJPO EPD*E DVSSFOU1PJOU
ΤΞλά܈ͷऔಘ w ݱࡏҐஔΛத৺ʹܘʁNͱ͍͏Ϋ ΤϦʔͰऔಘ͢Δඞཁ͕͋Δ ը૾IUUQTpSFCBTFHPPHMFCMPHDPNHFPpSFHPFTNPCJMFIUNMΑΓ
ΤΞλά܈औಘ࣌ͷίʔυ ʢΫΤϦʔʣ w HFP2VFSZHFP'JSFTUPSFRVFSZ"U-PDBUJPO QPJOU SBEJVT
ΤΞλά܈औಘ࣌ͷίʔυ ʢϦεφʔʣ QVCMJDWPJEPO%PDVNFOU&OUFSFE %PDVNFOU4OBQTIPUEPDVNFOU4OBQTIPU (FP1PJOUQPJOU \ USZ\ .BQ4USJOH 0CKFDUEBUBEPDVNFOU4OBQTIPUHFU%BUB
4USJOHNFTTBHF 4USJOH EBUBHFU NFTTBHF MPO-BU5P9: QPJOU ʜʜ ^DBUDI /VMM1PJOUFS&YDFQUJPOF \ -PHE %0$6.&/5@&3303 FHFU-PDBMJ[FE.FTTBHF ^DBUDI $MBTT$BTU&YDFQUJPOF \ -PHE %0$6.&/5@&3303 FHFU-PDBMJ[FE.FTTBHF ^ ^
Ϣʔβʔೝূ
'JSFCBTF"VUIFOUJDBUJPO w ҆શͳೝূγεςϜΛ؆୯ʹߏங w ΤϯυϢʔβʔͷϩάΠϯॳظొͷૢ ࡞Λ͍͘͢͢Δ w ϩάΠϯɹ w ϝʔϧΞυϨεͱύεϫʔυ
w ిೝূ w (PPHMF w 5XJUUFS 'BDFCPPL (JU)VCαϙʔτ IUUQTpSFCBTFHPPHMFDPNQSPEVDUTBVUI
(PPHMFΞΧϯτʹΑΔϩάΠϯ 'JSFCBTF"VUIBVUI'JSFCBTF"VUIHFU*OTUBODF 'JSFCBTF6TFSVTFSBVUIHFU$VSSFOU6TFS JG VTFSOVMM \ ʜ ^FMTF\
-JTU"VUI6**EQ$POpHQSPWJEFST"SSBZTBT-JTU OFX"VUI6**EQ$POpH(PPHMF#VJMEFS CVJME TUBSU"DUJWJUZ'PS3FTVMU "VUI6*HFU*OTUBODF DSFBUF4JHO*O*OUFOU#VJMEFS TFU"WBJMBCMF1SPWJEFST QSPWJEFST CVJME 3$@4*(/@*/ ^
$MPVE"ODIPSTʹΑΔ"3ۭؒڞ༗
ͳͥ"3ۭؒͷڞ༗͕ඞཁͳͷ͔
௨ৗ֤ࣗͷεϚϗͷதͰดͨ͡"3ۭؒ ʢݟ͍ͯΔΦϒδΣΫτڞ༗͞Ε͍ͯͳ͍ʣ
$MPVE"ODIPSTΛ͏ͱʜ
$MPVE"ODIPSTʹ͍ͭͯͷϝϞ w $MPVE"ODIPSTͰొͨ͠ΞϯΧʔͷ༗ޮ࣌ؒ࣌ؒ w ظؒͷڞ༗ʹ͑ͳ͍ w ҢܦʹΑΔҐஔใͰͷอଘ͕ඞཁ w Ңܦʴ"ODIPS*%Λอଘ͓͖ͯ͠ɺແޮͳΒҢܦͷΈͰஔ͢Δ
$MPVE"ODIPSTʹ͍ͭͯͷϝϞ w ఏڙ͞ΕΔͷɹ w पғͷಛใ w "ODIPSΦϒδΣΫτʢҐஔɺ࢟ʣ w ԿΛͦ͜ʹஔ͢Δ͔ɺΞχϝʔγϣϯͷ੍ޚͳͲࣗલͰ࣮͢Δඞཁ͋Γ
$MPVE"ODIPSTʹ͍ͭͯͷϝϞ w ࣮ݧதͷ༻్ w ΠϕϯτͰಉ͡෦ʹ͍Δ߹ʹϓϩϑΟʔϧදࣔΛτϥοΩϯάදࣔ͢ Δ w ΞϯΧʔΛಉظ͢Δ͜ͱͰ࠲ඪܥΛἧ͑ΒΕΔ
ͷҐஔτϥοΩϯάใͷऔಘ 'SBNFGSBNFBS'SBHNFOUHFU"S4DFOF7JFX HFU"S'SBNF CPPMFBOXBT5SBDLJOHJT5SBDLJOH JT5SBDLJOHGSBNFOVMM GSBNFHFU$BNFSB HFU5SBDLJOH4UBUF 5SBDLJOH4UBUF53"$,*/( 1PTFDBNFSB1PTFGSBNFHFU$BNFSB
HFU1PTF
4DFOFGPSNͷίʔυϥϘ w ຊՈʢӳޠ൛ʣ w IUUQTDPEFMBCTEFWFMPQFSTHPPHMFDPN DPEFMBCTTDFOFGPSNJOUSP w ຊޠ൛ʢ!FHB͞ΜͱߴڮʹΑΔ༁ʣ w IUUQTLUBLBHJUIVCJPDPEFMBC
TDFOFGPSNBSKB
࡞ͷՃ՝͋Γ·͢ IUUQTLUBLBHJUIVCJPDPEFMBCWJFXSFOEFSBCMF
ηογϣϯͷϑΟʔυόοΫ ૯߹ධՁͰΛ͍͖ͨͩ·ͨ͠ʂ