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

    Item avec rendu 3D (.obj)

    Tutoriels des membres
    1.12.x
    7
    9
    1306
    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.
    • P
      Pacito2 dernière édition par robin4002

      Bonjour.
      Dans ce tutotiel 1.12.X, je vais vous expliquer comment ajouter un item utilisant un rendu 3D provenant de fichier .obj.
      Je vais utiliser le loader fourni par Forge.

      Sommaire du tutoriel

      • Pré-requis
      • Utilisation du loader
      • Item 3D
      • Licence et attribution

      Pré-requis

      • Créer un item simple

      Utilisation du loader

      Cette ligne doit être lue côté Client dans de l’événement FMLPreInitializationEvent.
      Communément on l’ajoute dans le ClientProxy ->preInit.

      OBJLoader.INSTANCE.addDomain(Reference.MOD_ID);
      

      Ainsi, nous allons pouvoir charger des .obj :smirking_face: .

      Item 3D

      Je ne vais pas créer la class d’item car elle est très bien expliquée dans le tutoriel présent dans les pré-requis.
      Une fois votre class d’item crée, vous allez pouvoir faire le .json qui cette fois sera différent de ceux habituel.

      Vous devez créer un fichier .json dans modid:blockstates :

      {
        "forge_marker": 1,
        "defaults": {
          "model": "modid:monModel.obj"
        },
        "variants": {
          "inventory": [
            {
              "transform": {
                "thirdperson_lefthand": {
                  "rotation": [ { "x": 0 }, { "y": 0 }, { "z": 0 } ],
                  "translation": [ 0, -0.1, 0.1 ],
                  "scale": 0.02
                },
                "thirdperson_righthand": {
                  "rotation": [ { "x": 0 }, { "y": 0 }, { "z": 0 } ],
                  "translation": [ 0, -0.1, 0.1 ],
                  "scale": 0.02
                },
                "gui": {
                  "rotation": [ { "x": 90 }, { "y": 45 }, { "z": -90 } ],
                  "translation": [ -0.2, -0.18, 0 ],
                  "scale": 0.008
                },
                "firstperson_righthand": {
                  "rotation": [ { "x": 180 }, { "y": 185 }, { "z": 170 } ],
                  "translation": [ 0, -0.1, 0 ],
                  "scale": 0.02
                },
                "firstperson_lefthand": {
                  "rotation": [ { "x": 180 }, { "y": 185 }, { "z": 170 } ],
                  "translation": [ 0, -0.1, 0 ],
                  "scale": 0.02
                },
                "ground": {
                  "rotation": [ { "x": 90 }, { "y": 0 }, { "z": 0 } ],
                  "scale": 0.01
                }
              }
            }
          ]
        }
      }
      

      Pensez à renommer ‘modid’ par votre modid et ‘monModel’ par le nom de votre fichier .obj.
      Vous pouvez modifier les positions des différentes vues.

      Placez ensuite votre fichier .obj (accompagné de son fichier .mtl) dans modid:models/item.

      Licence et attribution

      Creative Commons

      Ce tutoriel rédigé par Pacito2 et publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

      retourSommaire des tutoriels

      ZeEvoker2Vex 1 réponse Dernière réponse Répondre Citer 3
      • M4TH1EU_
        M4TH1EU_ dernière édition par

        Super tutoriel! 😉

        1 réponse Dernière réponse Répondre Citer 0
        • ZeEvoker2Vex
          ZeEvoker2Vex @Pacito2 dernière édition par ZeEvoker2Vex

          J’aurai quelques questions :
          Y-a-t-il as quand même besoin du json dans models/item, ou on met juste le .obj à la place ?
          Il faut quand même enregistrer l’item dans le registre, mais pas besoin register son modèle ? (ModelRegistry)
          Du coup, les textures dans assets/textures/items, ce sera celle utilisée dans le .obj comme avec des blocs en format json ?

          Voilà, la 3ème question j’ai juste un petit doute, la 1ère j’hésite, et la 2nde je sais pas du tout.

          Merci !

          Apprenti-Développeur Multi-Langages
          Fondateur EpicBattleFr.

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

            Bonsoir,

            Non, aucun json hormis celui dans le dossier blockstates.
            Il faut quand même enregistrer le modèle avec l’event approprié.

            Et pour finir la texture utilisée est celle indiqué dans le fichier mtl lié à l’obj.

            ZeEvoker2Vex 1 réponse Dernière réponse Répondre Citer 0
            • ZeEvoker2Vex
              ZeEvoker2Vex @robin4002 dernière édition par

              D’accord merci bien !

              Apprenti-Développeur Multi-Langages
              Fondateur EpicBattleFr.

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

                Super!

                s

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

                  J’ai une question si je veux faire avec une armure je fais comment?

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

                    Je crois que les armures utilisent le format par défaut des entités, il faudrait donc que tu puisse rendre ton modèle séparément, comme par exemple dans l’event de rendu du joueur.

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

                      Non, les armures utilisent un modèle base.

                      Il faudrait ajouter un layer custom pour le rendu de tes armures.

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

                      MINECRAFT FORGE FRANCE © 2018

                      Powered by NodeBB