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
520
広大なフィールドを気持ちよく駆け抜けるための技術.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
1.9k
正規表現とReDoS.pdf
akatsukinewgrad
0
510
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
540
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
480
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
640
7分でわかるアカツキゲームス
akatsukinewgrad
0
520
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
820
齋田.pdf
akatsukinewgrad
0
920
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Embracing the Ebb and Flow
colly
85
4.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Rails Girls Zürich Keynote
gr2m
94
13k
Making Projects Easy
brettharned
116
6.1k
Producing Creativity
orderedlist
PRO
344
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Writing Fast Ruby
sferik
628
61k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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গਓνʔϜͰήʔϜɺΞϓϦͳͲΛ։ൃͯ͠ϦϦʔε ͳͲͳͲʜ ˠͪΐͬͱͨ͠ҰาͰʮΓ͍ͨ͜ͱʯʮಌΕͷਓʯ͕ݟ͔ͭΔ͔ ˠίϩφՒͰϦϞʔτͷΠϕϯτʹੵۃతʹࢀՃ