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.1k
もしあなたがアウトゲーム(UI)を つくることになったら with Unity
Masataka Kohagura
August 03, 2019
Tweet
Share
More Decks by Masataka Kohagura
See All by Masataka Kohagura
ローカライズシステムを作った話
masakoha
0
280
Other Decks in Programming
See All in Programming
C++20 射影変換
faithandbrave
0
560
Deep Dive into ~/.claude/projects
hiragram
10
2.2k
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
2
880
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
660
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
290
技術同人誌をMCP Serverにしてみた
74th
1
510
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
Benchmark
sysong
0
280
ニーリーにおけるプロダクトエンジニア
nealle
0
710
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
250
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
170
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
What's in a price? How to price your products and services
michaelherold
246
12k
The Invisible Side of Design
smashingmag
300
51k
Docker and Python
trallard
44
3.5k
It's Worth the Effort
3n
185
28k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Optimizing for Happiness
mojombo
379
70k
Documentation Writing (for coders)
carmenintech
72
4.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
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