我是在多玩上制作神圣天堂星空补丁的那位,其效果是将神圣天堂的蓝天白云替换成星空。那个补丁发布后反响不错,看来大家都很喜欢夜空。
昨天在看旋转星图,忽然意识到一年四季、每个晚上的星空其实并没有很大的变化,联系我对《龙之谷》天空文件实现原理的了解,我向盛大及韩国制作团队提议,制作真·星空效果。
星空:
神圣天堂的天空是由/resource/envi/sun_days03.dds这张材质文件贴在一个半球体表现实现的。
如果要改成星空的话,可以将此图改成一张符合当地纬度的全天星图,然后每次载入地图时,根据服务器当前日期时间,计算出当前星空的可视范围,返回该可视范围的坐标,客户端即可在dds贴图上裁剪出这样一个方形区域,作为天空的贴图。这样就与现实世界中头顶的星空温和了。
太阳与月亮:
现在神圣天堂中有太阳,无非就是一个光源,恒定在西南方(正南略偏西,因此大家的影子都是正北略偏东的)。如果此光源的位置能根据服务器时间变化,那就是太阳了。
月亮与太阳同理,就是稍暗一些的光源,月相的盈亏变化也就是贴图,每天一张。
日、月食:
这个……要模拟日月的运动轨迹也没必要,干脆就在特殊日子加入特定脚本来实现效果吧……
行星:
行星的运动规律比较难以复杂,而且相对于星空来说发生位置变化,如果要实现的话可能就要引入运动物体,可能造成绘图负担,建议忽略。