TA-Shader-文件 (转) 西川善司【神秘海域(Uncharted)】的图形分析--下
发布于
2018-8-12
1721
5
TA资源类型
TA资源类型: 算法思路 
shader资源类型: 其它 
适用引擎: 虚幻 
资源介绍: -

您需要 登录 才可以下载或查看,没有账号?注册

x
注:原文较长,分为上中下2贴!!原文地址见贴尾!
本文是为传播0月8日发售的【神秘海域 合集】魅力而短篇连载的第2回,这次主要集中在神秘海域系列的图形的技术方面。
原文链接在http://weekly.ascii.jp/elem/000/000/370/370079/

    译者注:另外因为本文引用的神秘海域的技术分享大多是在GDC2010和2012年的,图形技术上距离2016发售的神秘海域4有了一些差距,
在角色渲染部分,我追加了一些西川善司以前分享过的角色渲染方面的资料,另外原文网站里的贴图较小还加入了网站水印,
这里为了方便理解,我重新从引用的PPT里截取了更高清一些的图,
另外我也注释了对应的PPT的名称,一些具体的技术细节,还是建议自行搜索下载来阅读原文。
==================================================================
接上文:
       这个豪华客船场景里还有一个惊叹的技术被使用了。那就是在角色们乘船时,这个豪华客船自身被波浪的摄动而运动这点上。粗略的讲 ,取得船体和海面上波浪的碰撞,使用通过这个计算出的立场的弹簧模型,来控制船体的运动。与其说是模拟,不如说是程序化的方法,被这种”创意与技术“的独创的混合技术所震惊了。
52.png
第3作的14章,被狂暴的大浪翻弄的作为海贼主根据地的豪华客船的场景。成为这个场景的游戏舞台的摇晃的船体,实际上,是根据波浪来运动的。

    ”翻滚的海浪(Rolling Waves)“,是冲浪运动员们喜欢的”大浪“,伴随游戏进行的过程中崩坏表现的波浪。为了【神秘海域 德雷克的诡计】中暴风雨场景和海啸的场景不得不挑战这个表现。
    对于被认为是【实行流体模拟是不可能】这个表现主题,作为开发方的Naughty Dog,再一次用”创意与技术“简单的实现了。

    做法简单,不实用流体模拟。用数学曲线函数”B Spline“曲线,制作出大浪的断面形状的曲线,用它抬高水面来进行实现。在大浪的细微的波纹和泡沫,是组合以前的水面表现的技术的同时,根据进展的崩坏表现,用适当的Scale值的搭配和精致的动画来实现的。

531.jpg
把水面,用B Spline曲线稍微加工来提升形状(图中的红色曲线)。但是,要控制两端,稍微调整外观。


实际游戏中的大浪,翻滚的波浪表现


渲染后




关于实际场景中的水面表现,使用了之前描述的技术。



第3作中,下沉的豪华客船的船内场景也是扣人心弦。


译者注:除了西川善司提到的GDC2012:Water Technology of Uncharted里分享的水的技术外,
GDC2012 : Creating Flood Effects in Uncharted 3里也介绍了用Houdini预创建水流模拟网格,并通过粒子来渲染的水流特效






========================================
接下来,是关于神秘海域的的“环境光的影响”,“足迹”和“粒子”的表现解说
========================================

神秘海域系列里其他要关注的图形要素是?

    神秘海域系列的图像魅力,也有其他值得看的地方。

    神秘海域系列作为冒险动作游戏,玩家操作的主人公内森是要经常的跳来跳去。因为在第2作的【神秘海域 纵横四海】中,stealth action(潜入行动)的要素加强,隐藏在隐蔽处的重要度也增加了。

    在这种表现真实的显现的同时,为了描绘出操作对象的内森和背景物“如何接触”,环境遮蔽(Ambient Occlusion)作为游戏中的影像效果,在各处被使用着。

    现实世界的话, 避开太阳的阳光进入建筑物的“背阴处”,会注意到自己的鞋和底边周围会出现比背阴的黑暗程度更“深一些的影子”。这个就是AO的效果。



脚下的AO表现(这节的贴图都是引用自 Naughty Dog John Hable :Uncharted 2 HDR Lighting这篇PPT)



