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

    Résolu Rotation d'une image en fonction de la camera

    1.7.x
    1.7.10
    2
    3
    544
    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.
    • Joelchasseu
      Joelchasseu dernière édition par

      Bonjour toujours dans le cadre de l’indicateur de chat je cherche a faire tourner l’image au dessus du personnage en fonction de la camera j’ai fait cela jusqu’a maintenant :

      @SideOnly(Side.CLIENT)
      @SubscribeEvent
      public void playerRender(RenderPlayerEvent.Pre event) {
      
      if (ClientProxy.CHATTING_PLAYERS_USERNAME.contains(event.entityPlayer.getDisplayName())) {
      
      RenderManager renderManager = (RenderManager) ObfuscationReflectionHelper.getPrivateValue(Render.class,
      event.renderer, 1);
      
      float scaleFactor = 0.10F / 6.0F;
      float yOffsetFactor = -0.05F;
      
      GL11.glPushMatrix();
      GL11.glTranslatef(0.0F, 0.0F - yOffsetFactor, 2.92F);
                  GL11.glNormal3f(0.0F, 1.0F, 0.0F);
                  GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
      GL11.glScalef(-scaleFactor, -scaleFactor, scaleFactor);
      GL11.glEnable(GL11.GL_BLEND);
      GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
      Minecraft.getMinecraft().renderEngine
      .bindTexture(new ResourceLocation("heimnormod", "textures/items/bulle.png"));
      
      Tessellator tessellator = Tessellator.instance;
      tessellator.startDrawingQuads();
      tessellator.addVertexWithUV(-16 + 0, -40 + 32, -260, 0.1F, 0.1F);
      tessellator.addVertexWithUV(-16 + 32, -40 + 32, -260, 0.1F, 0.0F);
      tessellator.addVertexWithUV(-16 + 32, -40 + 0, -260, 0.0F, 0.0F);
      tessellator.addVertexWithUV(-16 + 0, -40 + 0, -260, 0.0F, 0.1F);
      tessellator.draw();
      GL11.glPopMatrix();
      }
      }
      }
      

      Pour le moment l’image tourne bien en fonction de la camera mais l’image fait plutot des cercles comme ceci :

      GIF

      Or, je voudrais qu’elle reste au dessus du personnage et qu’elle tourne sur elle même.

      Merci d’avance pour votre aide ! 😉

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

        Salut,
        Essaie avec ceci après le glNormal3f:
        GL11.glRotatef(90, 1, 0, 0);

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

          L’image est couchée et continue de suivre le même chemin en fonction de la camera 😕


          Problème résolu, je balance le code quand même si ça intéresse du monde 😉

          @SideOnly(Side.CLIENT)
          @SubscribeEvent
          public void playerRender(RenderPlayerEvent.Pre event) {
          
          if (ClientProxy.CHATTING_PLAYERS_USERNAME.contains(event.entityPlayer.getDisplayName())) {
          
          RenderManager renderManager = (RenderManager) ObfuscationReflectionHelper.getPrivateValue(Render.class,
          event.renderer, 1);
          
          float scaleFactor = 0.10F / 6.0F;
          float yOffsetFactor = -0.05F;
          
          GL11.glPushMatrix();
          GL11.glTranslated(0, -1, 0);
          GL11.glNormal3f(0.0F, 0.0F, 0.0F);
          GL11.glRotatef(-renderManager.playerViewY, 0.0F, 0.1F, 0.0F);
          GL11.glScalef(-scaleFactor, -scaleFactor, scaleFactor);
          GL11.glEnable(GL11.GL_BLEND);
          GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
          Minecraft.getMinecraft().renderEngine
          .bindTexture(new ResourceLocation("heimnormod", "textures/items/bulle.png"));
          
          Tessellator tessellator = Tessellator.instance;
          tessellator.startDrawingQuads();
          tessellator.addVertexWithUV(-16 + 0, -120 + 32, -10, 0.1F, 0.1F);
          tessellator.addVertexWithUV(-16 + 32, -120 + 32, -10, 0.1F, 0.0F);
          tessellator.addVertexWithUV(-16 + 32, -120 + 0, -10, 0.0F, 0.0F);
          tessellator.addVertexWithUV(-16 + 0, -120 + 0, -10, 0.0F, 0.1F);
          tessellator.draw();
          GL11.glPopMatrix();
          }
          }
          }
          
          1 réponse Dernière réponse Répondre Citer 1
          • 1 / 1
          • Premier message
            Dernier message
          Design by Woryk
          Contact / Mentions Légales

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB