29 votes

Qu'est-ce qu'un "chunk" ?

Ok, donc je sais en gros qu'un chunk est comme une masse de terrain générée dans Minecraft.
J'ai entendu des gens dire "chargement de morceaux" et j'ai vu des questions sur les "erreurs de morceaux", donc je suppose que cela fait partie de la génération de terrain.

Ma question est la suivante : quelle est la définition de "chunk" et à quoi sert un chunk ?

35voto

Larry Points 6257

Un chunk est une colonne de blocs de 16x16 s'étendant du bas vers le haut de la carte.

Le jeu génère de nouveaux terrains lors de l'exploration et le terrain est généré par morceaux. Le jeu ne garde également en mémoire que les morceaux qui sont proches de vous. Techniquement, la construction de la carte à partir de morceaux est ce qui rend possible les mondes "infinis" (à des fins pratiques) dans Minecraft.

Il existe plusieurs phénomènes différents appelés "erreur de fragmentation" :

  • Erreur de chunk client seulement - si le client ne reçoit pas d'informations pour certains chunks (à cause d'une erreur de communication réseau), ils apparaissent comme des trous dans le sol ; généralement, cela peut être résolu en se reconnectant au serveur ou en forçant le client à recharger la zone autour du joueur ( F3 + A ).
  • Server chunk error - généralement si certains fichiers du monde sont corrompus - agit comme un véritable trou où vous pouvez tomber dans le vide ; peut être réparé à l'aide d'outils externes (tierce partie).
  • Limite de génération de terrain - bords nets et droits dans le terrain ou les biomes générés. Bien que l'on parle souvent d'une "erreur de morceau", il ne s'agit pas vraiment d'une erreur. Voici comment cela fonctionne :
    1. Le terrain est généré de manière aléatoire à l'aide d'un générateur de nombres pseudo-aléatoires.
    2. Le générateur est initialisé avec un nombre, appelé la graine du monde . Ce numéro est stocké dans le fichier de niveau. Chaque graine de monde peut être considérée comme un "code clé" pour un monde complètement différent de l'univers des mondes possibles.
    3. Lorsque le jeu a besoin d'un nouveau chunk, il utilise la graine (le "code clé") pour créer (ou "invoquer") le chunk. Une fois le chunk créé, il est sauvegardé dans les fichiers du monde.
    4. Si le "code clé", c'est-à-dire la graine, change (intentionnellement ou non), les nouveaux morceaux générés proviennent d'un "monde complètement différent" (voir 2. ci-dessus).
    5. Chaque fois que le générateur de terrain change (comme dans la prochaine version 1.7), l'univers entier des mondes possibles est remplacé, de sorte que le même "code clé" fait désormais référence à un monde complètement différent du nouvel univers.
    6. Dans tous les cas, le terrain et le biome des morceaux nouvellement générés ne correspondent pas au terrain/biome des anciens morceaux sauvegardés. Voir cet exemple tiré du wiki .

Pour plus d'informations, voir le Page du Minkecraft Wiki sur les Chunks

5voto

Richard Tingle Points 191

Les autres réponses ont très bien décrit ce qu'est un chunk : une colonne de 16x16 qui représente une unité de terrain. Le terrain est ensemencé, chargé et déchargé dans ces unités. Je vais tenter de répondre à la question de savoir pourquoi ils existent, par opposition à un continuum amorphe de blocs, chargés et déchargés selon les besoins.

Pourquoi ne pas considérer chaque bloc comme un objet à part entière ?

Chaque objet indépendant transmis à la carte graphique a une charge considérable, sa propre connexion aux textures, la décision de le rendre ou non doit être prise, etc. etc. En tant que tel, il est peu plausible d'avoir chaque bloc comme son propre objet indépendant (j'ai brièvement programmé quelque chose comme ça ; c'était mauvais ). Cela écarte la partie du spectre où tout est séparé.

Pourquoi pas tous les blocs ensemble ?

À l'autre extrémité du spectre, tous les blocs sont regroupés en un seul objet (ce qui serait en fait très similaire à la séparation de chaque bloc). Cette solution offre les frais généraux les plus bas, mais présente plusieurs inconvénients majeurs ;

  • Lorsque vous ne regardez pas un objet, la carte graphique peut le réduire en économisant des ressources. Si l'objet n'est qu'un seul et même objet, ce n'est pas possible ; il est tout rendu ou rien ne l'est.
  • Chaque fois que vous voulez changer un bloc (ce qui arrive souvent dans Minecraft), l'ensemble doit être reconstruit en moins d'un soixantième de seconde pour être convaincant et ce n'est tout simplement pas possible.

Résumé

Les chunks sont la position intermédiaire entre ces deux extrêmes, vous réduisez le nombre d'objets indépendants de centaines de milliers de blocs à quelques centaines de chunks, mais vous pouvez toujours éliminer les parties de la scène que vous ne regardez pas et si un bloc est ajouté/supprimé, vous ne devez reconstruire que 1% de la scène au lieu de 100%.

2voto

RustyMembers Points 1817

Il s'agit d'un bloc de terrain de 16x16 allant de la roche au ciel. Morceaux du wiki de Minecraft

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X