很多事,都是说起来容易做起来难,就比如想在一块小小的屏幕里呈现“时空”。不积跬步无以至千里,最终目标虽然遥远,但幸运的是,我们有个明确的目标。
想要呈现动态的时空,需要包含诸多元素,我们大概总结成了一句话:在任何地方的任何时间都有各种可能性。
翻译成需求点,便是:地形可变、时间可变、玩法可变。
这三点之中,玩法可变是最麻烦的。它需要在地形和时间的基础上进行更深的设计,因此我们把它留到最后解决。地形和时间的变化,大致可以归纳为地形资源变化和环境变化,如果从因果关系来看,非人为情况,地形会因为环境而变化。所以为了避免浪费工作量,我们决定先从环境入手。
环境又包含了:光、风、云、雨等等各种东西,从实现难度和基础奠定角度分析,“光”便是我们首要解决的诸多可变因素中的第一个。
我们首先实现了光线的从早到晚的变化,起初在平地上测试,不太有阴暗面存在的情况下并没有发现问题。
但之后在夜晚、背光等情况下,出现了一些问题。在全动态光照的情况下,物体背光会出现死黑。毕竟手上的这块屏幕还没有智能到完全理解现实世界的光线运作原理,所以工作量又增加了……
今天又是加班的一天。——摘自矿工委员会某矿工语录
隔天,问题得到了解决。以下是对比图: