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
Become a Pro
speakerdeck
PRO
29
5.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Balancing Empowerment & Direction
lara
4
690
Side Projects
sachag
455
43k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Music & Morning Musume
bryan
46
6.8k
The Invisible Side of Design
smashingmag
302
51k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
How STYLIGHT went responsive
nonsquared
100
5.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
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ɾɾɾ
(ۚͷ͔ͯ͠͠ͳ͍ͷʹ) ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