查看: 1259|回复: 0

[知识] 3D眩酷技巧(一)动态模糊,景深,软阴影

[复制链接]

903

主题

951

帖子

3935

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3935

最佳新人

发表于 2018-11-12 12:35:51 | 显示全部楼层 |阅读模式
动态模糊(Motion Blur)
3D游戏玩家会问这么个问题:为什么每秒24帧的速度对于电影来说已经足以获得很流畅的视觉效果,而对于电脑游戏来说却非常不流畅?原因很简单,摄像机在工作的时候并非一帧一帧绝对静止地拍摄,它所摄下的每一帧图像已经包含了1/24秒以内的所有视觉信息,包括物体在这1/24秒内的位移。如果在看电影的时候按下暂停键,我们得所到的并不是一幅清晰的静止画面,而是一张模糊的图像。


33_3_3c1db3fef916605.jpg
传统的电脑3D图像做不到这一点,游戏里的每一帧就是一幅静止画面,如果你在运动的过程中抓一张图片下来,得到的肯定是一幅清晰的静态图。所以,动态模糊技术的目的就在于增强快速移动场景的真实感,这一技术并不是在两帧之间插入更多的位移信息,而是将当前帧同前一帧混合在一起所获得的一种效果.
极品飞车:卡本峡谷》采用的动态模糊,但效果不好,表现太夸张,时间长很容易让人感到不适

33_3_1a38636d4de6f10.jpg

《孤岛危机》的动态模糊改善了很多,表现效果也好了很多,据称是得益于DX10引入了几何渲染器

33_3_a5c9149057cd29a.jpg

景深(Depth Of Field)
有摄影基础的朋友一定都熟悉“景深”这个词。如果非要解释这个词的话就是“在摄影机镜头或其他成像器前,沿着能够取得清晰图像的成像器轴线所测定的物体距离范围”。说得再简单一些,就是距离不同的景物,呈现出有些地方清楚有些地方模糊的效果。这种效果能够更加突出需要反应的焦点,让画面的主题更加鲜明。
我们观察下面的两张图片,就能非常明显的看出景深的效果。在第一张图片中,手持长棍的忍者是清楚的,后面的景物时模糊的。而在第二张图片中,焦点移到了后面的景物上,前景的忍者反而变成了模糊的效果了。这样的效果更符合人肉眼对自然环境观察的结果,也就因此令玩家的感受更真实

33_3_d04ea4c5829356f.jpg

《使命召唤4》使用的景深效果

33_3_a5288618aa51afa.jpg

在FPS游戏中景深效果往往用在枪械的瞄具上。在游戏中使用机械瞄具的时候,人的注意力必然高度集中,准心以外的区域都模糊。

《孤岛危机》中景深效果大放异彩


33_3_0569c9689536c31.jpg

33_3_c34c8138dd42582.jpg


软阴影(Soft Shadow)

从字面上直译过来就是“软阴影”,不过叫“柔和阴影”似乎更合适。我们知道生活中很多阴影的过渡都是有渐变,而软阴影的作用就是要模拟这种效果,在阴影周边制造虚化的效果。软阴影本身并不是指一种技术,而是指通过采用某种技术达到的效果。
       在说软阴影前先说说阴影的生成方法。一般在游戏中采用的阴影生成方法有两种:Shadow Mapping(阴影映射)和Shadow Volumes(体积阴影)。
    Shadow Mapping(阴影映射)是一种图像空间的技术,它是在以光源位置作为视点的情况下渲染整个场景的深度信息,然后再使用这些深度信息去决定场景的哪一部分是处于阴影之中。它有锯齿并且依赖z-缓冲技术。由于可以在不减少帧率的情况下达到真实感光照和阴影效果,编辑器允许在场景中放置任意数目的静态光源,它会为每个面预计算光流量(light flow)和静态阴影,因此现代商业3D游戏中多数都会使用到阴影映射。阴影映射效果的一个影响因素是Shadow Map Size,如果size(尺寸)小,会导致阴影边缘模糊不清、闪烁、出现大型锯齿。增大size能提高阴影质量,但帧速会受到影响。

Shadow Map Size太小(上图),增大Size之后(下图)

33_3_6f5694f0c8da690.jpg

对于在阴影映射下实现软阴影,通常是在阴影边界进行高精度超级采样的方法,如虚幻3引擎就是进行16X的超级采样,这就是软阴影消耗系统资源大的原因。

33_3_1823ba317c46f6f.jpg

《生化冲击》使用阴影映射,表现出色。

33_3_a7554705251e419.jpg

《尘埃》的Shadow Map Size更是前所未有地达到了4096*4096,阴影柔化效果也很到位,它的硬件要求大家也是清楚的。

33_3_70bdad37e142335.jpg

《孤岛危机》的阴影效果当然是顶级的了,除了使用阴影映射,还使用了大量高级技术(如高精度采样、屏幕空间环境光遮蔽等)

33_3_a0e3516cf2de5bd.jpg

33_3_3c7c513a617762f.jpg

Shadow Volumes(体积阴影)是一种基于几何形体的技术,它需要几何体在一定方向的灯光下的轮廓去产生一个封闭的容积,然后通过光线的投射就可以决定场景的阴影部分(常常使用模板缓冲去模拟光线的投射)。这项技术是像素精确的,不会产生任何的锯齿现象,但是与其他的技术一样,它也有缺点。最主要的两个问题一是极度依赖几何形体,二是需要非常高的填充率。同时,体积阴影也相当依赖CPU,视觉效果方面是产生的阴影比较“硬”。
目前使用体积阴影的游戏不多,《DOOM3》和《F.E.A.R.》就是典型,在游戏中仔细观察你会发现它们的阴影和其他游戏的明显不同

33_3_b3bc2cbd211d04e.jpg

33_3_0bc1495af29d71d.jpg

《F.E.A.R.》是第一个采用了软阴影的游戏,它的软阴影实现方法是在光源在自身附近进行自我复制,产生多个不同亮度的阴影再混合起来,这种软阴影效果似乎不怎么理想,边缘看起来有层状感,系统资源开销也大。

33_3_1fae172cab1d786.jpg

3D眩酷技巧(一)动态模糊,景深,软阴影
3D眩酷技巧(二)HDR高动态光照,法线贴图,视差贴图
3D眩酷技巧(三)次表面散射,体积云雾,积光,SpeedTree

关注galaxixv,官方微信公众号。
GALAXIX UE4 讨论学习群 140439020
UE4精英学习群  12762592
UNITY学习群   194092348
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


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