overview

2020年发售的《对马岛之魂》可以说给行业带来不小的惊喜,也收到玩家的很大的喜爱;
开发商sucker punch,在对马岛之前的代表作是infamous系列(这个系列各种特技其实也挺赞的),是一个美国游戏公司;
公司规模巅峰时期是160人,25qa,ppt里看起来是6个渲染程序,这个规模放在国内已经是“小团队”;

销量超过500万份,并且tga上获得best art direction;
艺术方向本身是:stylized realism;所基于的技术本身就是非常的物理;
本文是含金量不错的一篇文章,覆盖了对马岛的很多的材质系统,主要包括:

  • 各项异性的specular maps以及filtering(丝绸类材质)
  • 各向异性的asperity scattering brdf(毛绒类材质)
  • 皮肤shading
  • detail maps

各项异性的specular maps以及filtering

suckerpunch之前的anisotropic specular就是顺着tangent这种做的ggx,这个最大问题就是这个方向美术没法控制;

(天刀的各项异性,顺着tangent和binormal来做specular,美术也很苦恼没法做方向控制)
所以首先sucker punch做的第一个事情,就是引入anisotropic specular的方向,可以看下贴图的组成:

可以看出各项异形的组成包括:u和v方向的gloss,以及定义方向的direction贴图;
这里首先完成的就是第一部分:让各向异性的方向可控,而不只是tangent和binormal的方向;

然后是filter的问题:通过sggx的算法encoding到一个aniso贴图中去;

然后接下来很重要一点就是要在mipmap filtering的时候保证物理正确性;
这里一个案例可以看下[sig18]《使命召唤:二战》的材质光照技术
这里的filter normalmap和gloss时候,不能直接去linear filter,需要将两者结合来保证NDF(normal distribution function)的正确性;

那么在anisotropic specular这里也面临类似的问题,需要能够做到正确的filtering(也就是生成正确的mipmap),这里用到的数学工具就是sggx;
sggx方法详见the sggx microflake distribution


简单描述就是,sggx是symmetric ggx简写,本来是用作计算volume render领域的方法,论文核心在于对normal distribution function使用了一个机遇project area的估算方式,进而使用椭球的方式来表达复杂解析公式,最终达到了可以支持filter的特性,极大地加速了volumetric data的lod渲染;
也就是核心在于椭球的表达normal distribution function,进而可以filter的特性;
而且ggx的NDF(normal distribution function)是sggx的一个特例,所以是妥妥的对原有的各向异性做了扩展;

原来anisotropic的ggx的case,表达出来这样的;
最后filter的计算过程变成:
1, 使用sggx matrix把normal和2x2 anisotropic ggx矩阵表达出来:

2,然后对sggx matrix做线性过滤得到sggx matrix s1
3,然后再把新的sub matrix从s1中反算出来

同时也有normal的计算;
4,把normal和各向异性的信息存到贴图里:

  • normal:bc5 normalmap
  • anisotropic map :bc7

上面sggx的各种推导有点绕,我们抓住一点:就是一个对于anisotropic case下的NDF filter的方法就好了;

小结

这里的各向异性的部分,sucker punch做了:

  • 支持到了u & v两个方向的各自的gloss定义,以及direction的美术自定义,美术控制力进一步上升
  • 使用sggx matrix的方式来让filter更加物理正确,结果也比较好,
  • sggx的方式比能达到类似效果LEAN map的方式,使用的数据更少

