游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3775|回复: 0

??Unity3D??????????

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2019-11-15 14:26:54 | 显示全部楼层 |阅读模式
?????????????????Unity3D?????PC?????????????????????????????????????????????????GDC 2017 Ghost Recon Wildlands Terrain Tools and Technology?

Ghost Recon Wildlands Terrain Tools and Technologywww.youtube.com

??????????????????????????????????????????????

??????????????????Unity3D??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????5?????????????????

1.        ??????

2.        ????????

3.        ?????????

4.        ????

5.        ??

???????

????????? + ???????????????????????????DX11?????Hull Domain Shader???????????????????????

image002.jpg
x1, x32, x64 ???

?????????????????????????????????????????????????????PC??????????????????????????????????????????????????????????Quad Plane + Tessellation?????GPU Instance?????Tessellation????64?????????????????64 * 64?????????????????????????????????????

?LOD?????????????????????

image004.jpg

??????????????????????????????????????????????????????????????????MipMap????????????????????????????????????????????????????????????????????????????????????????

?????????????????Virtual Texture???????????????Virtual Texture????

MaxwellGeng?Virtual Texture Tools & Practices

??????????Shader???????????????????

image007.jpg

?????Fragment Shader????????????Standard PBR Shader???????????????????????????????Virtual Texture?

image009.jpg

???????Shader??????????????Virtual Texture??????????????Ghost Recon????????????????

???32?PBR??????Texture Array???????8??Mask Map??????????????????

image011.jpg

????Bilinear???????????

image013.jpg

??Ghost Recon?????????????????????????????????????????????32????????????Indirect Buffer??????????????????????????????????????????????????????

image015.jpg

??????????????????????????Indirect Buffer??????????????????

????????Mask????????????????Mask Texture?Bilinear Interpolation???Mask?????????????Virtual Texture?

image017.jpg

????????????

image018.jpg

??????Bilinear??????????????????????????????????????????????????????????????????????Compute Shader Kernel??????????

image020.jpg

?????

image022.jpg

??????????????????????????????????????????????????????????????????????????????????????????

????????VT????????????????????????????????????????????Shader???????????Virtual Texture?????????????????????????????????????

image024.jpg

??????????????????????????????????????????????????????????????????????????????Pixel Offset?????Early Z???????????????????????????????Shader??????????????????????Virtual Texture Terrain?????????????????????????UV?????????Uniform???Shader?

image026.jpg

???????????????????????????????????????C#???????64????????????????Shader????????????????????????floor frac???????????????TerrainVTOffset????????????????????????????????5km?????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????UV???????????????UV?????????????????Virtual Texture???????

image028.jpg

?????????????????????????????????????????????????????????Virtual Texture??????????????????????????????Deferred Shading?Geometry Pass???????????????VT?????????????Rendering Pass?????Albedo?PBR???????????Heightmap?????PBR??????????Heightmap????????????MRT Pass?????????????????Shader???Shader????????????

image030.jpg

image032.jpg

Shader??????????????????????????

image034.jpg

?????SRP ???API?????RenderQueue??TerrainDisplacement Pass???????????RenderTarget?????????????????????BlendOP Max?????????????????????????????????????Double Buffer?????Frag Shader?????????????_VirtualHeightmap?_OffsetIndex???????????????????????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????Substance Designer?????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????Alpha Blend????Virtual Texture????????????????????????????????????Alpha???????????

????????????

image036.jpg

???????????????????????????????????????????????????????????

?????????????????????PBR??????????

image038.jpg
??PBR??

image040.jpg
?????

????????????????????????????????????????????????????

image042.jpg

???????????????????????????????????????????????????????????????????????????

????????:

???????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????????????????????????????????????????????????1km?LOD????????1/2??????1/4?????????????

?????????8KM??????????8KM?????4km?2km?????????????????????????????????????LOD????????????????????????

????????????1km??????????????????????Virtual Texture???Mask map???Ghost Recon????Mask Map???? 2pixel / m????????????2048 * 2048??????Mask?????????????????????????????????Virtual Texture????????????????Mask Map????????????????????256x256?????????????????????????????????????????????????????????????????????????????8KM?????????????????

LOD0: 8 * 8 * 256x256

LOD1: 16 * 16 * 256x256

LOD2: 32 * 32 * 256x256



LODX: 2^(3 + X)^2 * 256x256

??????????????????????????????????

1.        ??LODLevel M????Level?????O?

1.png

2. ??????????????????P?

2.png

??????????????????????Mipmap???????????????????????????4D Texture?

??????????????????????????????????????????Mask Map????????????????????????2048 * 2048 * 8 bit????4M?????????????1km????????????????????????????????????????????????????????????????????????????????????0.1ms?????????????????????????????????????????????

??????????????????????????????DCC??????1km??????LOD??????????????????????????????????DCC???????HeightMap_X_Y???X?Y????????????Editor?????????????????????????????????????FileStream???????????????????????????????????????

