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
78
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
47
東京と千葉の映画館の勝手なる批評-2020年3月
ktaka
0
71
SIGGRAPH 2020の歩き方と見どころ
ktaka
1
690
左側と右側で別のものが見えるようにしてみた
ktaka
1
530
ARCoreで現実を拡張する話@DevFest東北
ktaka
1
170
SIGGRAPH 2019参加のコツ
ktaka
2
340
GTUG Girls ARCoreハンズオン
ktaka
1
460
ABC2019s ARCoreハンズオン
ktaka
2
1.2k
2019年春の技術であのARアプリを再現する
ktaka
1
1.1k
Other Decks in Programming
See All in Programming
Boost Your Web Performance with Hyperdrive
chimame
1
100
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.6k
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
430
PRレビューのお供にDanger
stoticdev
1
240
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
170
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
170
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
Datadog Workflow Automation で圧倒的価値提供
showwin
1
310
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
160
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
180
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Embracing the Ebb and Flow
colly
84
4.6k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Music & Morning Musume
bryan
46
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
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
ηογϣϯͷϑΟʔυόοΫ ૯߹ධՁͰΛ͍͖ͨͩ·ͨ͠ʂ