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
もしあなたがアウトゲーム(UI)を つくることになったら with Unity
Search
Masataka Kohagura
August 03, 2019
Programming
0
2.3k
もしあなたがアウトゲーム(UI)を つくることになったら with Unity
Masataka Kohagura
August 03, 2019
Tweet
Share
More Decks by Masataka Kohagura
See All by Masataka Kohagura
ローカライズシステムを作った話
masakoha
0
290
Other Decks in Programming
See All in Programming
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
CSC307 Lecture 05
javiergs
PRO
0
500
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
MUSUBIXとは
nahisaho
0
140
React Native × React Router v7 API通信の共通化で考えるべきこと
suguruooki
0
100
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
並行開発のためのコードレビュー
miyukiw
0
1.2k
CSC307 Lecture 09
javiergs
PRO
1
840
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
AI時代の認知負荷との向き合い方
optfit
0
170
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
SourceGeneratorのススメ
htkym
0
200
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Between Models and Reality
mayunak
1
190
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
Un-Boring Meetings
codingconduct
0
200
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
Έͳ͞ΜɺΞτήʔϜͮ͘ Γ͖Ͱ͔͢ʁ
ͦͦΞτήʔϜͬͯԿʁ
͋ΔήʔϜͷύʔτͷେ෦͕ 6*ʹΊΒΕ͓ͯΓɺͦΕΒ6* Λ৮Δ͜ͱʹΑͬͯԿ͔͠ΒͷΞ ΫγϣϯΛى͜͢ήʔϜύʔτͷ ૯শ ͱ೦ͷͨΊʹఆ͓ٛͯ͘͠ ࠓճͷΞτήʔϜͷఆٛ
6*ͷྔ͕ଟ͗ͯ͢େมʂ
͜ΕΛ࡞Δ͜ͱʹͳͬͨΒɺ· ͣԿΛߟ͑Δɾɾɾʁ
ࠓճɺͦΜͳ͓
͋͠ͳ͕ͨΞτήʔϜ 6* Λ ͭ͘Δ͜ͱʹͳͬͨΒXJUI6OJUZ ݹਖ਼ོ 4BU 6OJUZ6*ΤϯδχΞϦϯάษڧձ
ࣗݾհ w ݹਖ਼ོ ͙͜Β·͔ͨ͞ w !NBTBLPIB w ϑϦʔϥϯε ϲ݄
w ͷΜͼΓ͠ͳ͕Β౦ژ ήʔϜγϣʹ͚ͯΞ τήʔϜ6*ؚΊͨ ج൫ܥΛ࡞͍ͬͯ·͢
ࣗݾհ w ݄d݄ 7ϥΠόʔࢹௌΞϓϦ ʮ*3*".ʯΛ࡞͍ͬͯ ·ͨ͠ 6*पΓશൠ
ͲΜͳΛ͢Δͷ͔ w ΞτήʔϜΛ͔Β࡞͍ͬͯͬͨ w ։ൃ͔ΒӡӦ·ͰͷΞτήʔϜ࡞ͷྲྀΕͷ w ίʔυΛΰϦΰϦॻ͍ͯ6*Λ࡞͍ͬͯ͘ w V(6*ܥͷ΄ͱΜͲ͠·ͤΜ
͓ॻ͖ w ϓϩδΣΫτൃ࣌ʹ͓͖͍ͬͯͨ͜ͱ w 6*࣮ͷෳਓ։ൃͷޮԽ w ͨ͘͞ΜͷػೳΦʔϓϯιʔεϑϨʔϜϫʔ ΫΛͭͬͨ͘
ୈҰষ ϓϩδΣΫτൃ࣌ʹ͓ͬͯ ͖͍ͨ͜ͱ
*3*".࠷ॳظͷ w ࢲ*3*".ϓϩδΣΫτൃ࣌ʹࢀՃ w 6OJUZΤϯδχΞࢲؚΊͯਓ w ਓΩϟϥΫλʔͷϞʔγϣϯΛಈ͔͢ w ਓ௨৴෦ w
ਓΞΠςϜ࡞ σβΠφʔ݉ w ਓ6*શൠࢲ
6*Ұਓ͚ͩ
6*ͷਐঢ়گ
Ͳ͏࡞͍ͬͯ͜͏͔ w ࠷ॳ͔ΒϦϦʔε࣌ظ΄΅ܾ·͍ͬͯͨɻ w 6*ྔ͕ଟ͍ͷͰɺҰਓͰΔʹͯ͠શવ ͕࣌ؒΓͳ͍ 6*ਓһ૿ͯ͠ͱૣΊʹ૬ ஊ w
6*ਓһ݄ ݄ ݄ʹਓͣͭ૿͍͑ͯͬͨ w ͦΕ·ͰʹࣗͰ6*ܥͷڞ௨ج൫Λ࡞ͬͯɺͱ Γ͋͑ͣΨϫ͚ͩҰ௨Γը໘Λ࡞Δํʹ
࣮ΛਐΊΔલʹͨ͜͠ͱ w ༻ޠͷ౷Ұ w ίʔυنͷ౷Ұ w ಈ࡞ج४ͱಈ࡞ର w $BOWBT0SEFSͷઃఆ w
։ൃελΠϧͷ
༻ޠͷ౷Ұ w ༻ޠͷ౷Ұ w ϙοϓΞοϓ Ϟʔμϧ μΠΞϩά w Ϋϥε໊1SFGBC໊ʹؔΘΔͷͰɺܾΊͯ
͓͔ͳ͍ͱमਖ਼͕େม w ࣄΛ͖ͯͨ͠ڥ֤ʑʹΑͬͯҧ͏ɻಉ͡ ݴ༿Ͱҧ͏ҙຯΛ͍ࣔͯ͠Δ͜ͱ͋Δͷ ͰɺೝࣝΛ౷Ұ͓ͯ͘͠
ίʔυنͷ౷Ұ w ༻ޠͷ౷Ұͱಉ͡ w ༨ஊ͚ͩͲɺN@IPHFIPHFͱ໋໊͞ΕΔͱɺ ࢲͭΒ͍ ͭΒ͍
ಈ࡞ج४ͱಈ࡞ର w ݄࣌ɺJ1IPOF9ग़͍ͯͨͷ ͷɺ4BGF"SFBͷରԠͳͲʹ֤͕ࣾΘΕ͍ͯ ͨ࣌ظ w J1IPOF9ͷإೝࣝΛ༻͢ΔΞϓϦͳͷͰɺ J1IPOF9ͷղ૾Λج४ʹͨ͠6*Λ࡞Δ͜ͱ ʹ w
$BOWBT4DBMFSʹө
ಈ࡞ج४ͱಈ࡞ର w ͜ͷઃఆͰී௨ͷͩͱɺ্Լ͕ΕΔ ͜ͱΛߟྀͯ͠σβΠϯ͢Δඞཁ͕͋ΔͷͰɺ σβΠφʔͷํҙ
$BOWBT0SEFSͷઃఆ w 6*ͷϨΠϠʔΛܾΊͯ ͓͘ w 6*ͷཁૉʹɺͳʹ͔ Λදࣔ͢Δը໘͚ͩͰ ͳ͘ɺͦͷը໘ͷϒ ϩοΩϯάɺϙοϓ ΞοϓͳͲɺ༷ʑͳϨ
ΠϠʔ͕ଘࡏ͢Δ Canvas Order WarningBlocking 50 Warning 40 PopupBlocking 30 Popup 20 Blocking 10 جຊͷදࣔ 0
$BOWBT0SEFSͷઃఆ w "TTFU4UPSFͳͲͷ "TTFUʹɺV(6*Λར༻ ͨ͠"TTFU͋Δɻ w 43%FCVHHFSɺσόο άػೳΛ؆୯ʹ࣮Ͱ͖ Δ"TTFU w
༻͢ΔΞηοτʹΑͬͯ ɺ$BOWBT0SEFSͷઃ ఆ࣍ୈͰཁमਖ਼ Canvas Order SR Debugger 120 WarningBlocking 50 Warning 40 PopupBlocking 30 Popup 20 Blocking 10 جຊͷදࣔ 0
σβΠϯͷ w ͋Β͔͡Ί༷ʑͳཁૉΛ౷Ұ͓͍ͯͨ͠΄͏͕ Α͍ w ϑΥϯτ w Ϙλϯͷେ͖͞ w ্ԼࠨӈͷϚʔδϯ෯
w ৭ ͜ͷϓϩδΣΫτʹ͓͍ͯͷ$$
ୈೋষ 6*ͷ࣮ෳਓ։ൃͷޮԽ
.71ΞʔΩςΫνϟΛ࠾༻ w ղઆͯͨ͠Β͜Ε͚ͩͰ͕͔͔࣌ؒΓͦ͏ͳͷ Ͱɺ͓͢͢ΊͷղઆϖʔδΛҎԼʹ w ͋ΔఔͷറΓΛ͢Δ͜ͱʹΑͬͯɺʮͲ͏ ͬͯίʔυΛॻ͚͍͍ʁʯΛආ͚Δ w 8FCग़ͷ6OJUZΤϯδχΞʹΑΔେنήʔ Ϝͷج൫ઃܭ
$ZCFS"HFOU٢ IUUQTEFWFMPQFSTDZCFSBHFOUDPKQCMPH BSDIJWFT
ڞ௨ύʔπΛ࡞Δ w ֦ॖ͢ΔϘλϯΛ࡞Δ w ΤσΟλ֦ுͰV(6*ͷϘλϯͱಉ༷ʹΦϦ δφϧϘλϯ͕ੜ͞ΕΔΑ͏ʹ w V(6*ͷػೳ͚ͩͰɺΞχϝʔγϣϯΛ ͏͜ͱͰ࣮Մೳ͕ͩɺͳΔ͘ࢲͦͷ ΞχϝʔγϣϯίʔυͰॻ͖͔ͨͬͨͷͰ
6*#VUUPOΛ֦ு
ڞ௨ύʔπΛ࡞Δ w ී௨ͷΫϦοΫɺԡ͠ ͨͱ͖ɺͨ͠ͱ͖ɺ ԡͨ͠͠ͱ͖ʹରԠ
ڞ௨ύʔπΛ࡞Δ w ϙοϓΞοϓػೳͷ࡞ w ϙοϓΞοϓ༷ʑͳॴ͔ΒݺΕΔͷͰɺ 4JOHMFUPO.POP#FIBWJPVSΛܧঝͯ͠ 1PQVQ.BOBHFSΛͭ͘Δɻ w ίʔυΛղઆ͠Α͏ͱࢥ͚ͬͨͲɺ͔ͳΓΊΜ Ͳ͍͘͞ͷͰɺࡉ͔͍࣮ʹ͍ͭͯ࠙ձͷ
ͱ͖ʹͰ
ڞ௨ύʔπΛ࡞Δ
ը໘ભҠج൫Λ࡞Δ w γʔϯભҠը໘ભҠͷϑϨʔϜϫʔΫΛ࡞ͯ͠ɺ ͦͷ্ʹ༷ʑͳը໘Λ࣮͍ͯ͘͠ɻ w Ͳ͜ͷը໘ಉ͡Α͏ʹ࣮͕Ͱ͖ΔΑ͏ʹͳΔͷ Ͱɺ࣮͍ͯ͠ͳ͍ଞͷਓ͕ݟͯେମͷྲྀΕ͕Θ͔ Δɻ౷Ұײ͕ग़Δɻ w ʰ$MJPOFʱͱ͍͏Φʔϓϯιʔεͷը໘ભҠج൫࡞ͬ
ͯ·͢ɻ ͳ͓%PDVNFOU IUUQTHJUIVCDPN.BTB,PIB$MJPOFSFMFBTFT UBHW
ը໘ભҠج൫Λ࡞Δ ޙչ w *3*".ͰυϦϧμϯϏϡʔ J1IPOFͷઃఆ ը໘Έ͍ͨʹ۷ΓਐΜͰ͍͘ը໘ભҠ w ʰ$MJPOFʱʹ࣮ࡁΈ w
*3*".Ͱɺ৽نొը໘ͱઃఆը໘͕υϦϧ μϯϏϡʔ
ը໘ભҠج൫Λ࡞Δ ޙչ w ઃఆը໘ͷΨϫΛͯ͢࡞ΓऴΘͬͨͱ͖ʹ ʮ͋Εʁ͜Ε$MJPOFʹ͍࣋ͬͯͬͯϥΠϒ ϥϦԽͨ͠΄͏͕Α͘ͳ͍ʁʯߟ͑ͨ w ΛͬͯϥΠϒϥϦԽ։࢝ w ͦͷؒʹઃఆը໘͍Ζ͍Ζ࣮͞Ε͍ͯ͘
w ϥΠϒϥϦ͕ग़དྷͨ͋ͱʹ৽نొը໘Λͦͷ ϥΠϒϥϦͰ࣮
ը໘ભҠج൫Λ࡞Δ ޙչ w ઃఆը໘͜ͷϥΠϒϥϦʹҠߦ͠Α͏ͱܾҙ w ʮಠ࣮͕ࣗೖ͍ͬͯΔɾɾɾʯ ʮ͜ͷ௨৴ॲཧ͕Ҿ͖ണ͕ͤͳ͍ɾɾɾʯ ʮͱ͍͏͔ɺੲͷࣗͷιʔείʔυԚ͍ʯ
ը໘ભҠج൫Λ࡞Δ ޙչ
ը໘ભҠج൫Λ࡞Δ ޙչ w ݁ہࣙΊΔ·Ͱ͜ͷղܾͰ͖ͣ w ࠷ॳ͔ΒΒͳ͍ͱಠ࣮͕ࣗೖͬͯɺͲΜͲ ΜҠߦͰ͖ͳ͘ͳΔ
ୈࡾষ ͨ͘͞ΜͷػೳΦʔϓϯιʔ εϑϨʔϜϫʔΫΛ࡞ͬͨ
࡞ͬͨػೳ w $MJPOFը໘ભҠج൫ܥɾ6*ܥ w *DBSVTϩʔΧϥΠζγεςϜ w .714DSJQU(FOFSBUPS6OJUZ.71ύλʔϯ ͷιʔείʔυΛҰׅੜ
$MJPOF w IUUQTHJUIVCDPN.BTB,PIB$MJPOF w ୈೋষͰେମͨ͠ w ͜Ε͔Β6*ͷը໘ભҠͰϥΠϒϥϦԽͨ͠ ͍ͷ͕ग़͖ͯͨΒՃ͍ͯ͘͠༧ఆ
*DBSVT w IUUQTHJUIVCDPN.BTB,PIB*DBSVT w ϩʔΧϥΠζγεςϜ
*DBSVT w ॳظԽ࣌ʹ5BSHFU-BOHVBHFͱ%FGBVMU -BOHVBHFΛೖྗɻೖྗͨ͠ݴޠʹԠͯ͡ LFZʹର͢Δจݴ͕ग़ྗ͞ΕΔ w ΤσΟλ֦ுͰɺ,FZͷ&OVNΛੜ͢ΔΑ͏ ʹ͍ͯ͠ΔͷͰλΠϓηʔϑ
.714DSJQU(FOFSBUPS6OJUZ w Ϋϥε໊ΛೖΕΔͱɺ.PEFM7JFX1SFTFOUFS ͷͭͷ$ϑΝΠϧΛग़ྗͯ͘͠ΕΔΤσΟλ ֦ு w ͳΜͱOBNFTQBDFࣗಈతʹೖΕͯ͘ΕΔ Αʂ
֎ จࣈͷྗ
ࡢͷதௐࠪΛ͍ͯͨ͠ࢲ w ϑΠϩϯ͞Μ͔Βͷґཔ w Ϣʔβ͔ΒʮήʔϜΛ͢Δͱൃ͕͍͢͝ʯ w ࠷దԽͷґཔ
w IUUQ UBJZPQSPKFDUDP NTVLVNJ[V UFBTFSKB
%ήʔϜ w มͳίʔυͳ͍͠ɺϓϩϑΝΠϥΛோΊͳ͕ ΒεύΠΫ͋Δͱ͍͑Ͳͦ͜·Ͱॏ͘ͳ ͦ͞͏ͩ͠ͳΜͰͩΖ͏ͱᄬͬͯͨ w ·͊ͰεϚϗήʔϜͰॏ͘ͳΔͷͬͯɺίʔ υΑΓϨϯμϦϯά͕ॏ͍ͷ͕େ֓ͳͷͰɺ ͠Β͘'SBNF%FCVHHFSͳͲͰோΊଓ͚ͯ ͨ
w ͦͯ͋͠Δ͜ͱʹؾͮ͘
%ήʔϜ w ʮεΫϛζʯͷϗʔ Ϝը໘ w ͳΜ͔ҧײ
ҧײͷ൜ਓ w %ͷϗʔϜը໘ͳͷʹɺͳͥ5SJTLɺ 7FSUTL͋ΔΜͩɾɾɾʁ
൜ਓͷਖ਼ମ w ͳΜ͔จࣈͬΆ͍ۣܗ͕จࣈ͋ͨΓͷϙϦΰ ϯ͕ΊͬͪΌଟ͍
൜ਓͷਖ਼ମ w จࣈʹ0VUMJOFͱ 4IBEPXͰΤϑΣΫτ Λ͔͚ͯݟͯ͘͢͠ ͍ͨ w ϙϦΰϯ૿େͷཁҼ ͜Ε w
ςϥγϡʔϧϒϩάʹهࣄ͕͋ͬͨΑ ʲ6OJUZʳ5FYU.FTI1SPͷΞτϥΠϯɺV(6*ͷͱൺͯͱͯྑ͍ IUUQUTVCBLJUIBUFCMPKQFOUSZ
൜ਓʹࣄௌऔͯ͠Έͨ ˡલ ˣޙ
จࣈͷݟӫ͑ΛΑ͍ͨ͘͠ͳΒ w V(6*ͷ5FYUʹ4IBEPX0VUMJOFΛ͚ͭΔ ͱɺඳը͕͍ͨΜͳ͜ͱʹͳΔ w 5FYU.FTI1SPΛͳΔ͍ͬͯ͘͘ํ͕Α ͦ͞͏ w ϑΠϩϯ͞Μɺࢿྉఏڙ͋Γ͕ͱ͏͍͟͝·͢ʂ
Ұ௨ΓޠΓͬͨɾɾɾʁ w ·ͩ·ͩޠΓ͍ͨ͜ͱͨ͘͞Μ w ֆจࣈͷจࣈίʔυ Ϣʔβʹֆจࣈೖྗ ͤ͞Δͱେมͳ w *OQVUNVMUJ5PVDI&OBCMFEGBMTFʹͯ͠
ɺٖࣅతʹϚϧνλονͰ͖Δ w "VUP-BZPVUશʹཧղͨ͠FUDʜ
ଓ͖࠙ձͰΓ͔͚ͯͩ͘ ͍͞
·ͱΊ w ΞτήʔϜͮ͘Γྔͱͷઓ͍ w ਓ͕͍Ε؆୯ʹ্͍͚͛ͯΔ w ͕ɺ։ൃΛ্͛Δʹͯ͠ԼΛͭͬͯ͘ ͓͔ͳ͍ͱɺޮ͕ѱ͘ͳͬͯ͠·͏ w ͜ΕͰΈΜͳΞτήʔϜ͕͖ʹͳ͔ͬͨ
ͳʁ
5IBOLZPVGPS-JTUFOJOH