Non résolu Tracer une ligne qui part du joueur vert son regard
-
Bonjour,
Comme dit dans l’intituler j’aimerais tracer une ligne qui part du joueur et qui va en direction de son regard.
mon code (qui ne fonctionne pas ducoup :confounded_face: ) :
@SubscribeEvent public void renderWorld(RenderWorldLastEvent event) { Entity player = Minecraft.getMinecraft().player; if(player instanceof EntityPlayerSP) { double x = -MathHelper.sin(player.rotationYaw) * MathHelper.cos(player.rotationPitch); double y = -MathHelper.sin(player.rotationPitch); double z = MathHelper.cos(player.rotationYaw) * MathHelper.cos(player.rotationPitch); double norme = Math.sqrt(x * x + y * y + z * z); x /= norme; y /= norme; z /= norme; x *= 10; y *= 10; z *= 10; Vec3d start = player.getPositionVector(); Vec3d end = new Vec3d(start.x + x, start.y + y, start.z + z); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); GlStateManager.pushMatrix(); buffer.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR); buffer.pos(start.x, start.y, start.z).color(1f, 0f, 0f, 1f).endVertex(); buffer.pos(end.x, end.y, end.z).color(1f, 0f, 0f, 1f).endVertex(); tessellator.draw(); GlStateManager.popMatrix(); } }
Je ne fait peut être pas les bons calcule, enfin je sais pas je suis persuader que quelqu’un doit savoir sa a pourtant l’air simple.
-
Euh désoler j’ai un peu modifier le code en vain mais voila celui a jour qui ne marche toujours pas :
@SubscribeEvent public void renderWorld (RenderWorldLastEvent event){ Entity player = Minecraft.getMinecraft().player; if(player instanceof EntityPlayerSP) { double x = player.getForward().x; double y = player.getForward().y; double z = player.getForward().z; x *= 10; y *= 10; z *= 10; Vec3d start = player.getPositionVector(); Vec3d end = new Vec3d(start.x + x, start.y + y + player.getEyeHeight(), start.z + z); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); GlStateManager.pushMatrix(); buffer.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR); buffer.pos(start.x, start.y + ((EntityPlayerSP)player).getEyeHeight(), start.z).color(1f, 0f, 0f, 1f).endVertex(); buffer.pos(end.x, end.y, end.z).color(1f, 0f, 0f, 1f).endVertex(); tessellator.draw(); GlStateManager.popMatrix(); }
-