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
uGUI の自動操作の考え方と操作方法
Search
Kuniwak
PRO
December 01, 2023
Technology
1
1.4k
uGUI の自動操作の考え方と操作方法
uGUI の仕組みのおさらいをしつつ、自動操作へのおすすめの取り組み方針と自動操作の方法を紹介します。
https://meetup.unity3d.jp/jp/events/1411
Kuniwak
PRO
December 01, 2023
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
330
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
90
HOME VR
orgachem
PRO
1
790
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.2k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1k
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
26k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
1.1k
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
14k
Other Decks in Technology
See All in Technology
TSのコードをRustで書き直した話
askua
4
960
Godot Engineについて調べてみた
unsoluble_sugar
0
460
reinvent2024を起点に振り返るサーバーレスアップデート
mihonda
1
140
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
2
620
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
150
ドメイン駆動設計によるdodaダイレクトのリビルド実践 / Rebuild practice of doda direct with domain-driven design
techtekt
0
210
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
190
一人から始めたSREチーム3年の歩み - 求められるスキルの変化とチームのあり方 - / The three-year journey of the SRE team, which started all by myself
vtryo
5
3k
インシデントキーメトリクスによるインシデント対応の改善 / Improving Incident Response using Incident Key Metrics
nari_ex
0
1.6k
Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは
mshibuya
1
2.1k
インフラコストとセキュリティ課題解決のためのリアーキテクチャリング / srekaigi2025
hgsgtk
3
2.4k
サーバーレス環境における生成AI活用の可能性
mikanbox
1
130
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
Raft: Consensus for Rubyists
vanstee
137
6.7k
The World Runs on Bad Software
bkeepers
PRO
66
11k
Side Projects
sachag
452
42k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Your Own Lightsaber
phodgson
104
6.2k
Making the Leap to Tech Lead
cromwellryan
133
9k
Designing for Performance
lara
604
68k
A Philosophy of Restraint
colly
203
16k
Transcript
V(6*ͷࣗಈૢ࡞ͷ ߟ͑ํͱૢ࡞ํ๏ 6OJUZ6*શʹཧղͨ͠,VOJXBL %F/"$P -UE
,VOJXBL OPXTQSJOUJOHUFTUIFMQFSNPOLFZͷ ίϯτϦϏϡʔλɻήʔϜ։ൃ͔Β ۤ͠ΈΛऔΓআ͖͍ͨɻ Ͱ੩తղੳثͳͲΛ։ൃ͍ͯ͠Δɻ 2
͍͑ͨ͜ͱ 3
V(6*ϓϩάϥϜ͔Βࣗಈૢ࡞Ͱ͖Δ V(6*Λࣗಈૢ࡞ͯ͠ίετͰ ࠷ݶͷಈ࡞֬ೝΛͰ͖ΔΑ͏ʹ͠Α͏ 4
എܠ 5
V(6*Λͬͨ6OJUZΞϓϦέʔγϣϯͷ ࣗಈૢ࡞Λ͍ͨ͜͠ͱ͕͋Δ ࠓճͷࣗಈૢ࡞ͷత࠷ݶͷಈ࡞֬ೝ 6
࠷ݶͷಈ࡞֬ೝͱͯ͠ɺ͍ͬͨ͡पลՕॴͰ Ϋϥογϡਐߦෆೳ͕ͳ͍͜ͱϓϩάϥϚଆͰ ֬ೝ͓͖͍ͯͨ͠ Ϋϥογϡਐߦෆೳޙʹ߇͑ΔݕূఔΛ ϒϩοΫͯ͠͠·͍εέδϡʔϧԆʹܨ͕Δ 7
࠷ݶͷಈ࡞֬ೝ ΛͲ͏Δ͔ 8
9 खಈΆͪΆ͍ͪͬͨ͡Օॴ͚ͩͳΒͰ͖Δɻ͔͠͠ ຊӨڹͦ͠͏ͳՕॴͯ֬͢ೝ͠ͳ͍ͱ͍͚ͳ͍ ͢ΔͱͲ͏ͳΔ͔ɻϓϩάϥϚʔ͕ϓϩάϥϛϯάͷ ࣌ؒΛऔΕͣʹखಈΆͪΆͪϚϯͱԽ͢ ͦΜͳ͜ͱ͋ͬͯͳΒͳ͍ͷͰϓϩάϥϚͳΒ खಈΆͪΆͪΛࣗಈԽͯ͠͠·͍·͠ΐ͏
10 ࣗಈԽʹͭͷํ͕͋Δɿ w γφϦΦϕʔεͷಈ࡞֬ೝ w γφϦΦʹґଘ͠ͳ͍ಈ࡞֬ೝ
γφϦΦϕʔεͷಈ࡞֬ೝ "ը໘͕ग़ͨΒ#Λԡͯ࣍͠ʹ$ը໘Ͱʙɺͱ ͍͏ͷ͕γφϦΦϕʔεͷಈ࡞֬ೝ γφϦΦϕʔεͷಈ࡞֬ೝյΕ͘͢อकίετ ͕ߴ͍ɻखಈΆͪΆͪϚϯ͔ΒγφϦΦϝϯςϚϯ ʹδϣϒνΣϯδͯ͠શવخ͘͠ͳ͍ 11
γφϦΦʹґଘ͠ͳ͍ಈ࡞֬ೝ ૢ࡞ՄೳͳཁૉΛదʹબΜͰΆͪΆͪਐΜͰ͍͘ ϓϩάϥϜ͕͋ΕɺγφϦΦʹґଘ͠ͳ͍࠷ݶͷ ಈ࡞֬ೝΛ͍อकίετͰ࣮ݱͰ͖Δ ͜ͷΑ͏ͳಈ࡞֬ೝΛϞϯΩʔςετͱ͍͏ 12
ϞϯΩʔςετΛ࣮ݱ͢ΔͨΊʹϓϩάϥϜ͔Βͷ ૢ࡞ΛϢʔβ͔Βͷૢ࡞ͷΑ͏ʹݟ͔͚ͤΔඞཁ͕͋Δ ࠓճͷରΞϓϦέʔγϣϯV(6*Λ͍ͬͯͨͷͰ V(6*Λத৺ʹઆ໌͍ͯ͘͠ 13 ΞϓϦ ΞϓϦ Ϣʔβ ϞϯΩʔ
ϓϩάϥϜ
V(6*ͷ͓͞Β͍ 14
15 V(6*ͰϢʔβೖྗΛॲཧ͢Δத৺*OQVU.PEVMF w *OQVU.PEVMFΛ͍ͬͯΔਓ ˠ4UBOEBMPOF*OQVU.PEVMF w *OQVU4ZTUFNΛ͍ͬͯΔਓ ˠ*OQVU4ZTUFN6**OQVU.PEVMF
ͲͪΒେࡶͳॲཧͷྲྀΕมΘΒͳ͍
16 ຖϑϨʔϜ*OQVU.PEVMFͷ1SPDFTTͰ࣍ͷΑ͏ʹॲཧ͞ΕΔɿ ϚεೖྗλονೖྗͳͲ͕͋Δ͔Λ֬ೝ͢Δ ೖྗ͕͋Εͦͷ࠲ඪ͔ͬͯSBZDBTU͢Δ ͦͷΦϒδΣΫτͷUSBOTGPSNQBSFOU͔ͬͯ ΠϕϯτϋϯυϥΛ୳͠ɺ͠ݟ͔ͭΕݺͼग़͠ɺ
ͦ͏Ͱͳ͚ΕԿ͠ͳ͍ ݫີʹSBZDBTUFSෳଘࡏ͠͏ΔɻSBZDBTUFS͕ෳ͋Δ߹ͦͷ͚ͩ IJUͨ͠ΦϒδΣΫτ͕ಘΒΕΔɻ͜ͷத͔Βը໘ͷ࠷લ໘ʹදࣔ͞Ε͍ͯΔ ΦϒδΣΫτ͕બΕΔΑ͏ʹͳ͍ͬͯΔɻ ൃ ද Ͱ ׂ Ѫ
17 parent.parent parent Raycaster
18 Raycaster EventTrigger or IEventHandler parent.parent parent
19 SBZ EventTrigger or IEventHandler parent.parent parent Raycaster
20 EventTrigger or IEventHandler parent.parent parent Raycaster &WFOU5SJHHFSPS*&WFOU)BOEMFS͕ͳ͍
21 EventTrigger or IEventHandler parent.parent parent Raycaster &WFOU5SJHHFSPS*&WFOU)BOEMFS͕ͳ͍
22 EventTrigger or IEventHandler parent.parent parent Raycaster &WFOU5SJHHFSPS*&WFOU)BOEMFS͕͋Δ
23 ݺͼग़͠ Raycaster EventTrigger or IEventHandler
V(6*ͷࣗಈૢ࡞ͷجຊ 24
25 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
26 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
27 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
28 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ *&WFOU)BOEMFSͳΒରԠ͢ΔJOUFSGBDFʢ*1PJOUFS%PXO)BOEMFSͳͲʣΛ
࣮͍ͯ͠Δ͔Ͳ͏͔֬ೝ͢Δɻ&WFOU5SJHHFSͳΒUSJHHFSTϓϩύςΟ ͔ΒFWFOU*%Ͱ֬ೝ͢Δ
29 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
30 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
31 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ ͦͷཁૉSBZDBTUΛඈ͠ɺࣗ·ͨͦͷUSBOTGPSNͷࢠଙʹ
SBZDBTU͕ͨΔ͜ͱΛ֬ೝ͢ΔɻSBZDBTU͕ͨΒͳ͚Εલ໘ʹ ো͕͋Γ࣮ࡍʹϢʔβ͔Βૢ࡞Ͱ͖ͳ͍
32 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ ࣗͱSBZDBTUʹͨͬͨཁૉͷதʹผͷΠϕϯτϋϯυϥ͕
ͳ͍͜ͱ֬ೝ͢ΔɻผͷΠϕϯτϋϯυϥ͕͋ΔͱͦΕʹ ΠϕϯτΛऔΒΕͯ͠·͏ͷͰϢʔβ͔Βૢ࡞Ͱ͖ͳ͍
33 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
34 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
35 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ &WFOU5SJHHFSͱ*&WFOU)BOEMFSͷͲͪΒͰૢ࡞छผʹ
ରԠ͢ΔJOUFSGBDFͷϝιουΛݺ0,ɻ Ҿ͕1PJOUFS&WFOU%BUBͰ"YJT&WFOU%BUBͰ OFX1PJOU&WFOU%BUB &WFOU4ZTUFNDVSSFOU ͷΑ͏ʹ࡞ΕΔɻ QPTJUJPOϓϩύςΟͳͲඞཁʹԠͯ͡ઃఆ͢Δ
36 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ
37 ૢ࡞͍ͨ͠ΦϒδΣΫτΛ'JOE0CKFDUͰೖख͢Δ ૢ࡞छผʹରԠ͍ͯ͠Δ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτ͕Ϣʔβ͔Βૢ࡞Մೳͳ͜ͱΛ֬ೝ͢Δ ΦϒδΣΫτͷૢ࡞Λ࣮ߦ ͜ΕΛ'JOE0CKFDUT#Z5ZQF.POP#FIBWJPVS
/POF Ͱ ಘͯٙࣅཚ͔Βநબͯͭ͠ΛબΜͰૢ࡞͢Δ͚ͩͰ ϞϯΩʔϓϩάϥϜΛ࣮Ͱ͖Δ
ࣗಈૢ࡞ͷ·ΓͲ͜Ζ 38
ࣗಈૢ࡞ͷ·ΓͲ͜Ζ w SBZDBTUΛඈ͢ΛͲ͜ʹ͢Δ͔ w *OQVU(FU5PVDIͳͲͰಠࣗఆ͍ͯ͠Δ6*Λ ͲͷΑ͏ʹࣗಈૢ࡞͢Δ͔ 39
ࣗಈૢ࡞ͷ·ΓͲ͜Ζ w SBZDBTUΛඈ͢ΛͲ͜ʹ͢Δ͔ w *OQVU(FU5PVDIͳͲͰಠࣗఆ͍ͯ͠Δ6*Λ ͲͷΑ͏ʹࣗಈૢ࡞͢Δ͔ 40
SBZDBTUΛͲ͜ඈ͔͢ USBOTGPSNQPTJUJPOඈ͢ͷ͕࠷؆୯ɻ͔͠͠ ͱ͖Ͳ͖SBZDBTUͷͨΒͳ͍Ґஔʹઃఆ͞Εͯ ͍Δ͜ͱ͕͋Δɻ(BNF0CKFDU͝ͱʹSBZDBTU͢Δ Λม͑ΒΕΔΑ͏ʹ͢Δ͔͠ͳ͍ɻϞϯΩʔૢ࡞ ϥΠϒϥϦUFTUIFMQFSNPOLFZͰΞϊςʔγϣϯͰ
੍ޚͰ͖ΔΑ͏ʹ͍ͯ͠Δ 41 IUUQTHJUIVCDPNOPXTQSJOUJOHUFTUIFMQFSNPOLFZ
w 8PSME1PTJUJPO"OOPUBUJPOˠϫʔϧυ࠲ඪͰͷࢦఆҐஔ w 8PSME0 ff TFU"OOPUBUJPOˠUSBOTGPSNQPTJUJPO͔Βͷ૬ରҐஔ w 4DSFFO1PTJUJPO"OOPUBUJPOˠεΫϦʔϯ࠲ඪͰͷࢦఆҐஔ w 4DSFFO0
ff TFU"OOPUBUJPOˠUSBOTGPSNQPTJUJPOͷ εΫϦʔϯ࠲ඪ͔Βͷ૬ରҐஔ 42 UFTUIFMQFSNPOLFZʹ͓͚ΔΞϊςʔγϣϯ༻ͷ $PNQPOFOUͱSBZDBTUΛඈ͢Ґஔ
DPO fi Hͷ4DSFFO1PTJUJPO4USBUFHZΛσϑΥϧτͷͷ͔Β ಠࣗͷ'VOD(BNF0CKFDU 7FDUPSʹࠩ͠ସ͑Ε0,ɻ σόοά͢ΔࡍʹSBZDBTUҐஔΛ(J[NPͰද͓ࣔͯ͘͠ͱศརɻ UFTUIFMQFSNPOLFZͷ*OUFSBDUJWF$PNQPOFOU)JOUΛTDFOF
Ճͯ͠FOBCMFʹ͢Δͱ(J[NPΛදࣔͰ͖Δ 43 UFTUIFMQFSNPOLFZͰΑΓߴʹҐஔΛࢦ͍ࣔͨ͠
(J[NPͰSBZDBTUҐஔΛදࣔ 44
ࣗಈૢ࡞ͷ·ΓͲ͜Ζ w SBZDBTUΛඈ͢ΛͲ͜ʹ͢Δ͔ w *OQVU(FU5PVDIͳͲͰಠࣗఆ͍ͯ͠Δ6*Λ ͲͷΑ͏ʹࣗಈૢ࡞͢Δ͔ 45
ࣗಈૢ࡞ͷ·ΓͲ͜Ζ w SBZDBTUΛඈ͢ΛͲ͜ʹ͢Δ͔ w *OQVU(FU5PVDIͳͲͰಠࣗఆ͍ͯ͠Δ6*Λ ͲͷΑ͏ʹࣗಈૢ࡞͢Δ͔ 46
ಠࣗఆ͍ͯ͠Δ6*ͷରॲ ΦʔτύΠϩοτ༗ޮ࣌ͷΈೖྗΛࠩ͠ࠐΊΔΑ͏ʹ ରΞϓϦέʔγϣϯΛվमͨ͠ ಠࣗఆ͍ͯ͠Δ6*͕දࣔ͞ΕΔಛఆͷঢ়ଶͰ͚ͩ ͜ͷΈ͔ΒϞϯΩʔૢ࡞Ͱ͖ΔΑ͏ʹ͍ͯ͠Δ 47
·ͱΊ 48 V(6*ϓϩάϥϜ͔Βࣗಈૢ࡞Ͱ͖Δ V(6*Λࣗಈૢ࡞ͯ͠ίετͰ ࠷ݶͷಈ࡞֬ೝΛͰ͖ΔΑ͏ʹ͠Α͏