[sig20]对马岛之魂的渲染技术(1/3)相关推荐

  1. 《对马岛之魂》:匠心有余,灵性不足

    当<地平线>和<漫威蜘蛛侠>凭借高超画质和超级IP成为PS阵营开放世界游戏双子星之后,"明明是我先"的Sucker Punch也终于在PS4主机后期将< ...

  2. 【GDC 21】《对马岛之魂》战斗系统讲解

    在改为线上活动方式的世界最大规模游戏开发者相关活动「游戏开发者大会 2021(Game Developers Conference 2021)」中,举办了许多关於 AAA 级大作.独立开发作品以及经典 ...

  3. Maya阿诺德室外环境灯光照明和渲染技术学习视频教程

    Maya阿诺德室外环境灯光照明和渲染技术学习视频教程 Maya and Arnold_ Exterior Lighting and Rendering 教程时长 1小时47分 大小 1.1G 1280 ...

  4. 如何实现最佳的跨平台游戏体验?Unity成亮解密实时渲染技术!

    7月31日,2018云创大会游戏论坛在杭州国际博览中心103B圆满举行.本场游戏论坛聚焦探讨了可能对游戏行业发展有重大推动的新技术.新实践,如AR.区块链.安全.大数据等. Unity大中华区技术经理 ...

  5. 业界首发丨网易云信虚拟人解决方案,首创客户端+云端双渲染技术

    元宇宙,依然还在持续升温. 几个月前,坐拥全球 20 亿用户的 Facebook 高调更名改姓,宣布将元宇宙刻进公司长远的发展基因:普华永道给出预测,为2030年的元宇宙产业赋予了高达1.5万亿美元的 ...

  6. 《对马岛之魂》:“取巧”成功的佳作

    Sucker Punch发挥了扬长避短的精神,最终游戏体验不错,而且很可能比它的实际质量更好一些. 第一次看<对马岛之魂>的实机演示视频时,我就脑补了这样一个小故事: Sucker Pun ...

  7. 《赛博朋克 2077》与《对马岛之魂》的「不自由感」究竟从何而来?

    <上古卷轴4 湮灭>(2006) 现在的许多 3A 游戏都采用了开放世界的设计,甚至可以说这已经成为了一种游戏中理所当然的要素.如果要具体指出开放世界究竟有什么魅力,那当然就是「自由度」了 ...

  8. 真实感皮肤渲染技术总结

    <GPU Gems 3>中的"Chapter 14. Advanced Techniques for Realistic Real-Time Skin Rendering&quo ...

  9. 高并发图片实时渲染技术在阿里妈妈的大规模应用

    个性化推荐已经广泛应用到新媒体.电商.游戏等领域,当你打开手机淘宝的时候,淘宝会根据你的浏览和购买等历史行为,提供个性化的商品推荐.那么,这些形式多样.风格各异的个性化商品展示是怎样最终呈现到APP中 ...

最新文章

  1. QA: What's the difference between CustomControl and UserControl?
  2. linux ----- Vim进入和退出命令
  3. 电话号码的字母组合—leetcode17
  4. arm64动态链接库通过函数名获取函数偏移
  5. .net 怎么循环得到数组里的值_HashMap 底层实现、加载因子、容量值及死循环
  6. 关注 | 新冠病毒这次的突变毒株太可怕,与人受体亲和力提高了1000倍,传播提高70%!已经成为伦敦地区主要毒株...
  7. 3-1:常见任务和主要工具之软件包管理
  8. 比特币矿业公司 Marathon 一季度产出 196 枚 BTC,共持有超 5100 枚 BTC
  9. 《Puppet实战手册》——1.4 利用Git管理配置清单
  10. 切图具体需要切什么内容_如何进行网页切图?网站建设切图的标准是什么?
  11. unity算法面试_Unity面试准备
  12. 操作WORD文件:使用MSWORD.OLB组件将RichTextBox中的文本保存为WORD格式文件。
  13. Python爬虫(三):python抓取网页中的图片到本地
  14. html%2b怎么转换成加号,url 参数的加号变成空格处理
  15. 【目标跟踪 MOT】JDE - Towards Real-Time Multi-Object Tracking
  16. MR:一:什么是MR混合现实技术?
  17. CI和Smarty整合并且前后台加载不同配置文件使前台应用Smarty缓存后台不应用
  18. 以太坊中的nonce
  19. 什么是集群?集群分为哪几类?
  20. Command “python setup.py egg_info“ failed with error code 1 in /tmp/pip-build-*解决办法

热门文章

  1. 计算机组成原理:中央处理器(1)
  2. RPR(弹性分组环)
  3. 交叉熵图像分割matlab,灰度图像的二维交叉熵阈值分割法
  4. 如何把长图切段_正方体的教学过程教案有范文
  5. 代码怎样review?,安卓驱动面试
  6. 关于TCP连接四次握手(或者叫四次挥手)的详细总结
  7. 计算机网络教学是指用计算机来帮助,计算机网络教学初探论文(2)
  8. php 模拟post带cookie,php利用curl模拟post登录,传递cookie获取数据
  9. IT运维如何完成一场高质量复盘
  10. B.数据挖掘机器学习[二]---汽车交易价格预测详细版本{EDA-数据探索性分析}