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
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
Search
akatsukinewgrad
August 04, 2022
0
530
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
August 04, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
120
成果発表資料.pdf
akatsukinewgrad
0
2k
正規表現とReDoS.pdf
akatsukinewgrad
0
520
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
560
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
490
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
650
7分でわかるアカツキゲームス
akatsukinewgrad
0
530
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
830
齋田.pdf
akatsukinewgrad
0
930
Featured
See All Featured
Designing for humans not robots
tammielis
252
25k
Scaling GitHub
holman
459
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Music & Morning Musume
bryan
47
6.5k
Writing Fast Ruby
sferik
628
61k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
550
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Transcript
広⼤なフィールドを 気持ちよく駆け抜けるための技術 Akatsuki Games / Client Engineer ⽩狐 (WhiteFox)
Self Introduction )/നޅ ͼΌͬ͜ ଔΫϥΠΞϯτΤϯδχΞ झຯ λΠϐϯάʢΨνɺಛʹຊޠϩʔϚࣈʣ
ฏۉLFZTɺτοϓεϐʔυLFZT େձͰ༏উ͠จ෦Պֶେਉडͨ͜͠ͱ͋Δ Իήʔ ΞʔέʔυԻήʔ͕͖ʢࣗڥ͋Γʣ ͓͍͍͠৯Λ୳͢ ͝൧͞ΜɺεΠʔπళΛ։͢Δͷ͕͖ ˛ຖมΘΔࣗ࡞ΞΠίϯ ΠϥετɺΩϟϥσβ झຯͰͬͯΔ ˛ݚमͰΧδϡΞϧͳ %ήʔϜ੍࡞ʹॳઓ
Φʔϓϯϫʔϧυʂ ΦʔϓϯϫʔϧυྲྀߦΓͰ͢ΑͶʂ Φʔϓϯϫʔϧυͷఆׂٛͱᐆດ ։͔ΕͨϚοϓɺγʔϜϨεͳϚοϓ͙Β͍ͷҙຯͰଊ͍͑ͯͩ͘͞ ࠷ۙϞόΠϧͷεϖοΫͰ ϦονͳάϥϑΟοΫͰ༡Δ
ΞΧπΩήʔϜεͷࠓͷ৽ଔݚमͰʜʜ 514 5IJSE1FSTPO4IPPUJOH Λ ʙਓνʔϜͰिؒఔͰ࡞ ˠ࣮ࡍʹઌഐΤϯδχΞʹ༡ΜͰ͍͍ͨͩͨ ࠓճݚम࣌ʹ࣮ࡍʹࢼͨ͠ άϥϑΟοΫෛՙܰݮͷํ๏Λ͍͔ͭ͘հ͠·͢ʂ ˛514࡞ͷ࣮ࡍͷը໘ɻ6*ʹ6OJUZष͕ͬͨ͞ ɹͪΌΜͱ༡ͨ
४උ ϑΟʔϧυͷ࡞ 6OJUZͷ5FSSBJOΛ͏ ى෬ͷ͋ΔܗʹΛͨ͘͞Μੜ͢ l4UBOEBSE"TTFUTzʹೖ͍ͬͯͨ#SPBEMFBG ϓϨΠϠʔ͕ૢ࡞Ͱ͖ΔΩϟϥΫλʔΛ༻ҙ
l4UBSUFS"TTFUT5IJSE1FSTPO$IBSBDUFS$POUSPMMFSz ͱ͍͏'3&&ͷΞηοτΛར༻ ຊεϥΠυͰ͜ͷ͕΄΅ͳ͍ঢ়ଶΛ ʮॳظঢ়ଶʯͱݺͿ͜ͱʹ ϑϥελϜΧϦϯάͷΈద༻͞Ε͍ͯ·͢ʢઆ໌ޙड़ʣ
ॳظঢ়ଶͰεϚϗͰςετϓϨΠ ݕূ "OESPJE ͱ നޅͷJ1IPOF9ͰςετϓϨΠ ʢ"OESPJEͷεϖοΫׂͱऑ͍ʣ 1SP fi
MFSͰύϑΥʔϚϯεΛܭଌ "OESPJEGQTલޙ J1IPOF9GQTʙGQTఔ ؾ࣋ͪΑ͘ۦ͚ൈ͚ΔͲ͜ΖͰͳ͍
ಈ࡞͕ॏ͍ཧ༝ ϙϦΰϯͷඳը͕ଟ͗͢Δʂ ˞ϙϦΰϯ͜͜Ͱɺ%ΦϒδΣΫτΛߏ͢Δʮ໘ʯ ʢྫཱํମਖ਼ํܗͷϙϦΰϯ͕ͭʣ ࠓճͷ߹ɺओʹʮʯͷϙϦΰϯ͕ଟ͍ 7FSUT
ը໘ʹඳը͞ΕΔΦϒδΣΫτͷͷ߹ܭ ࠓճສఔ 5SJT Ͱߏ͞Εͨࡾ֯ܗͷϙϦΰϯͷ߹ܭ ࠓճສఔ 1$ͩͱ͍͚Δ͕ɺϞόΠϧͰݫ͍͠
ղܾࡦ ɾ-0% ɾΧϦϯά ࠓճ6OJUZଆͰઃఆͰ͖Δͪ͜ΒͷೋͭΛհ͠·͢ʂ ˞%ϞσϧΛ͍͡ΔΞϓϩʔνɺͪΖΜ༗ޮͰ͢ ɹݚमͰ#MFOEFSͰϞσϧΛ͍ͬͯ͡ϙϦΰϯܰݮͱ͔Γ·͕ͨ͠ɺ ɹΤϯδχΞͷٕज़ͱ͍͏ΑΓΞʔςΟετ͞ΜدΓͷͳͷͰׂѪ͠·͢
LOD (Level of Detail)
-0% -FWFMPG%FUBJM Χϝϥ͔ΒͷڑʹΑͬͯϞσϧͦͷͷΛมߋ Χϝϥ͔Βԕ͍ΦϒδΣΫτ΄Ͳૈ͍ΦϒδΣΫτΛදࣔ ࣗಈతʹૈ͘දࣔͯ͘͠ΕΔΘ͚Ͱͳࣗ͘લͰϞσϧΛ༻ҙ͢Δ
-0% -FWFMPG%FUBJM 4UBOEBSE"TTFUTʹ͋ͬͨ#SPBEMFBGͷ σϑΥϧτઃఆͷ-0%Ϟσϧͱ ύϥϝʔλΛར༻ Ϟσϧʢ࣭ߴɺதɺɺۃʣ ॳظঢ়ଶ͔Β-0%Λద༻ͨ͠ͱ͜Ζ
ϙϦΰϯ͕ສˠສʙສ·Ͱ ݮʂ "OESPJEGQTˠGQTʙGQTલޙ J1IPOF9GQTୡʂʂ
-0%ద༻લޙͷϓϨʔը໘ #FGPSF "GUFS ΛڽΒͤ"GUFSͷํૈ͍ඳ͕ࣸ͋ΔͱΘ͔Δͷͷ ϓϨʔʹເதͩͱؾʹͳΒͳͦ͞͏
ΧϦϯά(Culling )
ϑϥελϜΧϦϯά 6OJUZͷΧϝϥʢϑϥελϜ<ਲ਼ମ>ΧϦϯάʣ Χϝϥͷਖ਼໘ํʹਲ਼ମ͕ݱΕΔ ͜ͷਲ਼ମͷ෦ͷΦϒδΣΫτ͚ͩඳը͠ɺ ͦͷ֎෦ʹ͋ΔΦϒδΣΫτશ෦ඳըΛ͠ͳ͍
ਲ਼ମͷܗઃఆͰมߋՄೳ ϑϥελϜΧϦϯά 6OJUZଆͰσϑΥϧτͰͬͯ͘ΕΔʂ
ΦΫϧʔδϣϯΧϦϯά ΦΫϧʔδϣϯΧϦϯά Χϝϥʢਲ਼ମ෦ʣͷΦϒδΣΫτͷ͏ͪ खલͷΦϒδΣΫτʹશʹӅΕ͍ͯΔͷ ඳը͠ͳ͍
ద༻ͯ͠ϓϨΠϠʔ͔ΒݟͨʹมԽͳ͍
ΦΫϧʔδϣϯΧϦϯάద༻ޙ ॳظঢ়ଶʢϑϥελϜΧϦϯάͷΈʣ͔Β ΦΫϧʔδϣϯΧϦϯάΛద༻ -0%ద༻͠ͳ͍ ΦΫϧʔδϣϯσʔλͱݺΕΔσʔλΛੜ͢Δࡍͷ ύϥϝʔλσϑΥϧτ
ϙϦΰϯ ສˠສʙສఔʹ "OESPJEGQTˠGQTʙGQT J1IPOF9GQTʙGQTʹ ΧϝϥͷํʹΑͬͯඳը͞ΕΔΦϒδΣΫτͷ͕ มΘΔͨΊ͔ͳΓΒ͖ͭ͋Δ (16ෛՙݮΔ͕ɺःṭఆܭࢉͰ$16ෛՙ૿͑Δ
ҙ ύϑΥʔϚϯε͔֬ʹେࣄ͕ͩΞʔςΟετ͞Μͱͷ࿈ܞඞཁ ˠΤϯδχΞ͕উखʹΦϒδΣΫτͷݟͨͷ࣭Λམͱ͍͍ͯ͠ͷͰͳ͍ ˠݟͨͱύϑΥʔϚϯεΛཱ྆Ͱ͖Δ͍͍Ԙകͷͱ͜ΖΛ୳͢
·ͱΊ ৽ଔݚमͰ514Λ࡞ͬͨ ΤϯδχΞઢͰΦʔϓϯϫʔϧυ࣮࣌ʹ͑Δٕज़Λհ ࣮ࡍʹϑΟʔϧυΛ࡞͠ɺඳըͷෛՙ͕ܰݮ͞Εͨ͜ͱΛ֬ೝͨ͠
͓·͚ɿΤϯδχΞͷੈքΦʔϓϯϫʔϧυ ֶशϧʔτ͕ଟ༷ ɾࠃՈࢼݧͳͲͷΑ͏ʹඞͣ௨Βͳ͚Ε͍͚ͳ͍ϙΠϯτ͋·Γͳ͍ ɾܾΊΒΕͨγφϦΦ͕ͳ͍͔ΒΈΜͳ͍࣋ͬͯΔٕज़༷ʑ ࣗΒΞΫγϣϯΛى͜͢΄Ͳੈք͕͕͍ͬͯ͘ ɾಡॻͰٕࣝज़Λशಘ
ɾେֶͷߨٛɾ࣮शɾ5"ɾ0" ɾίϯϐϡʔλؔͷαʔΫϧɺίϛϡχςΟ׆ಈʢϦϞʔτͰ0,ʣ ɾڝϓϩ ɾ։ൃίϯϖʢϦϞʔτͰ0,ʣ ɾػցֶशϋοΧιϯ ɾਓPSগਓνʔϜͰήʔϜɺΞϓϦͳͲΛ։ൃͯ͠ϦϦʔε ͳͲͳͲʜ ˠͪΐͬͱͨ͠ҰาͰʮΓ͍ͨ͜ͱʯʮಌΕͷਓʯ͕ݟ͔ͭΔ͔ ˠίϩφՒͰϦϞʔτͷΠϕϯτʹੵۃతʹࢀՃ