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
雑に覚えるゲームエンジンとその足回り(VRもちょっとあるよ)
Search
0cha
June 20, 2017
0
300
雑に覚えるゲームエンジンとその足回り(VRもちょっとあるよ)
IWM12の発表資料です。
0cha
June 20, 2017
Tweet
Share
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building Applications with DynamoDB
mza
95
6.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Visualization
eitanlees
146
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Producing Creativity
orderedlist
PRO
346
40k
Building an army of robots
kneath
306
45k
Scaling GitHub
holman
460
140k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Transcript
ࡶʹ֮͑ΔήʔϜΤϯδϯ ͱͦͷճΓɻ VRͪΐͬͱ͋ΔΑɻ མ߹ ܆ ( גࣜձࣾγεςϜΤϜ )
ࣗݾհ མ߹ ܆ , ͓ͪΌ , 0cha αʔόͱ͔PMͱ͔ίϯηϯτͷઢͱ͔ ςϨϏήʔϜωΠςΟϒ(ॳϑΝϛίϯͷ1ޙഐ) ৽࡞ήʔϜͷͨΊʹ༗څऔಘ͢ΔఔʹήʔϜ͖
࠷ۙήʔϜ͕ϦΞϧա͗ͯߴॴڪාΛͰମݧ͠· ͨ͠ɾɾɾ
ා͗ͩ͢Ζɾɾɾɾ
3DήʔϜͷਐԽ͕͍͢͝
͓ͬ͞ΜौΊͷ͓ͬ͞Μʹ METAL GEAR SOLID (1998) METAL GEAR SOLID 5 (2015)
ϗετͬΆ͍ͷϗετʹ Final Fantasy VII (1997) Final Fantasy XV (2016) \
͏͐ʔʔʔ͍͆͆͆/
Կ͕ੌ͍ͬͯ ͋͘·ͰʮήʔϜʯͳͷͰɺϦΞϧλΠϜͰಈ͔ͤΔ ਓؒͱ͔ಈͱ͔͘ɺͱ͔ंͱ͔ͺͬͱݟ࣮ࣸ PS4 / Xbox Oneͱ͔த·Μ·PCʹͳΓ·ͨ͠ɻ AMDͷCPUੵΜͰϝϞϦ8GBͬͯGPUͬͯΔɻ PS4(FreeBSD 9.0)
/ XBox One(Windows)
ࠓͷ༰ 3DάϥϑΟοΫAPI GPU VR(͕࣌ؒ͋Ε)
3DάϥϑΟοΫAPIͬͯʁ 3DϓϩάϥϛϯάͬͯΈ͍ͨʂͱࢥͬͨॳ৺ऀͷ લʹग़ͯདྷ͖ͯࡴ͠ʹ͔͔ͬͯ͘Δͭ 3Dͷඳըେྔͷܭࢉखଓ͖ɺCPUGPUͷ࿈ܞ ͳͲ͕ඞਢͳͷͰɺͦΕΒΛ্ख͍͜ͱͯ͘͠ΕΔ APIͷਐԽ͕GPUͷਐԽɺͦͷٯ͔͠Γͳجװٕज़ UnityଞͷήʔϜΤϯδϯ͜ͷٕज़ͷ্ͰΓཱͬ ͯΔ
ཚཱɻ (ࢄ͍ͬͯͬͨͷͷ΄Ͳɻɻɻɻ) Direct3D: Windows༻,ۀքඪ४ ٙࣅDirect3D: Direct3DͬΆ͘ৼΔ͏ίϯγϡʔϚ༻ API OpenGL: Windows/macOS/Linux/Android/iOS Metal:
macOS/iOS Vulkan: OpenGLͱຆͲಉ͡(macOS/iOSɾɾɾ)
͜͏ͳΔ͔ͳͱ Direct3D: Direct3D12͕ొɺશ͘৽͍͠ʹɻ૬ม ΘΒͣԦऀͷ෩֨ɻ Metal: զ͕ಓΛߦ͘(Metal2ͰVRͱ͔དྷΔΒ͍͠Α) Vulkan: ݹ͍࣮ͷOpenGLΛࣺͯͯࠓ෩ͷ࣮ʹɻ
Direct3D12ͱVulkanͱMetal Ϩϕϧ(ϨΠϠʔతʹ) ϚϧνίΞCPUΛޮΑ͘༻Ͱ͖Δ ඳըʹؔ͢ΔCPUෛՙΛԼ͛ͯଞͷλεΫׂΓͯ υϥΠόͰରԠ͍ͯͨ͠ϝϞϦཧΛϢʔβʔͰཧ Ͱ͖Δ(͑ɾɾɾʁ) ͦͷଞ͍Ζ͍Ζ(Draw call͕Ͳ͏ͱ͔֤ࣗͰʂ)
͜Μͳײ͡Β͍͠ (ଟ) DirectX11/OpenGL DirectX12/Vulkan/Metal ήʔϜ ήʔϜ ɾϝϞϦཧ ɾεϨουཧ ɾίϚϯυཧ υϥΠό
ɾϝϞϦཧ ɾεϨουཧ ɾίϚϯυཧ υϥΠό GPU GPU
ͳΔ΄ͲΘ͔ΒΜɾɾɾ ࣮ࡍԿͬͯΔͷ͔VulkanͷαϯϓϧίʔυΛΈͯΈΑ͏ɻ https://github.com/Pctg-x8/vkTest
ΤάΈ͕ࠅ͍
ಀ͛·͠ΐ͏ɻ ͍ܰؾ࣋ͪͰ౿ΈೖΕͪΌμϝͳྖҬ ૉʹϚεΆͪʔͰϙϦΰϯग़ͤΔڥͰੜ͖·͠ΐ ͏ Unityͱ͔ͷήʔϜΤϯδϯ͕Կͱ͔ͯ͘͠ΕΔ (Direct3D12/Vulkan/MetalରԠͯ͠·͢) Direct̏D12 < Vulkan <
OpenGL < Metal < DirectX11 ॻ͚ͳͯ͘ྑ͍͚ͲଘࡏΛೝ͓͖ࣝͯ͠·͠ΐ͏
GPUͬͯͳΜͧ
ֆΛग़ͭ͢ Graphics Processing Unit ฒྻܭࢉ͕ಘҙͳϑϨϯζ(2000ίΞͱ͔ͬͯ·͢) 3DήʔϜ, 3DCG, ػցֶशʹඞਢ DirectXͷάϥϑΟοΫAPIͱຶ݄ͷؔ جຊతʹσεΫτοϓPC͚(PCI-Eଓ)
NVIDIA(ΤψϰΟσΟΞ) ͱ AMD(ݩATI)ͷ2ڧ
Կ͑ྑ͍ͷʁ NVIDIA GeforceγϦʔζ GTX 970, 980, 980Ti GTX1060, 1070, 1080,
1080Ti, TITAN X AMD RadeonγϦʔζ RX480, 580 R9 280, 390 3ສԁʙ17ສԁ VRίϯςϯπΛָ͠ΉͳΒ
3DίϯςϯπΛʮ༡Ϳʯ͔ʮ࡞Δʯ͔Ͱબ͢ΔGPU ߟ͑·͠ΐ͏ɻͨͩ͠ɺجຊେখΛ݉Ͷ·͢ CPUͷϨʔϯͱ͔·͔ͨΒͳ͍ݴ༿ग़ͯ͘ΔͷͰ ࠓଟډΔͰ͋Ζ͏GPUେ͖ͳਓͱ͔ʹ૬ஊ͠Α͏ SLI(NVIDIA) / CrossFire(AMD)ٕज़ͰಉܕͷGPUΛ࿈݁͞ ͤΔͳΜͯࣄग़དྷ·͢ ͨͩ͠2ຕࠩ͠Ͱྑ͘ग़ͯ1.5ഒఔͰ͢ Twitterʹ17ສ͢ΔGPUΛ4ຕ͚ͬͯΔਓ͕ډ͍ͯҋΛ
ݟ·ͨ͠ɾɾɾɾ
ҙͰϊʔτͷํ 1080ͱ͔ࡌͬͯΔͷ͋Γ·͕͕͢ɾɾɾɾ ֎͚GPUϘοΫεͳΔ͕ग़࢝Ί·ͨ͠ 3ສԁʙ8ສԁఔͰThunderbolt3Ͱଓ ͪΖΜGPUผ్༻ҙ ελόͰUnityBattlefieldΓ͍ͨͳΒͲ͏ͧ
ήʔϜΤϯδϯ
ήʔϜΤϯδϯ ͖ͬ͞ͷίʔυॻ͔ͳͯ͘ྑ͘ͳΔ ͜Ε͚ͩͰ࡞ͬͯΔਓʹ͚ͯ৸ΒΕͳ͍ Unity / UnrealEngineͱ͔͕༗໊ ؤுΕݸਓϨϕϧͰۀ࡞ฒΈͷ͕࡞ΕΔ εϚϗΞϓϦ։ൃ̤̠ʂ
Unity ଟଞͷํ͔Β͓͚͠ΔͷͰৄࡉׂѪ Windows/macOS/LinuxʹରԠ ຊޠͷใ͕๛ Ϩʔβʔໟث ϓϦΩϡΞ
ө૾දݱπʔϧͱͯ͠ͷήʔϜΤϯδϯ ຐ๏͍ϓϦΩϡΞʂޙظEDUnity͕ࢧ͍͑ͯ·͢
Unreal Engine ϑΥτϦΞϧ(࣮ࣸΈ͍ͨͳ)ͳϨϯμϦϯά(ඳը)͕ಘҙ Unityͱಉ͘͡جຊແྉ Windows/macOS/LinuxʹରԠ Blueprint͍ͬͯ͏QuartzComposerΈ͍ͨͳϏδϡΞϧϓϩά ϥϛϯάಛ FF7ͷϦϝΠΫʹΘΕͯΔΒ͍͠ ࢮਆ
ө૾දݱπʔϧͱͯ͠ͷήʔϜΤϯδϯ2 TV൛σεϊʔτUnreal Engine͕ࢧ͍͑ͯ·͢
ͬͯΈ͍ͯͩ͘͞ ࢠڙͷࠒήʔϜ։ൃऀʹ͕͋͜Εͨਓ ΞΠσΞ͋Δ͚ͲϞσϦϯάͱ͔ग़དྷͳ͍ਓ UnityຊʹAsset͕๛ ө૾࡞ʹ3DΛऔΓೖΕͯΈ͍ͨਓ Ծ௨՟ͷϚΠχϯάʹ͖ͯGPU༨ͬͯΔਓ
ಥʹVR͍͖·͢
Virtual Reality ྆؟ࢹࠩ(ࠨӈͰݟ͑ͯΔ૾ͷࠩҟ) (྆؟ͷࢹͱͳ֯͢) ӡಈࢹࠩ(ࢹͷҠಈ) ↑Λར༻ͯ͠ʮཱମࢹʯΛԾۭؒͰߦ͏
VR͕VRʹͳΔͨΊʹ ߴղ૾(ߴ͚Εߴ͍΄Ͳྑ͍) ϨΠςϯγ(20msҎԼ) ߴϦϑϨογϡϨʔτ(90FPSҎ্) ↑×̎ͷը໘ΛදࣔͰ͖Δػց ↑ͷίϯςϯπΛϨϯμϦϯάͰ͖ΔϚγϯ
Ͱ͓ߴ͍ΜͰ͠ΐʁ Oculus Rift 63,800ԁ HTC Vive 107,784ԁ PlayStation VR 57,000ԁ
্ه+VR ReadyͳPC 12ສʙఱҪΒͣສԁ ※ PSVRPCෆཁɺͰPS4͕ඞཁ ※ VR ReadyͳPC: VRίϯςϯπΛ࠶ੜՄೳͳεϖοΫΛ࣋ͭPCͷ͜ͱ ※ શ෦όϥόϥͰങͬͯফඅͰߪೖ͕͓קΊ
ͦΜͳVRքʹٹੈओ͕ʂ εϚϗ࣋ͬͯΔਓʔ ͦΕVRσόΠεʹͳΓ·͢ 1000ʙ2000ԁ΄Ͳ༻ҙ͍ͯͩ͘͠͞
Google Cardboard ఱԼͷGoogleઌੜεϚϗΛVRʹ͢Δͭ GoogleஈϘʔϧͱϨϯζೋݸͰ͓̺ͬͯݴͬͯΔ AmazonͰ༷Λຬ͕ͨ҆͢ՁͰചͬͯΔ AndroidiOSͲ͍͚ͬͪΔ SDK͕ແঈͰެ։தɻUnitiyʹ؆୯ʹΈࠐΊΔ ※iOS༻ʹϏϧυ͢ΔʹmacOS͕ඞཁͰ͢
VR͕VRʹͳΔͨΊʹ ߴղ૾(ߴ͚Εߴ͍΄Ͳྑ͍) ϨΠςϯγ(20msҎԼ) ߴϦϑϨογϡϨʔτ(90FPSҎ্) ↑×̎ͷը໘ΛදࣔͰ͖Δػց ↑ͷίϯςϯπΛϨϯμϦϯάͰ͖ΔϚγϯ জӘӒҽӷәᒶӶӐҹӊҿҮ
εϚϗͰVR AndroidVulkanࡌ༧ఆ Google Daydream͕Android7.0Ͱαϙʔτ ৽͍͠VRڥ 20msҎԼ ίϯτϩʔϥ͕͑Δ iOSɾɾɾ
(ۚͷ͔ͯ͠͠ͳ͍ͷʹ) ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