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

    【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. Codeforces Round #516 (Div. 2) (A~E)

    目录 Codeforces 1064 A.Make a triangle! B.Equations of Mathematical Magic C.Oh Those Palindromes D.Lab ...

  2. 喵哈哈村的魔法考试 Round #15 (Div.2) 题解

    哗啦啦村的奇迹果实(一) 题解:显然答案就是最大值减去最小值. #include<bits/stdc++.h> using namespace std; const int maxn = ...

  3. vscode调试C/C++时支持查看定义查看引用

    貌似老版支持现在不支持了,需要自己加第三方工具,方法如下: 确保你安装了c/c++,此文写作时版本为0.20.1 从GTAGS官网下载Win32程序,解压,将其放在合适的位置,并把其目录下/bin文件 ...

  4. Linux centOS Ubuntu --- 使用systemctl添加开机启动

    我们对service和chkconfig两个命令都不陌生,systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体. systemctl is-enable ...

  5. iOS开发-工厂模式

    工厂模式算是开发中比较常见的设计模式,简单工厂模式,工厂模式和抽象工厂模式,都属于工厂模式.简单工厂模式(simple factory)是类的创建模式,静态工厂方法(static factory me ...

  6. 解锁scott账户方法

    装完了数据库,忘了给scott账户解锁.这时可以在sql plus工具里,也可以在控制台通过命令行给scott账户解锁. 在第一种情况下,以system账户+自己安装时设置的密码,登录SQL Plus ...

  7. eclipse plugin development -menu

    org.eclipse.ui.menus locationURI MenuContribution locationURI = "[Scheme]:[id]?[argument-list]& ...

  8. 五种常见的ASP.NET安全缺陷

    保证应用程序的安全应当从编写第一行代码的时候开始做起,原因很简单,随着应用规模的发展,修补安全漏洞所需的代价也随之快速增长.根据IBM的系统科学协会(SystemsSciencesInstitute) ...

  9. Nginx 功能模块

    一.Nginx 核心功能模块 Nginx 核心功能模块负责 Nginx 的全局应用,主要对应主配置文件的 Main 区块和 Events 区块,这里有很多 Nginx 必须的全局参数配置. Nginx ...

  10. 开源中文分词工具探析(六):Stanford CoreNLP

    CoreNLP是由斯坦福大学开源的一套Java NLP工具,提供诸如:词性标注(part-of-speech (POS) tagger).命名实体识别(named entity recognizer ...