开发中的画面关闭SSAO



开发中的画面打开SSAO.


AO的效果,本来是必须要考虑间接照明和天空落下的天球照明而行计算的,这样在游戏图形中执行很难。不过,在神秘海域系列中,是对GPU绘制的影响,实时的进行图像修正一样,用实时的后处理特效处理来实行AO。把这个技术称作““Screen Space Ambient Occlusion(SSAO)”。


    现在的游戏图形中绘制一次场景的话,和这个影像的像素一一对应的深度信息,就会保留在每帧的显示画面的不可视存储区域中(深度缓冲)。虽然这个可以在绘制过程中随意的放弃掉,但在神秘海域系列中,在显示绘制的影像前,访问这个深度缓冲,把认为是凹面,以及面与面交叉的地方进行加入“阴暗色”的处理。这个虽然并不是屋里正确的,不过因为可以实现“合理的AO效果”,非常的方便。


绘制普通场景的直接绘制的图像



绘制这个场景过程中生成的深度缓冲的内容


读取上面的深度缓冲来实行SSAO。黑色部分是作为SSAO处理结果来生成追加阴影。特意变成了一半的分辨率。SSAO是模糊的因应表现而有意图的生成低分辨率。这样,也有降低GPU负荷的效果



合成水面和其他的半透膜素材的最终影像。




其他场景的正常绘制的影像。



加入了SSAO后的影像。可以看到深处的凹部和面与面交叉处产生了阴影



其他场景中正常绘制的影像



使用SSAO后的映像。

========================================
神秘海域系列中使用的图形技术无法一一列举,最后几个值得一看的地方,是每次作品中得到进化的“足迹”表现和“粒子”表现吧。

    作为足迹表现,普通的考虑的话,有第2作【神秘海域2: 纵横四海】中“雪山上的足迹”,第3作【神秘海域3: 德雷克的欺骗】中的“沙漠的足迹”,  可以说是成为核心印象的重要表现主题。

    这种足迹,基本方法是在地面上绘制足迹的Texture,实际上,在神秘海域2里也就是这样做的。在神秘海域3中,变成了存在于沙丘上的细微的波浪一样凹凸。成为了像实际陷入一样的表现,进一步在沙丘的斜面,方向上足迹崩坏的表现中被使用。这个在水面的涟漪表现和细微的凹凸表现里也有使用,是把Normal Map作为Bump Mapping的应用技术来实行的。

第2作的雪原的足迹是像Texture Stamp的方式来实现的(GDC2012 Effects Techniques Used in Uncharted 3: Drake’s Deception)


第3作的沙漠的沙子的凹凸,并不是做出实际有凹凸,而是用Normal Map Texture的Bump Mapping的方法。



沙漠上的足迹也是Texture Stamp的一种,Stamp的不是足迹画像,而是足迹形状的凹陷的Normal Map Texture




把脚印Stamp的Foot Print渲染到World Normal Buffer(GDC2012 The Tricks Up Our Sleeves A Walkthrough of the Special FX of Uncharted 3: Drake’s Deception)



沙漠上的足迹,是随着时间经过,一起向下方流动



实际的游戏画面中,沙子上的足迹的情况


=================================================
然后“粒子表现”也是在不断的作品中激烈的进化的。

    电影的CG中,烟和火的气体表现是实行流体模拟来绘制。现在的游戏图形中,因为还是不可能的,例子都是在多边形板(3D Sprite)贴上烟和火焰的Texture,表现立体的飞舞。这样的表现称作Billboard显示,没做好的话,就真像看到广告牌在飞舞一样。在神秘海域系列中,并不是直接把火焰和烟的Texture直接贴在Billboard上,而是和多个的Normal Map Texture香橙,通过Noise Texture来散开Texture坐标的同时,运动立场Texture,看起来好像真正的流体一样。

  
用湍流扭曲Texture左边在使用立场Texture,实现了真实的粒子表现
============


绘制时,对billboard单位(多边形粒度)进行了简单的光照,通过对应光源位置的远近加入浓淡,就好像其他烟的在别的烟上投射了阴影一样的“模拟的自阴影表现”。

