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.5k
uGUI の自動操作の考え方と操作方法
uGUI の仕組みのおさらいをしつつ、自動操作へのおすすめの取り組み方針と自動操作の方法を紹介します。
https://meetup.unity3d.jp/jp/events/1411
Kuniwak
PRO
December 01, 2023
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
DeNA での思い出 / Memories at DeNA
orgachem
PRO
6
2.5k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.2k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
460
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
620
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.5k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
180
HOME VR
orgachem
PRO
1
820
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.5k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1.2k
Other Decks in Technology
See All in Technology
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
120
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.8k
Developer Advocate / Community Managerなるには?
tsho
0
120
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.2k
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
710
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
79k
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
160
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
190
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
6
1.2k
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
Azure Well-Architected Framework入門
tomokusaba
1
350
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
0
110
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Producing Creativity
orderedlist
PRO
347
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Cult of Friendly URLs
andyhume
79
6.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Faster Mobile Websites
deanohume
310
31k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
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*Λࣗಈૢ࡞ͯ͠ίετͰ ࠷ݶͷಈ࡞֬ೝΛͰ͖ΔΑ͏ʹ͠Α͏