Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Rotation d'une image en fonction de la camera

    1.7.x
    1.7.10
    2
    3
    489
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Joelchasseu
      Joelchasseu last edited by

      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 Reply Last reply Reply Quote 0
      • Deleted
        Deleted last edited by

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

        1 Reply Last reply Reply Quote 0
        • Joelchasseu
          Joelchasseu last edited by

          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 Reply Last reply Reply Quote 1
          • 1 / 1
          • First post
            Last post
          Design by Woryk
          Contact / Mentions Légales / Faire un don

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB