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
490
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
August 04, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
110
成果発表資料.pdf
akatsukinewgrad
0
1.9k
正規表現とReDoS.pdf
akatsukinewgrad
0
480
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
510
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
460
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
590
7分でわかるアカツキゲームス
akatsukinewgrad
0
500
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
770
齋田.pdf
akatsukinewgrad
0
880
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Into the Great Unknown - MozCon
thekraken
34
1.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Agile that works and the tools we love
rasmusluckow
328
21k
Designing for Performance
lara
604
68k
A designer walks into a library…
pauljervisheath
205
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
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গਓνʔϜͰήʔϜɺΞϓϦͳͲΛ։ൃͯ͠ϦϦʔε ͳͲͳͲʜ ˠͪΐͬͱͨ͠ҰาͰʮΓ͍ͨ͜ͱʯʮಌΕͷਓʯ͕ݟ͔ͭΔ͔ ˠίϩφՒͰϦϞʔτͷΠϕϯτʹੵۃతʹࢀՃ