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
360
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
22
4.1k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
93
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
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
The 5 Obstacles to High-Performing Teams
mdalmijn
0
280
表現を育てる
kiyou77
1
140
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
1.6k
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
100
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
110
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
320
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
530
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
260
Fintech SREの挑戦 PCI DSS対応をスマートにこなすインフラ戦略/Fintech SRE’s Challenge: Smart Infrastructure Strategies for PCI DSS Compliance
maaaato
0
470
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
470
The Future of SEO: The Impact of AI on Search
badams
0
120
2.5Dモデルのすべて
yu4u
2
710
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Agile that works and the tools we love
rasmusluckow
328
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Scaling GitHub
holman
459
140k
Building Your Own Lightsaber
phodgson
104
6.2k
How to train your dragon (web standard)
notwaldorf
90
5.8k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
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*Λࣗಈૢ࡞ͯ͠ίετͰ ࠷ݶͷಈ࡞֬ೝΛͰ͖ΔΑ͏ʹ͠Α͏