Compartir vía


Niebla en packs de recursos

En Minecraft: Bedrock Edition, las nieblas usan archivos JSON para determinar sus valores. Los creadores pueden definir sus propios conjuntos de valores de niebla en sus packs de recursos. Se puede crear una nueva carpeta en la raíz de un pack de recursos llamada fogs. Cualquier archivo JSON dentro de esta carpeta se registrará como nuevas definiciones de niebla que el juego puede utilizar.

Imagen que muestra a Steve huyendo de las arañas escondidas en la niebla

Con este tutorial, aprenderás lo siguiente:

  • Cómo se ve un archivo de niebla y qué opciones se pueden personalizar.
  • El orden en que se aplica la niebla en función de varias características, incluidas las definiciones de bioma y el comando /fog.

Requisitos

Se recomienda que completes lo siguiente antes de comenzar este tutorial.

JSON

Ejemplo

La plantilla del pack de recursos original (que se encuentra aquí) contiene todos los archivos de niebla usados en el juego. Estos archivos te pueden servir como ejemplos para crear tus propias definiciones de niebla. Un archivo de niebla completo se verá similar al siguiente:

{
  "format_version": "1.16.100",
  "minecraft:fog_settings": {
    "description": {
      "identifier": "custom_pack:example"
    },
    "distance": {
      "air": {
        "fog_start": 0.92,
        "fog_end": 1.0,
        "fog_color": "#ABD2FF",
        "render_distance_type": "render"
      }
    },
    "volumetric": {
      "density": {
        "air": {
          "density": 0.1,
          "max_density_height": 56,
          "zero_density_height": 70
        }
      },
      "media_coefficients": {
        "air": {
          "scattering": [ 0.02, 0.02, 0.02 ],
          "absorption": [ 0.0, 0.0, 0.0 ]
        }
      }
    }
  }
}

Variables

format_version

Es la versión del pack de recursos para la que se creó esta configuración de niebla. Esto se usa para determinar rutas de actualización y compatibilidad con versiones anteriores del juego. La versión mínima admitida es1.16.100.

minecraft:fog_settings

Contiene las definiciones y las opciones de la niebla.

description

Contiene la descripción de esta configuración de niebla, que principalmente contiene un identificador.

identifier

Se encuentra dentro del objeto description.

Es el nombre único que se usa para referirse a esta configuración de niebla. Cada identificador requiere un espacio de nombres. Además, cada identificador debe ser único; de lo contrario, se producirá un error. El espacio de nombres minecraft solo pueden usarlo los packs de recursos originales.

{
  "format_version": "1.16.100",
  "minecraft:fog_settings": {
    "description": {
      "identifier": "custom_pack:example"
    },
    ...
  }
}

distance

Este objeto contiene los valores de la niebla basada en la distancia. Esta es la niebla que limita la visión del jugador y le impide ver cualquier cosa más allá de una distancia específica. Cada campo dentro de este objeto contiene un tipo de valor de distancia.

Puedes configurar los siguientes tipos por nombre:

  • air: se usa cuando la cámara del jugador está en el aire.
  • weather: Se usa cuando la cámara del jugador está en el aire y el clima está activo en ese momento.
  • water: Se utiliza cuando la cámara del jugador está en el agua.
  • lava: se usa cuando la cámara del jugador está en la lava.
  • lava_resistance: se usa cuando la cámara del jugador está en la lava y el efecto de resistencia a la lava está activo.

Puedes tener uno de cada tipo según sea necesario, aunque todos son opcionales.

    "distance": {
      "air": {
        ...
      },
      "water": {
        ...
      }
    }

Si no estableces un valor aquí, el juego usará el valor de la configuración de niebla con la siguiente prioridad más baja. Esto se describe con más detalle en la sección Pila de niebla activa.

