完全表现出现实世界中各种偶然而不可预料的风景!

    【Forza Horizon】系列是一款独特的开放世界赛车游戏,就如本系列的爱好者所了解的一样,在最新作【Forza Horizon 3】中,游戏的舞台完美的再现了包含澳大利亚的风景,自然环境与天空,以及气候等要素。在GDC 2017最后一天的分享【Shoot for the Sky: The Ambitious HDR Time-Lapse Skies of FORZA HORIZON 3】上,以【Forza Horizon 3】的天空为焦点进行了技术解说。

 
Playground Games的光照主美术师 Jamie Wood

    本次担任分享讲解的,Playground Games的光照主美术师 Jamie Wood。因为3月3日是美国Nintendo Switch的发售日,Wood幽默的提示到在听讲时,”请关闭Nintendo Switch的电源”。

    因为本次分享的主题的"HDR",作为Xbox上首次对应HDR的游戏,本以为会公开一些HDR实现的相关经验技术,但实际完全不是。【Forza Horizon 3】中,不在使用前作的【Forza Horizon 2】中基于环境模拟的来表现天空和云彩的方法,完全替换为了基于实际拍照的方法。因为准备了原始的HDR信息,也应该不需要任何HDR的经验技术了。

    因为是基于实拍来表现天空表现,虽然需要大量的成本,资源以及人员,成为了非常麻烦的工作,但在只有【汽车】,【道路】,【天空】3个要素构成的【Forza Horizon】系列里,有着巨大的效果。

    Wood首先介绍了前作中环境模拟的天空表现。通过一些云的模板,以及128阶段的云光照,随着早上,傍晚,夜晚的时间变化一起光照也发生着变化。即便是现在来看也是毫不逊色的美丽景色。

【Forza Horizon 2】的天空表现
 

    但是这种环境模拟的方式终归是模拟的,只能有限的进行表现,和现实的天空有着很大的差异。现实的天空中,经常会出现戏剧性的风景,特别是晚霞美丽可以称作“魔幻时刻”。而【Forza Horizon 3】追求的,就是在游戏中再现这种现实世界丰富的天空表现,所以在开发初期就确定采用基于实拍的方式。

【可是现实的天空更加丰富多彩】

    基于实拍的天空也有简单的实现方法,是把录像的天空影响直接在游戏中流式传送播放(Stream)。和VR的影像内容一样,这个方法就可以就可以把现实的天空一模一样的直接的实现了。

    但是这种方法很早就放弃了。原因就是,这样无法加入制作组内部的经验技术,磁盘空间和内存容量,以及要确保流式传输的带宽,和游戏里影像的整合性等,有着各种物理上的制约。那么,【Forza Horizon 3】中基于实拍的天空表现,是用多个相机在24小时里连续循环,通过实时摄影采集的大量的天空数据。再把这些进行数据化的要借助大量劳力的手法。

    摄影方法,是在【Forza Horizon 2】发布后的2014年冬天开始,因为这时还没确定游戏舞台,有着测试摄影的意义,在Playground Games的所在地英国进行了摄影。

    在空阔的平地上用架设了有专用转台的大型三脚架,在转台上设置了3台佳能EOS-1D X、是当时高端的数字单反相机,光是摄像器材开销150万日元以上了。除此之外还有还有24小时连续驱动的电池,256GB的CF卡(CompactFlash),80TB的网络存储服务器(NAS),还包含工作PC的SSD固态硬盘等等,器材是极大的开销。可以是背负着XBox招牌的旗舰游戏的规模感。通过这些努力制作出来的天空数据,不仅仅实现【Forza Horizon】系列的美丽,还加入了自然真实的天空表现。

译注:日文原文比较简单下面的ppt拍照里有一些技术细节,等gdcvalut更新视频后再做细节介绍了。。

【撮影处理】
 
 
 
【数据化处理】
 
 
 
 
 

【Forza Horizon 2】(FH2 SKY SYSTEM)和【Forza Horizon 3】(OPUS HDR SKY)的对比
 
 
 
通过比较可以发现,【Forza Horizon 2】的天空表现更像CG一些。

【天空的运动】
 
 
 
 
【追加的処理】
 
雾的处理

间接光的表现

云影的表现

 车体上反射的表现

天候表现

    2015年夏天重新在澳大利亚进行了约1个月的摄影。拍摄了200万张照片,游戏中实现的澳大利亚的天空和天候的变化,完全的再现了“真实的澳大利亚的天空”

【在澳大利亚的正式摄影】
 
 
     
   看到的实际实现的基于拍照的天空,效果比想象的还要好。以前基于美术师感觉实现的天空表现,距离现实的天空表现太远,也只能表现有限的内容,而本作中实现了谁看起来都是真实的澳大利亚的天空,特别是加入了各种偶然的表现,再现了无法预估的天空样式,是最大的收货。
   按这次分享会上提到的时间表来看,他们应该已经在某国进行着【Forza Horizon 4】的天空拍摄了,那么2018年预订发行的下一款作品的天空会实现怎么样的进化呢,开始变得有意思起来了。

【完成数据】
 
【随着时间的変化】
 
 

