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
基礎から学ぶ!UE4でC++を交えたAI開発、興味ないですか?
Search
Kutani Mio
March 23, 2019
4
2k
基礎から学ぶ!UE4でC++を交えたAI開発、興味ないですか?
#TokyoEdge2019
https://edge.connpass.com/event/122672/
上記イベントで登壇したスライドです。
Kutani Mio
March 23, 2019
Tweet
Share
More Decks by Kutani Mio
See All by Kutani Mio
Understanding vtable And Unity’s Memory Layout
rossam
0
180
Unity+C#で学ぶ! メモリレイアウトとvtableのすゝめ 〜動的ポリモーフィズムを実現する仕組み〜
rossam
1
840
GameAIとは.pdf
rossam
0
380
Jenkins自動化入門〜事例を添えて〜
rossam
1
710
ゲームグラフィックスなんもわからんから脱却しよう
rossam
11
6.6k
C#8.0という未来を垣間見る話
rossam
0
1.4k
視て、わかる!C#7.1までの言語機能
rossam
4
4.3k
レポート「2017 Breakthroughs In Spatial Audio Technologies 」
rossam
0
430
Featured
See All Featured
Happy Clients
brianwarren
98
6.7k
Site-Speed That Sticks
csswizardry
0
33
Gamification - CAS2011
davidbonilla
80
5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Designing the Hi-DPI Web
ddemaree
280
34k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Why Our Code Smells
bkeepers
PRO
334
57k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Transcript
جૅ͔ΒֶͿʂ 6&Ͱ$ Λަ͑ͨ"*։ൃɺ ڵຯͳ͍Ͱ͔͢ʁ .JP,VUBOJ !@NJP@ 73&OHJOFFS .BS
ࣗݾհ
օ͞Μ"*ͷ։ൃ ͲͷΑ͏ʹߦͳ͍ͬͯ·͔͢ʁ
ήʔϜΩϟϥΫλʔ"*ͱʁ ਓؒͷΑ͏ͳੑΛ͔࣋ͭͷΑ͏ʹߦಈ͢Δ"* ʲඞཁཁૉʳ ɾೳͷϦΞϦςΟ ɾײΛදݱ͢ΔͨΊͷԋٕ ʲΑΓϦΞϦςΟΛग़ͨ͢Ίͷཁૉʳ ɾࣹ ɾ܈Ε੍ޚ
ೳͷϦΞϦςΟʁ ɹɹɹɹɹɹɹɹྫ͑ʜʜ w ఢ͕ۙ͘ʹ͍Δ࣌ؒ߹͍ΛऔͬͨΓ w ͢ఢͷ༏ઌॱҐΛܾΊͨΓ w దͳλΠϛϯάͰΞΠςϜٕΛ༻ͨ͠Γ ɹɹɹɹϢʔβʔ͕ظ͢ΔߦಈΛ ɹɹɹɹ"*͕ੵΈॏͶΔඞཁ͕͋Δɻ
ײΛදݱ͢ΔͨΊͷԋٕʁ ɹɹɹɹɹɹɹɹྫ͑ʜʜ w ࢹઢͰڥΛೝࣝ͠ ͍ͯΔΑ͏ʹݟͤͨΓ w ຯํ͕ࢮ࣌ʹ൵͠ΜͰݟͤͨΓ w ϓϨΠϠʔͱͷରΛߦΘͤͨΓ ɹɹɹ"*ͷϘΩϟϒϥϦʔΛॆ࣮ͤ͞ɺ
ɹײදݱͷͬͨߦಈΛ࣮ݱͤ͞Δ͜ͱͰ ɹɹήʔϜࣗମͷΓ্͕Γ͕มԽ͢Δɻ
ࣹʁ ɹɹɹɹɹɹɹɹྫ͑ʜʜ w ఢ͔Βͷ߈ܸΛᄉᅀʹආ͚ͨΓ w )1͕Ұఆͷׂ߹ҎԼʹͳͬͨΒճ෮ͨ͠Γ ɹɹɹਓؒͷΑ͏ͳࣹߦಈΛߦΘͤͯ ɹɹɹ"*ʹੑ͕͋ΔΑ͏ʹݟͤΔɻ
܈Ε੍ޚʁ ɹɹɹɹɹɹɹɹྫ͑ʜʜ w /1$ಉ࢜ͷিಥΛආ͚ͨΓ w ΦϒδΣΫτΛճආ͠ ͯา͍ͨΓ ɹɹ͓ޓ͍ͷҐஔ͔ؔΒࣗͷҐஔΛ ɹɹɹܾఆ͚ͮͯҠಈ͢Δ͜ͱͰ ɹʮ૬खΛೝࣝ͠
͍ͯΔײ͡ʯΛԋग़͢Δɻ
͡Ό͋"*ͷҙࢥܾఆ ͲͷΑ͏ͳΞϧΰϦζϜΛ ͍͍͑ͷ͔ʜʜʁ
"*ͷҙࢥܾఆΞϧΰϦζϜ w ϧʔϧϕʔε w εςʔτϕʔε w ϏϔΠϏΞϕʔε w λεΫϕʔε w
ΰʔϧϕʔε w ϢʔςϦςΟϕʔε w γϛϡϨʔγϣϯϕʔε
εςʔτϕʔε"* ݱࡏͷঢ়ଶߦಈΛݩʹ͠ ͯɺ ઃఆ͞Εͯ͋ΔભҠ݅Λຬͨ͢͜ͱͰ ࣍ͷঢ়ଶPSߦಈʹҠΔɻ ੍ޚͷΓସ͑ߴ͕ͩɺ֦ுੑ͍͠ɻ $ ଆͰ&OVNΛ༻͠ ͯ εςʔτ෦Λ࣮
ϏϔΠϏΞϕʔε"* ΩϟϥΫλʔ͕औΕΔߦಈͷϨϕϧͰ ΩϟϥΫλʔͷ࣍ͷߦಈΛߟ͑Δࣄɻ ݱࡏήʔϜ"*Ͱ࠷͘ΘΕ͍ͯΔɻ ϏϔΠϏΞπϦʔ͜ͷҰྫɻ 6&ͰϏϔΠϏΞπϦʔͱ͍͏ػೳ͕ ༻ҙ͞Ε͍ͯΔʢޙड़ʣɻ
6&Ͱ"*Λ࣮͢ΔͨΊͷ ศརػೳ
6&Ͱͷ"*։ൃ w "*$POUSPMMFS w #FIBWJPS5SFF w ϒϥοΫϘʔυ w φϏήʔγϣϯϝογϡ w
&24 w "*1FSDFQUJPO
"*$POUSPMMFS "*ͷίΞͱͳΔػೳͰɺ "*ʹؔ͢Δࢦࣔܥ౷શൠΛ୲͢Δɻ ʮ$IBSBDUFSʯΫϥεʹ࣋ͨͤΔ͜ͱͰɺ ΩϟϥΫλʔͷʢ"*ʣͱ͠ ͯػೳ͢Δɻ ޙड़͢ΔϏϔΠϏΞπϦʔͷ ࣮ߦ։໋࢝ྩɺ"*$POUSPMMFS͔Βߦ͏ɻ
#FIBWJPS5SFF ͦͷ໊ͷ௨ΓɺπϦʔߏͱͳͬͯΔɻ ߦಈࣗମͷ࣮ओʹࢬͷʹ͋Δϊʔυɻ ͦΕҎ֎ͷɺʹ͋Δϊʔυʹܨ͕͍ͬͯΔ தؒϊʔυɺجຊతʹϊʔυͷ࣮ߦॱ൪ ΛܾΊΔׂΛ୲͍ͬͯΔɻ
ϒϥοΫϘʔυ "*͕ࣗऩूͨ͠Γੳͨ͠ใ܈Λɺ ϒϥοΫϘʔυʹهԱ͓ͤͯ͘͜͞ͱ͕Ͱ͖Δɻ ·ͨɺهԱͤͨ͞ใ ؔ࿈͢ΔϏϔΠϏΞπϦʔશମͰ ڞ༗͢Δ͜ͱ͕Ͱ͖Δɻ
φϏήʔγϣϯϝογϡ "*͕ʮา͚ΔॴʯΛࣔͨ͠σʔλΛࢦ͢ɻ ͜Εύεݕࡧͱ͍͏ॲཧಉ࣌ʹߦ͍ɺ "*͕తͱ͢Δॴ·Ͱͷ ࠷ڑΛऔΔ͜ͱ͕Ͱ͖·͢ɻ
&24 &OWJSPONFOU2VFSZ4ZTUFN &24 ɺ ʮϓϨΠϠʔͷ͕ۙ͘࠷దʯʮఢͷ͍ͯΔํ ͱٯํ͕࠷దʯͱ͍ͬͨෳͷ݅ࣜΛ ༩͑ͯɺ࠷είΞ͕ߴ͍"DUPSҐஔใ 7FDUPS ΛٻΊͯ͘ΕΔػೳɻ
"*1FSDFQUJPO "*ʹࢹ֮ௌ֮ɺ௧֮ͷηϯαʔ܈Λ͚Δɻ ಛʹࢹ֮Ͱɺʮࢹ֎ʹλʔήοτ͕ग़ͯɺ ݟࣦͬͨʯʮࢹઢ͕Կ͔ͷΦϒδΣΫτʹΑͬ ͯ࠹͕Εͨʯͱ͍͏ʮݟࣦ͏ʯΠϕϯτ͕ औಘͰ͖ͨΓ͢Δɻ
#FIBWJPS5SFFΛ ͬͱৄ͘͠ʂ
λεΫ 6&ͰπϦʔͷ ༿෦ Ͱ͋Γɺ ߦಈΛ࢘Δϊʔυͷ͜ͱΛ ʮλεΫ 5BTL ʯͱݺͿɻ λεΫͷԼʹଞͷϊʔυྨଓෆՄɻ "*͕࣮ߦ͢ΔॲཧΛࡉԽ͠ɺλεΫͱ͠
ͯఆٛ͢Δ͜ͱͰɺ࠶ར༻ੑ͕ߴ͘ͳΔɻ
αʔϏε Ξλον͞Ε͍ͯΔίϯϙδοτϊʔυԼͷɺ ࢠϊʔυ͕࣮ߦ͞Ε͍ͯΔؒɺࢦఆͨ͠ඵຖ ʹαʔϏεϊʔυͷॲཧΛ࣮ߦ͢Δ͜ͱ͕ Ͱ͖Δʢྫ͑ඵ͝ͱʣɻ αʔϏεϊʔυओʹɺϒϥοΫϘʔυͷΩʔ ͕࣋ͭΛॻ͖͑Δ࣌ͳͲʹ༻͞ΕΔɻ
σίϨʔλʔ ݅ࣜͱ͠ ͯ༻Ͱ͖Δϊʔυɻ ϊʔυ෦Ͱهड़͠ ͍ͯΔॲཧ͕ฦ͢ USVFGBMTFఆʹΑͬͯɺ ࢠϊʔυΛ࣮ߦ͢Δ͔Ͳ͏͔Λஅ͢Δɻ αʔϏεͱಉ͡Α͏ʹίϯϙδοτϊʔυ λεΫϊʔυʹෳΞλον͢Δ͜ͱ͕Մೳɻ
ίϯϙδοτ λεΫͷ࣮ߦॱ൪ΛܾΊΔதؒϊʔυɻ छྨͱ͠ ͯɺʮ4FRVFODFʯɺ ʮ4FMFDUPSʯɺʮ4JNQMF1BSBMMFMʯ ͕ଘࡏ͠ ͍ͯΔɻ IUUQIJTUPSJBDPKQ 'Q%
ϧʔτ ͳ͓ɺશϊʔυͷҰ൪্ʹ͋Δࠜɺ ʮϧʔτ 3005 ʯͱݺΕ͍ͯΔɻ ϧʔτϏϔΠϏΞπϦʔʹඞͣҰ͚ͭͩ ଘࡏ͠ ͓ͯΓɺΛ࣋ͨͳ͍ɻ جຊతʹࠨ͔Βӈͱॲཧ͕ྲྀΕ͍͖ͯɺ ࠷ޙͷॲཧͷ࣌Ͱ࠶ͼ3005ͱΔɻ
ΤσΟλଆ͚ͩͰΜͰΈΔ
ʲ6&ʳຯํ"*ͷ࡞Γํʂ"* ͱԿ͔Λֶͼͳ͕Βɺϒϧʔ ϓϦϯτͰຯํΩϟϥΫλʔΛ ࣮͠Α͏ 2JJUBهࣄϦϯΫ
͜ΕΒΛ$ Ͱ ΈཱͯΔϝϦοτͬͯ ԿͩΖ͏ʁ
$ Λ༻͠ ͯͷ"*։ൃ w ύϑΥʔϚϯεͷ্ɻ w 6&༻ʹΧελϚΠζ͞Εͨ$ ͕͑Δɻ w ΤϯδϯΫϥεΛܧঝ͠ɺ
$VTUPN൛Λ༰қʹ࡞Մೳɻ w #1͔Β$ Ҡߦ͢Δ߹ʹίετ͕ͱͯ ͔͔ΔɻͳΒɺ࠷ॳ͔Β$ Ͱॻ͜͏ɻ w σόοά͘͢͠ͳΔɻ w ͦ͠ ͯ$ ͕ SZ
ࠓճ$ Ͱ #5ͷϊʔυ܈ͷ $VTUPNΫϥεΛ࡞ͨ͠߹ Ͳ͏ͳΔ͔Λ؆୯ʹ֬ೝ͠·͢ ɻ
·ͣϓϩδΣΫτ࡞ ͜͜Ͱ$ λϒΛબΜͰ 5IJSE1FSTPOΛબ
৽نՃϘλϯΛ ԡԼ͠ ͯʜʜ
$VTUPNΫϥε࡞ ࣗ༻ͷ $IBSBDUFSΫϥε ࡞ͷّ
$VTUPNΫϥε࡞ ͜ͷΫϥεΛܧঝ͠ ͯ ΩϟϥΫλʔ#1Λ ࡞͠ ͓ͯ͘ͱ ΧελϚΠζ͍͢͠ʂ
ಉखॱͰ "*$POUPSMMFS $VTUPNΫϥεΛ࡞Γ·͢ɻ
৽نՃϘλϯ͔Β"*ϏϔΠϏΞπϦʔΛ ͋Β͔͡ΊՃ͠ ͯ༻ҙʂ
6#FIBWJPS5SFFܕͷมΛ༻ҙ͠ ͓͍ͯͯ ηοτ͠ ͓͚ͯ3VO#FIBWJPS5SFF Ͱ ࣮ߦՄೳ
ͳΔ΄Ͳɺ #5࣮ߦͰ͖ͦ͏ͩʜʜɻ
Ͱɺී௨ͷλεΫɺ σίϨʔλʔɺαʔϏε Ͳ͏ͬͯ࡞Ε͍͍Μʜʜʁ
$VTUPNͷ5BTLΛ ࡞͢Δ߹ͷΫϥε #MVFQSJOU#BTFΛ બ͠ ͯ͠·Θͳ͍Α͏ ҙʂ
ͳΔ΄Ͳɺ Ϋϥεͷ࡞ΓํΘ͔ͬͨɻ
͑ʁ ࣮ࡍͲ͏࡞͍͚͍͍ͬͯͷʁ
6&ͰطଘͰ .PWFܥͷλεΫ αʔϏεɺσίϨʔλΫϥε͕ ༻ҙ͞Ε͍ͯΔʂ
6&ͷϦϑΝϨϯεΛ ಡΈͳ͕ΒίʔυΛಡΜͰΈΔ
None
None
ެࣜͷαϯϓϧ͕ ॆ࣮͠ ͍ͯΔʜʜʂ
ΩϟϥΫλʔ"*
$ Ͱ ߏங͠ ͯΈ·ͤΜ͔ʁ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