En cada tipo de configuración de distancia, puedes establecer las siguientes variables:

  • fog_start: La distancia donde comenzará a aparecer la niebla.
  • fog_end: La distancia donde la niebla se volverá completamente opaca.
  • render_distance_type: Establecer esto determinará cómo se utilizan los valores inicial y final para calcular las distancias de la niebla.
  • fixed: La distancia se mide en función de la cantidad de bloques que incluye.
  • render: la distancia se multiplica por la distancia de renderizado actual.
  • fog_color: es el color que tendrá la niebla.

volumetric

Este objeto contiene los valores de la niebla volumétrica. Esta niebla se mostrará como un cálculo de la luz que atraviesa los bloques. Actualmente, esto solo se usa para PBR (Trazado de rayos) y está previsto que, más adelante, se agregue también a otras técnicas que no sean PBR.

density

Se encuentra dentro del objeto volumetric. Cada uno de sus campos contiene un tipo de valor de densidad.

Puedes configurar los siguientes tipos por nombre:

  • air: se usa cuando la cámara del jugador está en el aire.
  • weather: Se usa cuando la cámara del jugador está en el aire y el clima está activo en ese momento.
  • water: Se utiliza cuando la cámara del jugador está en el agua.
  • lava: Se utiliza cuando la cámara del jugador está en la lava.
  • lava_resistance: Se usa cuando la cámara del jugador está en la lava y tiene activo el efecto de resistencia a la lava.

Puedes tener uno de cada tipo según sea necesario, aunque todos son opcionales.

    "volumetric": {
      "density": {
        "air": {
          ...
        },
        "water": {
          ...
        }
      }
    }

Si no estableces un valor aquí, el juego usará el valor de la configuración de niebla con la siguiente prioridad más baja. Esto se describe con más detalle en la sección Pila de niebla activa.

En cada tipo de configuración de densidad, puedes establecer las siguientes variables:

  • max_density: El multiplicador que indica en qué medida la niebla interrumpe la luz. 0.0 significa sin niebla y, con un valor 1.0, la niebla será casi opaca.
  • uniform: Cuando se establece en true, la densidad de la niebla será uniforme en todas las alturas.
  • zero_density_height: La altura en bloques a la que empezará a aparecer la niebla. Esto solo se puede configurar si uniform se establece en false.
  • max_density_height: es la altura en bloques en la que la niebla tendrá su max_density. Se puede configurar solo si uniform se establece en false.

media_coefficients

Se encuentra dentro del objeto volumetric.

Cada campo dentro de este objeto define un tipo de valor de coeficiente. Se usan para determinar cómo la luz se dispersa o refracta por efecto de la niebla a medida que los rayos atraviesan diferentes medios o bloques.

Puedes configurar los siguientes tipos por nombre:

  • air: Se utiliza cuando la luz atraviesa el aire.
  • water: Se utiliza cuando la luz atraviesa el agua.
  • cloud: Se utiliza cuando la luz atraviesa las nubes.

Puedes tener uno de cada tipo según sea necesario, aunque todos son opcionales.

    "volumetric": {
      "media_coefficients": {
        "air": {
          ...
        },
        "water": {
          ...
        }
      }
    }

Si no estableces un valor aquí, el juego usará el valor de la configuración de niebla con la siguiente prioridad más baja. Esto se describe con más detalle en la sección Pila de niebla activa.

En cada tipo de configuración de coeficiente, puedes establecer las siguientes variables:

  • scattering: En qué medida la niebla dispersará el RGB de la luz. Se puede configurar como una matriz de 3multiplicadores de [0.0, 1.0] o como un valor de color hexadecimal.
  • absorption: la medida en la que la niebla absorberá el RGB de la luz. Se puede configurar como una matriz de 3multiplicadores de [0.0, 1.0] o como un valor de color hexadecimal.

Pila de niebla activa

La pila de niebla activa se usa para determinar qué configuración de niebla emplear en un momento dado del juego. Cada jugador tiene una pila de niebla única.

