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

    Des éclairs avec un Render très poussé

    Sans suite
    1.7.10
    4
    7
    2142
    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.
    • Deleted
      Deleted dernière édition par

      Ce message a été supprimé !
      1 réponse Dernière réponse Répondre Citer 0
      • SCAREX
        SCAREX dernière édition par

        Le plus compliqué est le rendu, as-tu jeté un coup d’oeil au rendu des éclairs de minecraft ?

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

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

          @‘SCAREX’:

          Le plus compliqué est le rendu, as-tu jeté un coup d’oeil au rendu des éclairs de minecraft ?

          J’ai essayé de bidouiller un peu sur l’opacité de l’éclair, sa couleur, ses coordonnées (ou plutôt celles des 2 vertex) mais je n’arrive pas au final à savoir comment les rendre plus fin. Car actuellement l’éclair est trop épais.

          
          package fr.mrplaigon.minekingdomhearts.client.render.entity.effect;
          
          import java.util.Random;
          
          import net.minecraft.client.renderer.Tessellator;
          import net.minecraft.client.renderer.entity.Render;
          import net.minecraft.entity.Entity;
          import net.minecraft.util.ResourceLocation;
          
          import org.lwjgl.opengl.GL11;
          
          import cpw.mods.fml.relauncher.Side;
          import cpw.mods.fml.relauncher.SideOnly;
          import fr.mrplaigon.minekingdomhearts.common.entity.effect.LarxeneLightningBolt;
          
          @SideOnly(Side.CLIENT)
          public class RenderLarxeneLightningBolt extends Render
          {
          
              /**
               * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
               * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
               * (Render<t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
               */
              public void doRender(LarxeneLightningBolt p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
              {
                  Tessellator tessellator = Tessellator.instance;
                  GL11.glDisable(GL11.GL_TEXTURE_2D);
                  GL11.glDisable(GL11.GL_LIGHTING);
                  GL11.glEnable(GL11.GL_BLEND);
                  GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
                  double[] adouble = new double[8];
                  double[] adouble1 = new double[8];
                  double d3 = 0.0D;
                  double d4 = 0.0D;
                  Random random = new Random(p_76986_1_.boltVertex);
          
                  for (int i = 7; i >= 0; –i)
                  { 
                      adouble* = d3;
                      adouble1* = d4;
                      d3 += (double)(random.nextInt(11) - 5);
                      d4 += (double)(random.nextInt(11) - 5);
                  }
          
                  for (int k1 = 0; k1 < 4; ++k1)
                  {
                      Random random1 = new Random(p_76986_1_.boltVertex);
          
                      for (int j = 0; j < 3; ++j)
                      {
                          int k = 7;
                          int l = 0;
          
                          if (j > 0)
                          {
                              k = 7 - j;
                          }
          
                          if (j > 0)
                          {
                              l = k - 2;
                          }
          
                          double d5 = adouble[k] - d3;
                          double d6 = adouble1[k] - d4;
          
                          for (int i1 = k; i1 >= l; –i1)
                          {
                              double d7 = d5;
                              double d8 = d6;
          
                              if (j == 0)
                              {
                                  d5 += (double)(random1.nextInt(11) - 5);
                                  d6 += (double)(random1.nextInt(11) - 5);
                              }
                              else
                              {
                                  d5 += (double)(random1.nextInt(31) - 15);
                                  d6 += (double)(random1.nextInt(31) - 15);
                              }
          
                             tessellator.startDrawing(5);
                              float f2 = 0.5F;
                              //tessellator.setColorRGBA_F(0.9F * f2, 0.9F * f2, 1.0F * f2, 0.3F);
                              //tessellator.setColorRGBA_F(247.0F, 255.0F, 112.0F, 255.0F);
                              tessellator.setColorRGBA_F(252.0F, 245.0F, 0.0F, 0.103F);
                              double d9 = 0.1D + (double)k1 * 0.2D;
          
                              if (j == 0)
                              {
                                  d9 *= (double)i1 * 0.1D + 1.0D;
                              }
          
                              double d10 = 0.1D + (double)k1 * 0.2D;
          
                              if (j == 0)
                              {
                                  d10 *= (double)(i1 - 1) * 0.1D + 1.0D;
                              }
          
                              for (int j1 = 0; j1 < 5; ++j1)
                              {
                                  double d11 = p_76986_2_ + 0.5D - d9;
                                  double d12 = p_76986_6_ + 0.5D - d9;
          
                                  if (j1 == 1 || j1 == 2)
                                  {
                                      d11 += d9 * 2.0D;
                                  }
          
                                  if (j1 == 2 || j1 == 3)
                                  { 
                                      d12 += d9 * 2.0D;
                                  }
          
                                  double d13 = p_76986_2_ + 0.5D - d10;
                                  double d14 = p_76986_6_ + 0.5D - d10;
          
                                  if (j1 == 1 || j1 == 2)
                                  {
                                      d13 += d10 * 2.0D;
                                  }
          
                                  if (j1 == 2 || j1 == 3)
                                  {
                                      d14 += d10 * 2.0D;
                                  }
          
                                  tessellator.addVertex(d13 + d5, p_76986_4_ + (double)(i1 * 16) + 1, d14 + d6);
                                  tessellator.addVertex(d11 + d7, p_76986_4_ + (double)((i1 + 1) * 16), d12 + d8);
                              }
          
                              tessellator.draw();
                          }
                      }
                  }
          
                  GL11.glDisable(GL11.GL_BLEND);
                  GL11.glEnable(GL11.GL_LIGHTING);
                  GL11.glEnable(GL11.GL_TEXTURE_2D);
              }
          
              /**
               * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
               */
              protected ResourceLocation getEntityTexture(LarxeneLightningBolt p_110775_1_)
              {
                  return null;
              }
          
              /**
               * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
               */
              protected ResourceLocation getEntityTexture(Entity p_110775_1_)
              {
                  return this.getEntityTexture((LarxeneLightningBolt)p_110775_1_);
              }
          
              /**
               * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
               * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
               * (Render<t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
               */
              public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
              {
                  this.doRender((LarxeneLightningBolt)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
              }
          }
          ```</t></t>
          1 réponse Dernière réponse Répondre Citer 0
          • Gugu
            Gugu dernière édition par

            Je cherche aussi comment faire ça, mais de manière différente ( On choisis le point de départ de le point d’arrivée de l’éclaire, et un truc aléatoire se forme )
            J’ai pas de code la dessus malheureusement 😕

            "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
            ― Jordan B. Peterson

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

              @‘Gugu42’:

              Je cherche aussi comment faire ça, mais de manière différente ( On choisis le point de départ de le point d’arrivée de l’éclaire, et un truc aléatoire se forme )
              J’ai pas de code la dessus malheureusement 😕

              Ok et tu n aurais pas une idée pour changer l allure de l éclair : le rendre plus fin ?
              Mais ce que tu cherches a faire,  le chemin aléatoire qui se tracent entre les deux points créés,  Minecraft le fait déjà.  Du moment c’est ce que j ai cru comprendre dans son code ^^’

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

                Vous voulez des éclairs avec des ramifications, c’est ça?
                Je vais voir ce que je peux faire demain 😉

                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
                • Deleted
                  Deleted dernière édition par

                  @‘jglrxavpok’:

                  Vous voulez des éclairs avec des ramifications, c’est ça?
                  Je vais voir ce que je peux faire demain 😉

                  Sent from my GT-I9000 using Tapatalk 2

                  Pas forcément xavpok, pour ma part c’est juste travailler sur l aspect graphique de l éclair.  Peu m importe si il faut qu il y ait une division, si il en faut plusieurs rattachés entre eux. Personnellement je pourrais très bien me contenter d un seul éclair ^^’

                  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