理论上不难但是实践起来超级麻烦。(这里说的是3A游戏)
今年E3上展出的游戏中视觉上让我惊艳的其中就有《The Division(全境封锁)》,很大原因就是它的天气系统做的太好了(羡慕嫉妒恨啊……),这里有一段视频展示它的引擎和开发者的使用感想:
Tom Clancy’s The Division – Snowdrop Engine @ GDC 2014
真正的动态天气会涉及到游戏的很多方面,眼睛可以看到的比如说天空、光照、雾、每个物体上的漫反射、法线、高光、post process包括color grading、tone mapping等;看不到但是能感觉到的游戏玩法比如说走到雪地上速度会变慢、npc跟你抱怨为神马天气这么糟糕庄稼都被淹死了啊、下雨天捡肥皂容易滑倒什么的(这是神马游戏啊喂!)……要在一个庞大的游戏引擎里把这么多东西都照顾周到可真不是件容易事儿。
程序上需要考虑怎么把天气系统和其他各种乱七八糟的东西联系起来,渲染接口,游戏系统接口,好不容易接上弦了没几天又被人改其他东西改坏了……修好了又被改坏了如此往复直到游戏发行(貌似变成吐槽了啊喂!)……
在这件事情上其实程序只占一小部分(如果主要是视觉变化而没有那么在意对玩法影响的话),更多的还要靠美术体力活儿。由于物体的属性不一样,它们在不同天气下也会有完全不一样的材质。就说游戏中常见的两种材质,木头和金属吧:下雨天,木头颜色会变深,金属则基本不变颜色;它们对水的附着力不一样导致雨水流下来的痕迹不同,要用不同的mask;法线、高光贴图也需要不同程度的处理。再举个栗子,上面视频里有一段在纽约街头的雪景,虽然都是积雪,警车车盖上的,和汽油罐子的,和地上车轮压过的,都有人去进行需要不同的处理。画完了还不算,还要把这些个不同状态下的材质神马的放到上面程序做的系统中去,保证各种情况下的渐变都看起来自然又漂亮又酷炫……
听起来就感觉各种蛋疼乳酸对不对……
乱入一个……
— 完 —
本文作者:金晶
【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)
此问题还有 24 个回答,查看全部。
延伸阅读:
国产单机游戏为什么发展不起来?
玩过的游戏里 任务系统最好的是哪个?为什么?