• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Texture de destruction de block

    1.8.x
    1.8
    3
    6
    2285
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Vebert
      Vebert dernière édition par

      Bonjour,

      Je cherche a créer un bloc qui change d’apparence en fonction de son blockstate (ou de sa metadata comme vous voulez) mais je ne veux pas faire une texture pour chaque metadata.

      Je m’explique, je veux faire un bloc que l’on détruit en tapant  16 coups dessus et donc qu’on puisse partir et revenir le taper plus tard sans avoir a recommencer du début. Pour le rendu j’aurais bien aimé avoir le même effet que quand l’on casse un bloc (les fissures qui grandissent) sans avoir a faire une texture spécifique a chaque étape.

      Donc j’aimerais savoir si vous connaissez une fonction de minecraft qui permet de faire ce rendu ( et qui est surement utilisée lorsque l’on casse un bloc ) ou si c’est faisable avec des models en  .json ?

      Cordialement,
      Vebert

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Salut,
        Franchement je ne sais pas du tout où est géré l’affichage des fissures. Par contre tu peux très bien stocker l’état d’usure de ton bloc dans un tile entity et utiliser la fonction getActualState pour renvoyer un état différent en fonction de cette valeur. Ensuite il te suffira de jouer sur les textures.

        1 réponse Dernière réponse Répondre Citer 0
        • Vebert
          Vebert dernière édition par

          Bon dans mon mod je voulais utiliser ça sur 20/30 bloc voir plus (en gros remplacer les blocs du sol avec des bloc comme décrit au dessus) donc je ne voulais pas avoir 16 textures par bloc et réutiliser la superposition d’image qui est utilisé lorsqu’on détruit un bloc. Et je ne veux pas avoir en plus des tile entity sur toute ma map…

          Je vais continuer a fouiller le code pour voir si je trouve quelque chose à propos des fissures et faire un 16 model en .json en attendant.

          Je laisse le sujet ouvert une semaine si quelqu’un a une idée.

          Merci pour ton aide,
          Vebert

          1 réponse Dernière réponse Répondre Citer 0
          • jglrxavpok
            jglrxavpok Modérateurs dernière édition par

            Va falloir un rendu spécial pour ça:

            • dessiner le bloc normalement
            • activer la transparence avec OpenGL
            • glDepthFunc(GL_EQUAL);
            • dessiner le bloc avec la texture de fissure
            • desactiver la transparence
            • glDepthFunc(GL_LEQUAL);

            Sent from my GT-I9000 using Tapatalk 2

            Modérateur sur MFF. 
            Mon Github: http://github.com/jglrxavpok
            Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

            1 réponse Dernière réponse Répondre Citer 0
            • Vebert
              Vebert dernière édition par

              Merci pour vos réponses, j’ai pas mal fouillé les codes

              Pour le rendu des blocks en cour de destructions il y a une hashtable qui traine dans les codes de minecraft, elle associe un entier (l’id d’une entité) à une structure qui regroupe un block et son état de destruction. Donc c’est pas vraiment optimisé pour ce que je voulais faire ( je ne vais pas pondre un id pour chaque position).

              J’ai donc préféré choisir la solution de prendre un tileEntity avec un specialRenderer (en 1.8 elles ont pas l’air d’être appelées à chaque tick donc elles doivent moins consommer). Je crois aussi que l’ISBRH n’existe plus en 1.8.

              Je passe en résolu même si je n’ai pas trouvé de méthode qui me semble optimal.

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                @‘Vebert’:

                (en 1.8 elles ont pas l’air d’être appelées à chaque tick donc elles doivent moins consommer). Je crois aussi que l’ISBRH n’existe plus en 1.8.

                Si si c’est toujours le cas. Par contre en effet l’interface ISBRH n’existe plus comme les json fond le job.

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB