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
2019年の技術であのARアプリを再現する(東北TECH道場版)
Search
Kenichi Takahashi
March 02, 2019
Programming
0
77
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
44
東京と千葉の映画館の勝手なる批評-2020年3月
ktaka
0
68
SIGGRAPH 2020の歩き方と見どころ
ktaka
1
680
左側と右側で別のものが見えるようにしてみた
ktaka
1
530
ARCoreで現実を拡張する話@DevFest東北
ktaka
1
170
SIGGRAPH 2019参加のコツ
ktaka
2
330
GTUG Girls ARCoreハンズオン
ktaka
1
450
ABC2019s ARCoreハンズオン
ktaka
2
1.2k
2019年春の技術であのARアプリを再現する
ktaka
1
1.1k
Other Decks in Programming
See All in Programming
SpringBoot3.4の構造化ログ #kanjava
irof
2
990
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
160
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
DROBEの生成AI活用事例 with AWS
ippey
0
130
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
1
180
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
240
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
890
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
410
Rails アプリ地図考 Flush Cut
makicamel
1
120
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.3k
Domain-Driven Transformation
hschwentner
2
1.9k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Scaling GitHub
holman
459
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
A designer walks into a library…
pauljervisheath
205
24k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Code Reviewing Like a Champion
maltzj
521
39k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
KATA
mclloyd
29
14k
Unsuck your backbone
ammeep
669
57k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
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
ηογϣϯͷϑΟʔυόοΫ ૯߹ධՁͰΛ͍͖ͨͩ·ͨ͠ʂ