[siggraph19]《荒野大镖客2》的大气云雾技术(1/4)

在这里插入图片描述
技术一直行业领先,但是一直低调的rockstar,终于在siggraph19放了大,做了《荒野大镖客2》(大表哥2,Red Dead: Redemption II)中的大气云雾技术分享。
看的也是近几年最过瘾的一篇了,high点:

  • 是发售游戏中实际使用的,完整的,系统化的技术合集
  • 代表当前最强的大气系统
  • 技术探索&整合nice,积累深厚,运用纯熟
  • 理论,实际开发已经性能优化有很好的平衡,堪称R&D的典范

篇幅很大,量很多,这里分四篇来写了。

motivation & overview

这也是很多优秀工作室做事的一个方法,在处理开创性事情的时候,就会列出一些依据来进行“合理突破”。
这里笔者也是深有共鸣,是一个很有章法的做事方式。
RockStar这里就包括:
在这里插入图片描述

  • 在《荒野大镖客1》中已经有了不错的大气系统,而且这个确实很重要,当然要在2中进一步发展
  • 受到一些名画的启发,笔者也是在看一些绘画,去一些景色壮观的地方都会带来很强的创作冲动(虽然我是写程序)
  • 以及基础的atmosphere scattering系统中,现在确实还有很多可以完善的地方。

通篇是分成三个部分:

  • data model
  • render
  • scene integration

本文先覆盖第一部分:

data model

在这里插入图片描述
这部分是一个知难行易的模块,所以直接列下特性和做法。

云的分布

这块比较类似horizon zero(https://blog.csdn.net/toughbro/article/details/48844649)的做法:
在这里插入图片描述
使用分布图来定义云的整体分布
在这里插入图片描述
(出来效果这样的,同时可以有多层的云)

雾的分布

类似云的分布,雾也是有一个分布:
在这里插入图片描述
(没有fog map的版本)

在这里插入图片描述
(有fogmap的版本)

云的形状定义

这块参考的15年的horizon zero的做法:https://blog.csdn.net/toughbro/article/details/48844649
基本原理差不多,有一些自己的特色:
在这里插入图片描述
这里定义云的形状:

  • 1个lut定义云的厚度
  • 1x3d noise,2x2d displacement
    效果目测要比horizon zero的好一些。
发布了780 篇原创文章 · 获赞 460 · 访问量 165万+

猜你喜欢

转载自blog.csdn.net/ccanan/article/details/102892820