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
84
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
49
東京と千葉の映画館の勝手なる批評-2020年3月
ktaka
0
75
SIGGRAPH 2020の歩き方と見どころ
ktaka
1
700
左側と右側で別のものが見えるようにしてみた
ktaka
1
540
ARCoreで現実を拡張する話@DevFest東北
ktaka
1
180
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
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
170
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
360
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
8
4k
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
360
今から始めるCursor / Windsurf / Cline
kengo_hayano
0
110
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
150
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
220
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
5.9k
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.1k
custom_lintで始めるチームルール管理
akaboshinit
0
160
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1.1k
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
13
3.9k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
429
65k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Thoughts on Productivity
jonyablonski
69
4.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
What's in a price? How to price your products and services
michaelherold
245
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.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
ηογϣϯͷϑΟʔυόοΫ ૯߹ධՁͰΛ͍͖ͨͩ·ͨ͠ʂ