我在Unity工作,并且拥有一个大型的2D横向过场世界,背景图像始终可见,即使你在建筑物内,你也可以通过窗户看到它。 我最初使用静态的白天图像,总共有四个版本,分别对应不同的时间,如早晨、白天、日落和夜晚。它们应该在完成主要的故事线上地下城后更改。但是,最近我重新设计了天空背景图像,使用了一个新的云系统。 我以前使用粒子系统和云精灵,现在我转向了几个着色器图形云,使用了“Quibly:动漫着色器和工具”资产和Cloud2D着色器。 将其与2D URP资产结合起来有一点儿麻烦,因为它原本是为3D场景设计的。当我完成了第一幅日出背景图像后,下一步将是制作白天版本,但我想为什么不让它动态呢?这不会从游戏中取走任何东西,只会增加很多,让世界看起来不再像一个背景,而像一个真正的活生生世界,哪怕你不在场。 我用一个简单的Unity动画器在背景对象上动画了太阳的旋转、光色的变化、星星的出现等。然后我写了一个单例的时钟管理器,它与保存系统绑定,管理器始终知道游戏内部的时间,并在进入过场世界主场景时同步动画。 在这段视频中,音乐被静音,但时钟管理器还与背景音乐系统通信,控制背景音乐的音量。 在夜晚,音乐被静音,你只能听到风声。在日出时音乐音量慢慢地升高,到了白天就可以播放,而在日落时音乐音量又慢慢地降低。一个循环持续约一个小时,而“上天的云朵”区域需要几个小时才能完全探索,所以玩家将体验到多个循环,尽管它们相对较慢。 这段视频中循环被加快了。 从游戏角度来看,这个循环并没有做太多事情。有一些侧重点相关的事情受到时间的影响(在夜晚才能进入特定的天空岛屿,一项照片任务需要在正确的时间改变环境),还有一个可解锁的房间,玩家可以改变时间。如果玩家想要的话。 我并没有做出什么疯狂的改变,它主要是视觉和气氛的加强,因为我觉得它很有趣。这个游戏叫做“GameChanger - 第一部分”,它是一款2D动作冒险游戏,类似于Zelda的谜题地下城。
如何为我的Overworld添加白天黑夜循环
评论 (0)