迷雾¶
迷雾(Fog)是Minecraft基岩版中控制远处场景可见度和颜色的渲染系统。迷雾通过逐渐混合远处物体的颜色与指定的迷雾颜色来模拟大气效果,是生物群系视觉表现的重要组成部分。
概述¶
迷雾定义了游戏世界中远处场景的淡化方式,包括迷雾的颜色、起始距离和终止距离。不同的生物群系、天气条件和特殊场景(如水下、岩浆中)会应用不同的迷雾设置,以营造不同的氛围效果。
迷雾定义文件以JSON格式编写,存放在资源包的fogs/目录中。每个迷雾定义通过赋命名空间标识符引用。
迷雾设置¶
迷雾定义文件的根键为minecraft:fog_settings,包含以下主要设置:
距离设置¶
距离设置分为多个类别,每个类别控制特定渲染层的迷雾效果:
- 摄像机(Camera):控制地面场景的迷雾。
- 天气(Weather):控制雨天等天气条件下的附加迷雾。
- 水(Water):控制水下场景的迷雾。
- 岩浆(Lava):控制岩浆中的迷雾。
- 粉雪(Powder Snow):控制粉雪中的迷雾。
- 极远距离(Lava Resistance):控制具有抗火属性时岩浆中的迷雾。
每个类别可以独立指定迷雾的起始距离、终止距离和过渡类型(线性或指数)。
体积设置¶
体积设置控制迷雾中散射介质的表现,包括介质系数和颜色。体积迷雾可以模拟更真实的大气散射效果。
迷雾栈¶
迷雾栈(Fog Stack)是游戏在渲染时按优先级叠加多个迷雾设置的机制。玩家的迷雾栈中可能同时存在多个迷雾定义(如生物群系迷雾、天气迷雾、脚本推送的迷雾等),游戏按照优先级从高到低合并这些设置,最终确定实际的渲染迷雾参数。
迷雾栈可以通过以下方式修改:
- 命令:
/fog命令可以向玩家的迷雾栈中推入或移除迷雾设置。 - 脚本API:通过
@minecraft/server模块中的相关接口操控玩家的迷雾栈。 - 生物群系定义:生物群系定义中可以指定该生物群系的默认迷雾设置。
与生物群系的关系¶
每个生物群系可以在其客户端定义文件(biomes_client.json)中关联一个迷雾定义。当玩家进入不同的生物群系时,游戏会自动切换对应的迷雾设置,从而呈现出不同生物群系的独特氛围。