?????????1km??????????????????????????MipMap???????????4?????????2?????RT????????????????????????LOD?

?????????????????????????DCC??????????????????????????????????????????

????????????????????????????????????????4????????????????????????????????????UV???

image044.jpg

image046.jpg

??????????????????Prefab?GameObject??????????????????????????????????????????????????Addressable???API?????????????

Addressable????Load Unload?????InstantiateAsync??API????????????????????????????????????????????????Unity???????Package???????????????????????????????????????????API?????GameObject?????????Destroy?????????????????API???????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????LOD????????????LOD???????????????????????LOD???????????????????????????????????LOD??????LOD???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????LOD????LOD???????????????????????????????????????????????????????????????

????????????????????????????2km????????????????????????????????????????????????????????????????????????????????????????????????????????????256x256???????2048x2048?Atlas?????64??????????????????????????????????????????????????????????????????

???????1km?LOD0?512m?LOD1????????????????LayerMask????????????????????Culling Layer???????????????????????LOD???Layer?

image047.jpg

??????????????????

????????????????Prefab????Addressable?

image048.jpg

image049.jpg

?????????????????????GameObject????????Prefab????????????????Prefab???????????????Instantiate??????????????????

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????:

?????????????????????????????????????????????

??????????????????????????????????????????????(0,1,0)????????????????TBN Matrix????????????????????????????????????????????????????????????????????DX?OpenGL????????????????????????????????

image050.jpg

????????????????????????????????????????Tangent???(1,0,0)??????????????????Normal???????Normal?Tangent????????????Binormal????????Binormal?Normal???????Tangent??????

image052.jpg

???????????????????????????????????????????????????????????????????????????????????????

image054.jpg

????????????????????????????????????????????????????????????Bilinear Interpolation??????????????????????????????Blend Mask?????Mask????????4????????????????????????Mask???????????????????????????????TGDC? Trace Yang ????????????????????????????????????????????????????????????Mask Blend???????????????????

?????????????????????????????????????????Albedo, Normal, Smoothness, Metallic, Occlusion, Height?4??????Height??????Displacement??Smoothness, Metallic, Occlusion????????R8G8B8A8_UNorm???Render Texture??8????????????????????????????????????????????Height????????????????????GPU????????????

????????Int32

????????Int32

?????Float32

?????Float32

?????????????????????????????????????????????????????

image056.jpg

image058.jpg

??????????????????????????????????????

image060.jpg

??????????????????????????????????????????????????????????????????????????????????????????Mask?????????????????????????????????????

?????????????????????????????????????????????

image061.jpg

??????

image063.jpg

image065.jpg

???????????????????????????????????????????????????????????Index map?????????????????FBM Noise Map???????????????????????????????????????O(logN)?????O(n)???????????????????????????????????Indexmap??????????????????????????????????????????????????????????Virtual Texture?????????????????Mask map?????

???????Mask map????Virtual Texture?????????????????????????VT????????Texture Array?????????????????????Texture Element????????Render Target????????????PCG????????????????????????????????????????????????1??????0? ????????????????

image067.jpg

???????????????????????????????????????????????

image069.jpg
??????????????????????????

??????????????????????????????????????????Virtual Texture???????????????????????????????????????????????????????????????????????????????LOD?????????????????????????????????????????????????????????????????????????????????UV Map??????????????0???????????????

image071.jpg

??????????LOD??????8m???????2048m?1024pixel/8m??????????????????????????????????????????????????????????????????160?????????????1.55G?????PC??8G?????????????????????????????Virtual Texture?????????????????????????????????????????????LOD?????????????????????????????????????????????????????????????????????????????????????????????????????????????LOD?????????????????????????????LOD?????????????GDC?????????????????????????????????????????????????

?????????????????????????Y????????????????????????????????????????????????????0.33??LOD????????????30m?????????10m?????????????????????????128-133???????????????????????????????LOD??????????????????????????????????0.3??????????LOD????????????????????????????????????????+??????????3-5?????????????????????????????????????????????(si)?(bi)?

????:

??????????????????GTX1070?????????????

?????/??????2048m * 2048m

Material Index Map: 2048 * 2048 / 1km^2

HeightMap: 256x256 / 8m^2

????????????????????????????????????????????????2km?????????????????????????????????

????????????

??????<0.1ms

?????< 1.1ms

??????< 0.2ms

?????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????Virtual Texture????????????????????????????????????????????????????????????????????????????????????????????

??:

???????????????????????Virtual Texture???????????????????????????????????????????????????????????????????????????????GPU Driven Rendering Pipeline????????????????????????Ubisoft???????????????????????????????????????????????????????????????????????


???MaxwellGeng
?????https://zhuanlan.zhihu.com/p/85417843

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-19 07:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表