1. Wiki
  2. /Visuels et éclairage
  3. /Ensembles de textures (PBR)

Ensembles de textures (PBR)

Crée des blocs Minecraft Bedrock brillants, lumineux et en relief pour Vibrant Visuals et le ray tracing avec les fichiers texture_set.json : couches de couleur, MER/MERS, normal et heightmap.

Une texture normale n'a que de la couleur. Un ensemble de textures (texture set) ajoute des couches supplémentaires qui indiquent à Vibrant Visuals et au ray tracing comment la surface réagit à la lumière : est-ce du métal, est-ce que ça brille, est-ce rugueux ou poli, est-ce en relief ? On appelle ça le PBR (physically based rendering, rendu physiquement réaliste).

Sur cette page, tu vas faire briller le bloc de rubis comme une gemme polie, avec une douce lueur intérieure.

Les fichiers

L'ensemble de textures se place juste à côté de la texture qu'il améliore, avec le même nom :

Pack de ressources
RP/
  textures/
    blocks/
      ruby_block.png
      ruby_block.texture_set.json
      ruby_block_mer.png
      ruby_block_normal.png

Contrairement aux autres pages de cette section, il n'y a rien à appliquer. Le jeu trouve ruby_block.texture_set.json parce qu'il est à côté de ruby_block.png, et l'utilise partout où cette texture apparaît.

Le fichier d'ensemble de textures

RP/textures/blocks/ruby_block.texture_set.json
{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "ruby_block",
    "metalness_emissive_roughness": "ruby_block_mer",
    "normal": "ruby_block_normal"
  }
}

Chaque couche est le nom d'une image du même dossier, sans l'extension du fichier.

Les couches

CoucheObligatoireCe qu'elle contient
colorOuiLa texture normale : RGB, ou RGBA avec transparence. Le rendu classique n'utilise que celle-ci.
metalness_emissive_roughnessNonLa carte MER. Trois canaux, voir plus bas.
metalness_emissive_roughness_subsurfaceNonLa carte MERS : MER plus un quatrième canal pour la diffusion sous la surface. À utiliser à la place de MER.
normalNonUne normal map : simule de petites bosses et des creux avec des couleurs RGB.
heightmapNonUne carte des reliefs en niveaux de gris : le blanc est haut, le noir est bas. Plus simple qu'une normal map.

Tu peux utiliser normal ou heightmap, jamais les deux.

La carte MER

Une seule image, où chaque canal de couleur veut dire quelque chose de différent :

CanalSignifie0 (noir)255 (plein)
RougeMétalliquePas du métal, comme la pierre ou le boisDu métal brut, comme l'or
VertÉmissifNe brille pasBrille fort
BleuRugositéLisse comme un miroirComplètement rugueux et mat
Alpha (MERS seulement)Diffusion sous la surfaceLa lumière reste en surfaceLa lumière traverse un peu, comme les feuilles ou la peau

Pour le rubis : rouge proche de 0 (une gemme n'est pas du métal), vert autour de 40 pour une légère lueur, et bleu autour de 30 pour un éclat poli.

Dessine-la sur la même grille

Les images MER, normal et heightmap correspondent pixel pour pixel à la texture de couleur. Peins-les à la même taille (16x16 pour un bloc) pour que les parties brillantes et lumineuses tombent pile sur les couleurs.

Une seule valeur pour toute la texture

Si tout le bloc est fait du même matériau, passe-toi de l'image supplémentaire et écris les valeurs dans le JSON :

RP/textures/blocks/ruby_block.texture_set.json
{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "ruby_block",
    "metalness_emissive_roughness": [0, 40, 30]
  }
}

Les nombres vont de 0 à 255. Tu peux aussi utiliser l'hexadécimal : "#00281E" pour le même MER. Une color uniforme prend quatre valeurs (rouge, vert, bleu, alpha), et une heightmap uniforme en prend une.

Les règles qui cassent un ensemble de textures

Si l'une de ces conditions est vraie, le jeu ignore l'ensemble de textures et écrit une erreur dans le journal de contenu :

  • Il n'y a pas de couche color.
  • normal et heightmap sont toutes les deux définies.
  • Une couche pointe vers une image qui n'est pas dans le même pack de ressources.
  • Une image n'a pas le bon nombre de canaux. color, MER et normal ont besoin de 3 ou 4 canaux, heightmap en a besoin d'un seul.

Si une image du même nom existe en plusieurs formats, le jeu choisit d'abord .tga, puis .png, puis .jpg, puis .jpeg.

Les ensembles de textures de deux packs ne sont jamais fusionnés. Le pack placé plus haut dans la liste remplace tout l'ensemble.

Le jeu vanilla utilise MERS

Les blocs vanilla utilisent metalness_emissive_roughness_subsurface avec une format_version de 1.21.30, et des images .tga pour que le canal alpha contienne la diffusion sous la surface. Copie-en un depuis les bedrock samples pour voir un exemple qui marche.

Aucun changement en jeu ?

Les ensembles de textures ne s'affichent qu'avec Vibrant Visuals ou le ray tracing activé. Si le rendu reste plat, ajoute la bonne capacité dans le manifest.json de ton pack de ressources : "capabilities": ["pbr"] pour Vibrant Visuals, ou "raytraced" pour le ray tracing.

Visuels et éclairage: Référence

Brouillard ·Atmosphère ·Éclairage ·Étalonnage des couleurs ·Eau ·Ensembles de textures (PBR)

We use cookies to improve your experience and analyse site traffic. Learn more