第3作中有印象的飞机坠落场景的大的黑烟,当时并不认为是基于粒子的绘制,而是立体的烟。


基本原理是是作为普通的粒子系统来绘制,因为Texture是Normal Texture,进行光照时会有实时的细微的凹凸阴影。而且,多个Normal Map Texture相乘,做出了流体形状的变化。

  




对应太阳的严禁调整粒子的阴影,像自阴影那样的表现也加入了
========================================
这种先进的粒子表现不光是烟,火焰的表现中也被使用了,第3作中期在燃烧的古城内激战的场景,从地板到柱子无数的火焰升起,这里也是使用前述的粒子技术。



燃烧的古城内的激斗场景。火焰的表现很真实。


"可以游玩的电影"并不仅仅是宣传词。
    索尼电子娱乐(SCE)对于神秘海域系列,给予了【可游戏的电影】这样的宣传词,作为"营销词"不能轻视,实际上,从技术的角度看,SCE"并没有撒谎"。

    在绘制神秘海域系列的影像中,没有直接显示,而是使用了实际好莱坞电影的拍摄中也使用的柯达制作的电影拍摄用胶片
【KODAK VISION Premier Color Print Film 2393】的颜色特性和色阶特性,实时的加入色调的修正。
把正经的数字CG影像,强硬的转为模拟电影胶片的效果。



KODAK VISION Premier Color Print Film 2393
http://motion.kodak.com/motion/P ... Exhibition/2393.htm




柯达制作的电影摄影用的胶片【KODAK VISION Premier Color Print Film 2393】的色调曲线。
神秘海域接近这个特性,把绘制结果进行试试的色调修正。



把绘制结果,用影像的平均亮度来线性修正的结果


进行电影摄影用胶片的非线性颜色修正。明暗的灰度并不平衡,颜色风格也不同,容易看出的是皮肤的颜色


而且,PS3版的神秘海域系列,基本上采用的是把1280×720像素左右的分辨率来渲染的图形Upsacle到1920×1080像素输出的方式,还有,帧率基本上是30fs的可变帧率。

    笔者的性能试算对于PS3,图形性能提升了约8倍的PS4上的【神秘海域 合集】,渲染分辨率是没有Upscale的真实的1920×1080像素,帧率是公开说对应60fps。负责PS4移植版开发的是,是由有着参与了【ICO】和【旺达与巨像】的PS3版移植的成绩的Bluepoint Games来负责。品质值得期待。

   因为分辨率和帧率的提升,前面描述的各种先进的图形表现,也变得更容易看清楚,希望PS3时就玩过本作的人们也可以意识到本篇介绍的各种技术来玩本次合集。应该可以感受到卓越的魅力影像中加入的,软件工程师们的热情。


==========================================================
原文地址:https://www.cnblogs.com/TracePlus/p/5123321.html
参与人数 1 元素币 +99 活跃度 +99

本帖被以下画板推荐:

还没有设置签名!您可以在此展示你的链接,或者个人主页!

使用道具 举报 登录

回复 <
mdy_shad0w  发表于 2018-10-18 22:19:12  
2#
为了元素币,拼了
回复 收起回复
使用道具
qq_马卡龙_WRh  发表于 2018-10-19 09:23:59  
3#
资源甚好,发帖艰辛,且阅且珍惜!
回复 收起回复
使用道具
kanisen  发表于 2018-11-9 15:59:27  
4#
谢谢楼主分享
回复 收起回复
使用道具
peet07  发表于 2018-11-11 21:25:58  
5#

资源甚好,发帖艰辛,且阅且珍惜
回复 收起回复
使用道具
月夜霖霖  发表于 2019-2-22 18:31:20  
6#

从业不识微元素,做遍项目也枉然
回复 收起回复
使用道具

快来发表你宝贵的意见吧!

成林 实名

通过了实名认证的内容创造者

unity3D

主题
181
精华
28
超神
5
扩散
761
微金
3000
智慧
220
余额
0
在线时间
5805 小时

【绝】结界玄晶 微库VIP 扩散者 紫色药水 学徒法袍 元素铜币 元素银币 元素金币 元素秘币 长剑 绿色药水 长枪 火元素

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