Partager via


Brouillard dans les packs de ressources

Brouillards dans Minecraft: utilisation des fichiers JSON dans l'édition Bedrock pour déterminer leurs valeurs. Les créateurs peuvent définir leurs propres ensembles de valeurs de brouillard dans leurs packs de ressources. Un nouveau dossier peut être créé à la racine d'un pack de ressources appelé fogs. Tous les fichiers JSON contenus dans ce dossier seront enregistrés en tant que nouvelles définitions de brouillard pouvant être utilisées par le jeu.

Image montrant Steve fuyant des araignées cachées dans un brouillard

Dans ce tutoriel, vous apprendrez les éléments suivants:

  • À quoi ressemble un fichier brouillard et quelles options sont disponibles pour la personnalisation.
  • L'ordre dans lequel le brouillard est appliqué dépend de diverses caractéristiques, y compris les définitions du biome et la commande /fog.

Conditions requises

Nous vous recommandons de compléter les étapes suivantes avant de commencer ce tutoriel.

JSON

Exemple

Le modèle de pack de ressources standard (que vous trouverez ici) contient tous les fichiers brouillard utilisés dans le jeu. Ces fichiers peuvent servir d'exemples pour créer vos propres définitions de brouillard. Un fichier brouillard complet ressemblera à ceci:

{
  "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

Il s'agit de la version du pack de ressources pour laquelle ce paramètre de brouillard a été conçu. Cet élément est utilisé pour déterminer les chemins de mise à niveau et la rétrocompatibilité dans les nouvelles versions du jeu. La version minimale est 1.16.100.

minecraft:fog_settings

Cet élément contient les définitions et les options de brouillard.

description

Cet élément contient la description de ce paramètre de brouillard, qui renferme principalement un identifiant.

identifier

Élément contenu dans l'objet description.

Il s'agit du nom unique utilisé pour faire référence à ce paramètre de brouillard. Chaque identifiant nécessite un espace de noms. Chaque identifiant doit être unique ou une erreur s'affichera. L'espace de noms minecraft est utilisé uniquement pour les packs de ressources standard.

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

distance

Cet objet contient les valeurs du brouillard basé sur la distance. C'est le brouillard qui bloque la vision d'un joueur au-delà d'une certaine distance. Chaque champ de cet objet contient un type de valeur de distance.

Vous pouvez définir les types suivants par nom:

  • air: utilisé lorsque l'appareil photo du joueur est dans l'air.
  • weather: utilisé lorsque l'appareil photo du joueur est en l'air et que les conditions météorologiques sont actuellement actives.
  • water: utilisé lorsque l'appareil photo du joueur est dans l'eau.
  • lava: utilisé lorsque l'appareil photo du joueur est dans la lave.
  • lava_resistance: utilisé lorsque l'appareil photo du joueur est dans la lave et que l'effet Résistance à la lave est activé.

Vous pouvez en avoir un de chaque type selon vos besoins, bien qu'ils soient tous facultatifs.

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

Si vous ne définissez pas de valeur ici, le jeu utilisera la valeur définie pour le paramètre de brouillard de priorité la plus basse. Ceci est décrit de façon plus détaillée par la suite dans la section «Pile de brouillard actif».

Dans chaque type de paramétrage de distance, vous pouvez définir les variables suivantes:

  • fog_start: La distance à laquelle le brouillard commencera à apparaître.
  • fog_end: La distance où le brouillard deviendra complètement opaque.
  • render_distance_type: ce paramétrage déterminera comment les valeurs de début et de fin sont utilisées pour calculer les distances du brouillard.
  • fixed: La distance est mesurée en comptant le nombre de blocs.
  • render: la distance est multipliée par la distance de rendu actuelle.
  • fog_color: La couleur adoptée par le brouillard.

volumetric

Cet objet contient les valeurs du brouillard volumétrique. Ce brouillard sera affiché en tant que calcul à partir de la lumière passant au travers des blocs. Actuellement, ceci n'est utilisé que pour le rendu de physique réaliste (RayTracing) et il est prévu d'être ajouté à des éléments autres que PBR.

density

Élément contenu dans l'objet volumetric. Chaque champ interne contient un type de valeur de densité.

Vous pouvez définir les types suivants par nom:

  • air: utilisé lorsque l'appareil photo du joueur est dans l'air.
  • weather: utilisé lorsque l'appareil photo du joueur est en l'air et que les conditions météorologiques sont actuellement actives.
  • water: utilisé lorsque l'appareil photo du joueur est dans l'eau.
  • lava: utilisé lorsque l'appareil photo du joueur est dans la lave.
  • lava_resistance: utilisé lorsque l'appareil photo du joueur est dans la lave et que l'effet Résistance à la lave est actif.

Vous pouvez en avoir un de chaque type selon vos besoins, bien qu'ils soient tous facultatifs.

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

Si vous ne définissez pas de valeur ici, le jeu utilisera la valeur définie pour le paramètre de brouillard de priorité la plus basse. Ceci est décrit de façon plus détaillée par la suite dans la section «Pile de brouillard actif».

Dans chaque type de paramétrage de densité, vous pouvez définir les variables suivantes:

  • max_density: le coefficient du niveau de brouillard perturbant la lumière. 0.0 indique l'absence de brouillard et 1.0 représente un brouillard presque opaque.
  • uniform: lorsqu'elle est définit sur true, la densité du brouillard apparaîtra uniformément sur toutes les hauteurs.
  • zero_density_height: la hauteur en blocs à laquelle le brouillard va commencer à apparaître. Cela ne peut être configuré que si uniform est défini sur false.
  • max_density_height: hauteur en blocs où le brouillard atteindra sa max_density. Cela ne peut être configuré que si uniform est défini sur false.

media_coefficients

Élément contenu dans l'objet volumetric.

Chaque champ de cet objet définit un type de valeur de coefficient. Celles-ci sont utilisées pour déterminer la façon dont la lumière est dispersée ou réfléchie par le brouillard lorsque les rayons traversent différents supports/blocs.

Vous pouvez définir les types suivants par nom:

  • air: utilisé lorsque la lumière traverse l'air.
  • water: utilisé lorsque la lumière traverse l'eau.
  • cloud: utilisé lorsque la lumière traverse les nuages.

Vous pouvez en avoir un de chaque type selon vos besoins, bien qu'ils soient tous facultatifs.

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

Si vous ne définissez pas de valeur ici, le jeu utilisera la valeur définie pour le paramètre de brouillard de priorité la plus basse. Ceci est décrit de façon plus détaillée par la suite dans la section «Pile de brouillard actif».

Dans chaque type de paramétrage de coefficient, vous pouvez définir les variables suivantes:

  • scattering: quantité de dispersion du RVB de la lumière par le brouillard. Les deux peuvent être paramétrés en tant que tableau de 3coefficients à partir de [0,0, 1,0] ou comme une valeur de couleur pour Hex.
  • absorption: quantité d’absorption du RVB de la lumière par le brouillard. Les deux peuvent être paramétrés en tant que tableau de 3coefficients à partir de [0,0, 1,0] ou comme une valeur de couleur pour Hex.

Pile de brouillard actif

La pile de brouillard actif est utilisée pour déterminer quel paramètre de brouillard est à utiliser pour un moment donné du jeu. Chaque joueur a une pile de brouillard unique.

Chaque fois que le jeu doit déterminer les valeurs du brouillard, il commencera en haut de la pile de brouillard et la vérifiera jusqu'à ce qu'il trouve une valeur pour le type de paramètre actuel. Si un paramètre de brouillard de la pile n'a pas de paramètre, le jeu continuera à vérifier la pile du haut vers le bas. Si le jeu ne trouve pas de paramètre correspondant, il utilisera à la place ceux définis par défaut par le moteur.

La pile de brouillard est initialement configurée comme suit, la priorité la plus élevée se trouvant tout en haut:

  • Commande: les paramètres définis sur le joueur par les commandes du serveur.
  • Biomes : les paramètres définis pour être sur chaque biome.
  • Données par défaut: les paramètres par défaut basés sur les données.
  • Moteur par défaut: valeurs de code en dur.

Commande

Au sommet de la pile, la couche de commande dispose de tous les paramètres définis par la commande /fog et est évaluée comme une seule pile de haut en bas. La section «Commande de brouillard» contient plus d'information sur l'usage de la commande.

Biomes

La couche de biome est une moyenne de tous les paramètres définis par les biomes autour de la position du joueur. Les paramètres de brouillard peuvent être définis pour chaque biome individuellement dans le fichier biomes_client.json situé à la racine d'un pack de ressources. Dans chaque entrée de biome, vous pouvez avoir une variable appelée fog_identifier et définir un nom qui correspond au paramètre de brouillard que vous souhaitez utiliser avec le biome en question.

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

L'entrée default peut également être définie de cette façon et sera utilisée sous les entrées du biome dans la pile de brouillard actif. Ainsi, le paramètre de brouillard d'un biome ne remplace pas complètement le paramètre par défaut, mais le biome est lu au-dessus de celui-ci comme décrit dans la section «Données par défaut».

Données par défaut

La couche de données par défaut est définie dans l'objet default dans le fichier biomes_client.json à la racine d'un pack de ressources, à condition qu'il indique une définition de brouillard via le champ fog_identifier.

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

Moteur par défaut

Le bas de la pile utilise des valeurs codées en dur dans le cas où il n'y aurait pas de valeurs basées sur les données. En tant que telles, elles ne peuvent pas être modifiées et il ne peut y avoir aucune couche en dessous.

Commande brouillard

La commande /fog peut être utilisée pour gérer les paramètres de brouillard au niveau de la couche de «commande» de la pile de brouillard actif pour chaque joueur.

Les paramètres de brouillard dans cette couche sont ordonnés à l'aide des modes push, pop et remove de la commande /fog décrite ci-dessous. Les paramètres de brouillard sont évalués de haut en bas dans la pile de brouillard actif avec un ordre de haut en bas dans cette couche.

Les paramètres de brouillard dans cette couche sont enregistrés puis restaurés lors de le chargement du monde par joueur. De cette façon, un paramètre de brouillard qui est poussé avant une sauvegarde du monde s'appliquera toujours après un chargement de monde et peut ensuite être supprimé.

Mode push

Lance un nouveau paramètre de brouillard au(x) joueur(s) spécifié(s), ainsi qu'un identifiant fourni par l'utilisateur, sur le dessus des couches de commande de brouillard des piles de brouillard actif des joueurs.

Mode pop

Supprime le paramètre de brouillard le plus haut du ou des joueurs sélectionnés qui correspond(ent) à l'ID fourni par l'utilisateur, tel que fourni précédemment avec une commande /fog push.

Mode remove

Supprime tous les paramètres de brouillard correspondants du ou des joueurs sélectionnés qui correspond(ent) à l'identifiant fourni par l'utilisateur, tel que fourni précédemment avec une ou plusieurs commandes /fog push.