$30 off During Our Annual Pro Sale. View Details »
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.8k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.3k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
550
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
650
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.7k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
190
HOME VR
orgachem
PRO
1
830
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
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
610
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
230
学習データって増やせばいいんですか?
ftakahashi
2
460
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
750
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
200
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
210
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
180
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
文字列の並び順 / Unicode Collation
tmtms
3
600
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
300
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
Featured
See All Featured
Docker and Python
trallard
47
3.7k
Producing Creativity
orderedlist
PRO
348
40k
Embracing the Ebb and Flow
colly
88
4.9k
Context Engineering - Making Every Token Count
addyosmani
9
520
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Side Projects
sachag
455
43k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Six Lessons from altMBA
skipperchong
29
4.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*Λࣗಈૢ࡞ͯ͠ίετͰ ࠷ݶͷಈ࡞֬ೝΛͰ͖ΔΑ͏ʹ͠Α͏