优化AK12准星

This commit is contained in:
Atsuishio 2025-04-24 17:59:59 +08:00 committed by Light_Quanta
parent d48ec84c82
commit 8f1ae6d82f
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
9 changed files with 9 additions and 360 deletions

View file

@ -1,28 +0,0 @@
package com.atsuishio.superbwarfare.client.layer.gun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.item.gun.rifle.AK12Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class AK12Layer extends GeoRenderLayer<AK12Item> {
private static final ResourceLocation LAYER = Mod.loc("textures/item/ak12_e.png");
public AK12Layer(GeoRenderer<AK12Item> entityRenderer) {
super(entityRenderer);
}
@Override
public void render(PoseStack poseStack, AK12Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
}
}

View file

@ -46,7 +46,6 @@ public class AK12ItemModel extends GeoModel<AK12Item> {
GeoBone scope1 = getAnimationProcessor().getBone("Scope1"); GeoBone scope1 = getAnimationProcessor().getBone("Scope1");
GeoBone scope2 = getAnimationProcessor().getBone("Scope2"); GeoBone scope2 = getAnimationProcessor().getBone("Scope2");
GeoBone scope3 = getAnimationProcessor().getBone("Scope3"); GeoBone scope3 = getAnimationProcessor().getBone("Scope3");
GeoBone cross3 = getAnimationProcessor().getBone("Cross3");
GeoBone frontSight = getAnimationProcessor().getBone("qianjimiao"); GeoBone frontSight = getAnimationProcessor().getBone("qianjimiao");
GeoBone shuan = getAnimationProcessor().getBone("shuan"); GeoBone shuan = getAnimationProcessor().getBone("shuan");
@ -132,12 +131,8 @@ public class AK12ItemModel extends GeoModel<AK12Item> {
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt)));
CrossHairOverlay.gunRot = shen.getRotZ(); CrossHairOverlay.gunRot = shen.getRotZ();
shuan.setPosZ(2.4f * (float) fp); shuan.setPosZ(2.4f * (float) fp);
cross3.setRotZ(0.01f * (float) (ClientEventHandler.recoilHorizon * fp));
cross3.setPosY(-0.23f * (float) (fp + 2.3 * fr));
GeoBone l = getAnimationProcessor().getBone("l"); GeoBone l = getAnimationProcessor().getBone("l");
GeoBone r = getAnimationProcessor().getBone("r"); GeoBone r = getAnimationProcessor().getBone("r");
rotXBipod = Mth.lerp(1.5f * times, rotXBipod, isProne(player) ? -90 : 0); rotXBipod = Mth.lerp(1.5f * times, rotXBipod, isProne(player) ? -90 : 0);

View file

@ -27,8 +27,6 @@ public class AK12ItemRenderer extends GeoItemRenderer<AK12Item> {
public AK12ItemRenderer() { public AK12ItemRenderer() {
super(new AK12ItemModel()); super(new AK12ItemModel());
// TODO layer
// this.addRenderLayer(new AK12Layer(this));
} }
@Override @Override
@ -81,19 +79,6 @@ public class AK12ItemRenderer extends GeoItemRenderer<AK12Item> {
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!(itemStack.getItem() instanceof GunItem)) return; if (!(itemStack.getItem() instanceof GunItem)) return;
var data = GunData.from(itemStack);
if (name.equals("Cross1")) {
bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 1);
}
if (name.equals("Cross2")) {
bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 2);
}
if (name.equals("Cross3")) {
bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 3);
}
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("hidden2"))) { && (name.equals("hidden2"))) {
@ -105,6 +90,13 @@ public class AK12ItemRenderer extends GeoItemRenderer<AK12Item> {
bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE);
switch (scopeType) {
case 1 -> AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.03, 0.27363125, 28, 0, 255, 0, 255, "okp_7");
case 2 -> AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.03, 0.29, 18, 255, 0, 0, 255, "dot");
case 3 -> AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.03, 0.29, Math.max(30 - 4 * ClientEventHandler.customZoom, 3), 255, 0, 0, 255, "lpvo");
}
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, -0.012, 0.02, 1.25229375, 0.3); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, -0.012, 0.02, 1.25229375, 0.3);

View file

@ -11955,319 +11955,9 @@
] ]
}, },
{ {
"name": "Cross1", "name": "cross",
"parent": "0", "parent": "0",
"pivot": [0.49532, 4.08907, -101], "pivot": [0, 4.08907, 0]
"cubes": [
{
"origin": [-2.50468, 2.54219, -136],
"size": [6, 3, 0],
"uv": {
"north": {"uv": [126.8877, 64.44092], "uv_size": [0, -0.25]},
"east": {"uv": [0, 0], "uv_size": [0, 8]},
"south": {"uv": [3.3877, 73.65967], "uv_size": [18, 9]},
"west": {"uv": [0, 0], "uv_size": [0, 8]},
"up": {"uv": [8, 0], "uv_size": [-8, 0]},
"down": {"uv": [8, 0], "uv_size": [-8, 0]}
}
}
]
},
{
"name": "Cross2",
"parent": "0",
"pivot": [0.49532, 4.70235, -136],
"cubes": [
{
"origin": [0.28574, 4.49276, -136],
"size": [0.41917, 0.41917, 0],
"uv": {
"south": {"uv": [24.0127, 74.15967], "uv_size": [8, 8]}
}
}
]
},
{
"name": "Cross3",
"parent": "0",
"pivot": [0.49609, 4.65547, -96.3082],
"cubes": [
{
"origin": [0.46557, -3.55413, -96.3082],
"size": [0.06105, 16.4192, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [10.5, 118.625], "uv_size": [0.375, 0.375]},
"east": {"uv": [10.5, 118.625], "uv_size": [0.375, 0.375]},
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]},
"west": {"uv": [10.5, 118.625], "uv_size": [0.375, 0.375]},
"up": {"uv": [10.875, 119], "uv_size": [-0.375, -0.375]},
"down": {"uv": [10.875, 119], "uv_size": [-0.375, -0.375]}
}
},
{
"origin": [0.46557, -3.55413, -96.3082],
"size": [0.06105, 16.4192, 0],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.43845, -3.55413, -96.3082],
"size": [0.11528, 3.3456, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.43845, -3.55413, -96.3082],
"size": [0.11528, 3.3456, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.43845, -3.55413, -96.3082],
"size": [0.11201, 3.3456, 0],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.43845, -3.55413, -96.3082],
"size": [0.11201, 3.3456, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -180],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
}
]
},
{
"name": "bone28",
"parent": "Cross3",
"pivot": [0.49609, 4.65547, -96.3082],
"cubes": [
{
"origin": [0.52896, 4.30368, -96.3082],
"size": [0.06105, 0.3192, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [26.625, 76.75], "uv_size": [2.625, 2.75]}
}
},
{
"origin": [0.40218, 4.30368, -96.3082],
"size": [0.06105, 0.3192, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [29.25, 76.75], "uv_size": [-2.625, 2.75]}
}
},
{
"origin": [0.40246, 4.74938, -96.3082],
"size": [0.06105, 0.26061, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 180],
"uv": {
"south": {"uv": [26.625, 79.5], "uv_size": [2.625, -2.75]}
}
},
{
"origin": [0.52896, 4.68806, -96.3082],
"size": [0.06105, 0.3192, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [26.625, 79.5], "uv_size": [2.625, -2.75]}
}
},
{
"origin": [0.52868, 4.74938, -96.3082],
"size": [0.06105, 0.26061, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -180],
"uv": {
"south": {"uv": [29.25, 79.5], "uv_size": [-2.625, -2.75]}
}
},
{
"origin": [0.40218, 4.68806, -96.3082],
"size": [0.06105, 0.3192, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [29.25, 79.5], "uv_size": [-2.625, -2.75]}
}
}
]
},
{
"name": "bone173",
"parent": "Cross3",
"pivot": [0, 5.32344, -112.76641],
"cubes": [
{
"origin": [0.45152, 3.70033, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 2.86393, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 2.02753, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 1.19113, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 1.19113, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 3.70033, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 2.86393, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [0.45152, 2.02753, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [0.49609, 4.65547, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
}
]
},
{
"name": "bone174",
"parent": "Cross3",
"pivot": [0, 5.32344, -112.76641],
"rotation": [0, 0, -90],
"cubes": [
{
"origin": [-0.56564, 3.872, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 3.0356, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 2.1992, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 1.3628, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, -90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 1.3628, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 3.872, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 3.0356, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
},
{
"origin": [-0.56564, 2.1992, -96.3082],
"size": [0.08914, 0.06404, 0],
"pivot": [-0.52107, 4.82714, -96.3082],
"rotation": [0, 0, 90],
"uv": {
"south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}
}
}
]
}, },
{ {
"name": "gun", "name": "gun",

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 85 KiB