Plusieurs textures "Vanilla" sur un bloc complexe



  • Salut,

    J'aimerai savoir s'il est possible de mettre plusieurs texture minecraft sur un bloc complexe, si "oui", comment.

    Imaginons que j'ai… Un model représentant une demi dalle avec... On va dire un pot de fleur vide. Comment dire que la demi dalle prenne la texture "stone" et le pot la texture "stone_brick" ?

    Je ne veux pas créer de texture propre a se bloc, mais qu'il prenne les textures de minecraft et qu'il les applique a certain endroit.

    En espérant que ceci soit possible.

    Cordialement.



  • Il faut passer par un TESR et faire le rendu des 2 models séparément en associant la texture avec l'atlas



  • Arf, c'est ce donc j'avais peur…

    Par contre, je n'ai pas compris "associer la texture avec l'atlas" ? Atlas ?

    Je créer mon bloc, et je lui dit de prendre les 2 model c'est ça ?

    Et un rendu ISBRH ce serai pas plus light ? Car deux model TESR ça risque de devenir trop gourmand non ?



  • Le problème avec les rendus ISBRH dans le monde c'est qu'on ne peut pas faire 2 draw, je m'explique :
    lorsque le rendu du TESR est appelé, aucune méthode n'est appelée avant celle-ci, alors qu'avant le rendu de l'ISBRH, la méthode startDrawingQuads est appelée ce qui complique les choses.

    Pour l'atlas : lors du chargement des items, minecraft enregistre toutes les textures de tous les blocks (et aussi les items dans un fichier à part) dans un seul fichier qui lui sera chargé dans le cache, donc pour accéder aux textures tu dois associer l'atlas (TextureMap.locationBlocksTexture) et récupérer la position de la texture pour la dessinée



  • Ok, je voie ce dont tu parle 😃

    Donc pour rajouter 2 rendu sur un bloque, ça va, je pensais que ça allais être galère, mais non.

    Par contre, une fois récupéré l'Atlas, comment le la redimensionne et positionne ainsi que l'appliquer ? Là j'avoue que je ne voie pas… (Enfin, ce qui m'enerve c'est que ça me dit quelque chose, avec le GL11.qqch, mais ça remonte a loin, une période oublié... Le seul truc que je me rappelle c'est que je n'y était pas arriver ><)

    Je présume que ça dois être dans le render un truc du genre "afficher texture" pour "tel pièce" + "chemin"

    Je n'ai jamais fait ça avant, mais en tout cas maintenant je sais que l'on peu appliquer plusieurs model a un rendu 😉



  • Si tu as une instance de RenderBlock, tu as juste à faire renderBlock.renderLeBlockVoulut(params…)



  • Super, ok merci 😉