Siempre que el juego necesite determinar los valores para la niebla, comenzará por la parte superior de la pila de niebla y revisará hacia abajo hasta encontrar un valor para el tipo de configuración actual. Si una configuración de niebla en la pila no tiene una configuración, el juego continuará buscando en la pila hacia abajo. Si el juego no encuentra tal configuración, usará los valores predeterminados que define el motor.

Inicialmente, la pila de niebla está configurada de la siguiente manera, con la mayor prioridad en la parte superior:

  • Command: es la configuración que los comandos del servidor le aplican al jugador.
  • Biomes (Biomas): Es la configuración definida para cada bioma.
  • Data Default (Valores predeterminados basados en los datos): Es la configuración predeterminada basada en los datos.
  • Engine Default: son los valores predeterminados.

Command

En la parte superior de la pila, la capa de comando tiene todas las configuraciones que establece el comando /fog y se evalúa como una pila, desde arriba hacia abajo. Puedes obtener más detalles sobre el uso del comando en la sección Comando de niebla.

Biomas

La capa de bioma es un promedio de todas las configuraciones definidas por los biomas en relación con la posición del jugador. La configuración de niebla se puede definir para cada bioma individual dentro del archivo biomes_client.json ubicado en la raíz de un pack de recursos. En cada entrada de bioma, puedes tener una variable llamada fog_identifier y establecer un nombre que coincida con la configuración de niebla que deseas usar con ese bioma.

{
  "biomes": {
    ...
    "ice_plains": {
      "fog_identifier": "minecraft:fog_ice_plains",
      ...
    },
    ...
    "mesa_plateau": {
      "fog_identifier": "minecraft:fog_mesa_plateau",
      ...
    },
    ...
  }
}

La entrada default también se puede configurar de esta manera y se usará debajo de las entradas de bioma en la pila de niebla activa. Por lo tanto, la configuración de niebla de un bioma no reemplaza por completo la configuración predeterminada, sino que el bioma se lee por encima de la configuración predeterminada, tal como se describe en la sección Valores predeterminados basados en los datos.

Valores predeterminados basados en los datos

La capa de valores predeterminados basados en los datos se define dentro del objeto default en el archivo biomes_client.json en la raíz de un pack de recursos, siempre que haga referencia a una definición de niebla en el campo fog_identifier.

{
  "biomes": {
    "default": {
      "fog_identifier": "minecraft:fog_default",
      ...
    }
  },
  ...
}

Valores predeterminados del motor

Si no hay valores basados en los datos, la parte inferior de la pila usa valores predeterminados. Dado que son predeterminados, no se pueden cambiar y no puede haber capas debajo de este nivel.

Comando de niebla

El comando /fog se puede usar para administrar la configuración de niebla en la capa command de la pila de niebla activa para cada jugador.

La configuración de niebla en esta capa se ordena mediante los modos push, pop y remove del comando /fog, que se describen a continuación. La configuración de niebla se evalúa desde arriba hacia abajo en la pila de niebla activa, lo que incluye primero los valores de esta capa, desde arriba hacia abajo.

La configuración de la niebla especificada en esta capa se guarda y, luego, se restablece cuando cada jugador vuelve a cargar el mundo. De esta manera, una configuración de niebla que se envía antes de que se guarde el mundo se seguirá aplicando después de que se cargue el mundo y, luego, se puede descartar mediante el comando pop.

Push

Envía una nueva configuración de niebla para jugadores específicos, junto con un ID proporcionado por el usuario, por encima de las capas del comando de niebla de las pilas de niebla activas de los jugadores.

Pop

Elimina la configuración de niebla con mayor prioridad de los jugadores seleccionados que coincidan con el ID suministrado por el usuario, si se proporcionó antes mediante un comando /fog push.

Remove

Elimina todas las configuraciones de niebla de los jugadores seleccionados que coincidan con el ID suministrado por el usuario, si se proporcionó antes mediante uno o más comandos /fog push.