【Forza Horizon 3‘】的天空表现


GDC2017 把“现实的天空”在游戏内再现【Forza Horizon 3】的天空表现的更多相关文章

  1. Unity游戏内版本更新

    最近研究了一下游戏内apk包更新的方法. ios对于应用的管理比较严格,除非热更新脚本,不太可能做到端内大版本包的更新.然而安卓端则没有此限制.因此可以做到不跳到网页或应用商店,就覆盖更新apk包. ...

  2. 使用uGUI制作游戏内2D动画

    在3D的游戏中制作2D的效果是一个很常见的需求,我在很早前玩过一个叫做艾尔之光的游戏,里面就大量的使用了这个技术.就像下面图片中的伤害数字,这些数字往往还是有一些动画效果在里面的,比如大小的变化,颜色 ...

  3. 破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程

    由于Android系统的开放性,让人人都是开发者成为可能,也正因如此,手机APP遭受破解和盗版问题长期存在,且愈演愈烈.尤其是手游 行业,如刀塔传奇.植物大战僵尸.2048等知名游戏被破解的案例不胜枚 ...

  4. Unity3D脚本调用Objective C代码实现游戏内购买

    0.开篇吐槽: 一年之内从WP转到iOS,又从iOS转到U3D,真心伤不起. 1.Unity3D脚本调用OC代码的原理: 其实也没啥神秘的,因为OC是和C互通的 ,C#又可以通过DllImport的形 ...

  5. Cocos2d-x使用iOS游戏内付费IAP(C++篇)

    本文章转载 http://www.ityran.com/archives/5515.非本人原创! 前期准备 设备与账号 在开始编码之前我们需要准备测试环境. IAP只能真机测试,准备一台iOS设备是必 ...

  6. unity 嵌入 百度分享 与 游戏内购物 iap

    原地址:http://blog.csdn.net/u012085988/article/details/18268869 最近老板让在unity项目里实现分享与内购功能,还要ios和android两个 ...

  7. 在Unity3D中利用 RenderTexture 实现游戏内截图

    using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; publ ...

  8. 辐射4 中文武器命名方法, 不用winhex, 直接游戏内操作

    参考资料:https://www.reddit.com/r/fo4/comments/3t354b/tip_you_can_add_text_formatting_italic_underline/h ...

  9. 利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客挖掘机 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

随机推荐

  1. 树上统计treecnt(dsu on tree 并查集 正难则反)

    题目链接 dalao们怎么都写的线段树合并啊.. dsu跑的好慢. \(Description\) 给定一棵\(n(n\leq 10^5)\)个点的树. 定义\(Tree[L,R]\)表示为了使得\( ...

  2. [TenserFlow学习笔记]——安装

    最近人工智能.深度学习.机器学习等词汇很是热闹,所以想进一步学习一下.不一定吃这口饭,但多了解一下没有坏处.接下来将学习到的一些知识点做一下记录. 1.安装环境 在VMWare虚拟机中安装最新版本的U ...

  3. Go语言第一深坑:interface 与 nil 的比较

    interface简介 Go 语言以简单易上手而著称,它的语法非常简单,熟悉 C++,Java 的开发者只需要很短的时间就可以掌握 Go 语言的基本用法. interface 是 Go 语言里所提供的 ...

  4. NSURLSession 相关清单

    浅析 NSURLSession      http://boboshone.com/blog/2013/10/21/nsurlsession-tutorial/ 介绍整体流程结构. iOS NSURL ...

  5. Drawing line on a click on ZedGraph Pane

    https://stackoverflow.com/questions/12422398/drawing-line-on-a-click-on-zedgraph-pane public Form1() ...

  6. VS2010链接TFS遇见错误:TF204017,没有访问工作区域,需要一个或者多个必须权限

    最近刚刚搭建好服务器,然后准备将VSS源代码迁移到TFS源代码管理服务器上面.在我本机先用的服务器帐号来上传初始化源代码数据库,然后我又用自己的帐号进行迁出代码的时候发生的异常. 造成上述错误,主要是 ...

  7. 推荐10本C#编程的最佳书籍

    C#和.NET非常受全球开发人员的追捧和热爱.书籍是人类进步的阶梯.想要学习C# ?这里有10本学习C#编程的最好书籍在等着你哦. 1.<C# 5.0 in a Nutshell>:权威的 ...

  8. 在数据库繁忙时如何快速有效的关闭MySQL服务

    如果InnoDB_buffer_size参数很大,缓冲区内的脏数据太多,那么关闭MySQL的时候必须把脏数据刷新到磁盘,这个过程有可能是很漫长的,从而导致关闭MySQL服务的时间过长.可以临时设置in ...

  9. 使用Let’s Encrypt生成免费的SSL证书

    SSL(安全套接层,Secure Sockets Layer),及其继任者 TLS (传输层安全,Transport Layer Security)是为网络通信提供安全及数据完整性的一种安全协议.TL ...

  10. OpenSUSE 服务器系统部署

    1.准备 1.1 下载系统 下载地址:https://software.opensuse.org/distributions/leap 目前的最新版本为leap,推荐使用种子下载速度较快. 1.2 配 ...