完成剩余准星优化
|
@ -1,27 +0,0 @@
|
|||
package com.atsuishio.superbwarfare.client.layer.gun;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
|
||||
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 SentinelLayer extends GeoRenderLayer<SentinelItem> {
|
||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/sentinel_e.png");
|
||||
|
||||
public SentinelLayer(GeoRenderer<SentinelItem> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, SentinelItem 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);
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
package com.atsuishio.superbwarfare.client.layer.gun;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.item.gun.rifle.SksItem;
|
||||
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 SksLayer extends GeoRenderLayer<SksItem> {
|
||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/sks_e.png");
|
||||
|
||||
public SksLayer(GeoRenderer<SksItem> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, SksItem 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);
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
package com.atsuishio.superbwarfare.client.layer.gun;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.item.gun.sniper.SvdItem;
|
||||
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 SvdLayer extends GeoRenderLayer<SvdItem> {
|
||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/ak12_e.png");
|
||||
|
||||
public SvdLayer(GeoRenderer<SvdItem> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, SvdItem 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);
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
package com.atsuishio.superbwarfare.client.layer.gun;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium;
|
||||
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 TracheliumLayer extends GeoRenderLayer<Trachelium> {
|
||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/trachelium_texture_e.png");
|
||||
|
||||
public TracheliumLayer(GeoRenderer<Trachelium> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, Trachelium 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);
|
||||
}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
package com.atsuishio.superbwarfare.client.layer.gun;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
||||
import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium;
|
||||
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 TracheliumLightLayer extends GeoRenderLayer<Trachelium> {
|
||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/trachelium_texture_e.png");
|
||||
|
||||
public TracheliumLightLayer(GeoRenderer<Trachelium> itemGeoRenderer) {
|
||||
super(itemGeoRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, Trachelium animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
||||
RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER);
|
||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
package com.atsuishio.superbwarfare.client.layer.gun;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.item.gun.smg.VectorItem;
|
||||
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 VectorLayer extends GeoRenderLayer<VectorItem> {
|
||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/vector_e.png");
|
||||
|
||||
public VectorLayer(GeoRenderer<VectorItem> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, VectorItem 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);
|
||||
}
|
||||
}
|
|
@ -40,7 +40,6 @@ public class MosinNagantItemModel extends GeoModel<MosinNagantItem> {
|
|||
GeoBone bone15 = getAnimationProcessor().getBone("bone15");
|
||||
GeoBone bone16 = getAnimationProcessor().getBone("bone16");
|
||||
GeoBone qiangshen = getAnimationProcessor().getBone("qiangshen");
|
||||
GeoBone rex = getAnimationProcessor().getBone("rex");
|
||||
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player == null) return;
|
||||
|
@ -93,11 +92,6 @@ public class MosinNagantItemModel extends GeoModel<MosinNagantItem> {
|
|||
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt)));
|
||||
|
||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||
|
||||
rex.setPosY(0.05f + 0.1f * (float) fp);
|
||||
rex.setRotZ((float) (-0.08f * fp * ClientEventHandler.recoilHorizon * fp));
|
||||
|
||||
|
||||
ClientEventHandler.gunRootMove(getAnimationProcessor());
|
||||
|
||||
GeoBone camera = getAnimationProcessor().getBone("camera");
|
||||
|
|
|
@ -44,7 +44,6 @@ public class SvdItemModel extends GeoModel<SvdItem> {
|
|||
public void setCustomAnimations(SvdItem animatable, long instanceId, AnimationState animationState) {
|
||||
GeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
GeoBone bolt = getAnimationProcessor().getBone("bolt");
|
||||
GeoBone cross3 = getAnimationProcessor().getBone("Cross3");
|
||||
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player == null) return;
|
||||
|
@ -98,8 +97,6 @@ public class SvdItemModel extends GeoModel<SvdItem> {
|
|||
gun.setPosZ(posZ * (float) zp + (float) (0.3f * zpz));
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
gun.setScaleZ(1f - (scaleZ * (float) zp));
|
||||
cross3.setScaleX((float) (1f + (0.1 * zp)));
|
||||
cross3.setScaleY((float) (1f + (0.1 * zp)));
|
||||
|
||||
var data = GunData.from(stack);
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@ public class VectorItemModel extends GeoModel<VectorItem> {
|
|||
public void setCustomAnimations(VectorItem animatable, long instanceId, AnimationState animationState) {
|
||||
GeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
GeoBone scope = getAnimationProcessor().getBone("Scope1");
|
||||
GeoBone cross1 = getAnimationProcessor().getBone("Cross1");
|
||||
GeoBone kmj = getAnimationProcessor().getBone("kuaimanji");
|
||||
GeoBone sight1fold = getAnimationProcessor().getBone("SightFold1");
|
||||
GeoBone sight2fold = getAnimationProcessor().getBone("SightFold2");
|
||||
|
@ -121,8 +120,6 @@ public class VectorItemModel extends GeoModel<VectorItem> {
|
|||
|
||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||
|
||||
cross1.setPosY(-0.25f * (float) fpz);
|
||||
|
||||
rotXSight = Mth.lerp(1.5f * times, rotXSight, type == 0 ? 0 : 90);
|
||||
sight1fold.setRotX(rotXSight * Mth.DEG_TO_RAD);
|
||||
sight2fold.setRotX(rotXSight * Mth.DEG_TO_RAD);
|
||||
|
|
|
@ -76,14 +76,13 @@ public class MosinNagantItemRenderer extends GeoItemRenderer<MosinNagantItem> {
|
|||
ItemStack itemStack = player.getMainHandItem();
|
||||
if (!(itemStack.getItem() instanceof GunItem)) return;
|
||||
|
||||
if (name.equals("rex")) {
|
||||
bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("jia") || name.equals("b1") || name.equals("b2")) {
|
||||
bone.setHidden(ClientEventHandler.zoomPos > 0.7);
|
||||
}
|
||||
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.259025, -0.05, 0.08f, 0, 0, 0, 255, "pu", true);
|
||||
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 2.38345, 0.6);
|
||||
|
||||
if (renderingArms) {
|
||||
|
|
|
@ -25,9 +25,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
|
|||
public SentinelItemRenderer() {
|
||||
super(new SentinelItemModel());
|
||||
// TODO layer
|
||||
// this.addRenderLayer(new SentinelLayer(this));
|
||||
// TODO layer
|
||||
// this.addRenderLayer(new SentinelLightLayer(this));
|
||||
// this.addRenderLayer(new SentinelLightLayer(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.atsuishio.superbwarfare.client.renderer.item;
|
|||
|
||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||
import com.atsuishio.superbwarfare.client.model.item.SksItemModel;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||
import com.atsuishio.superbwarfare.item.gun.rifle.SksItem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
|
@ -24,8 +23,6 @@ public class SksItemRenderer extends GeoItemRenderer<SksItem> {
|
|||
|
||||
public SksItemRenderer() {
|
||||
super(new SksItemModel());
|
||||
// TODO layer
|
||||
// this.addRenderLayer(new SksLayer(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -78,9 +75,7 @@ public class SksItemRenderer extends GeoItemRenderer<SksItem> {
|
|||
ItemStack itemStack = player.getMainHandItem();
|
||||
if (!(itemStack.getItem() instanceof GunItem)) return;
|
||||
|
||||
if (name.equals("holo")) {
|
||||
bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
|
||||
}
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.25654375, 20, 2f, 0, 255, 0, 255, "okp_7", false);
|
||||
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.4375, 0.35);
|
||||
|
||||
|
|
|
@ -27,8 +27,6 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
|
|||
|
||||
public SvdItemRenderer() {
|
||||
super(new SvdItemModel());
|
||||
// TODO layer
|
||||
// this.addRenderLayer(new SvdLayer(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -86,34 +84,24 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
|
|||
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2);
|
||||
}
|
||||
|
||||
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 ((GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3)
|
||||
&& (name.equals("Hidden2") || name.equals("Hidden") || name.equals("gun") || name.equals("bolt") || name.equals("Lefthand") || name.equals("Barrel") || name.equals("bipod") || name.equals("mount")) && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) {
|
||||
bone.setHidden(true);
|
||||
renderingArms = false;
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 2 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 3) {
|
||||
bone.setHidden(true);
|
||||
} else {
|
||||
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) {
|
||||
bone.setPosY(-2f);
|
||||
}
|
||||
bone.setHidden(false);
|
||||
bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5)));
|
||||
bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5)));
|
||||
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
|
||||
}
|
||||
int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE);
|
||||
|
||||
switch (scopeType) {
|
||||
case 1 ->
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.24, 20, 1, 255, 0, 0, 255, "dot", false);
|
||||
case 2 ->
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.01, 0.24, 18, 1, 255, 0, 0, 255, "pso_1", true);
|
||||
case 3 ->
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.2525, -0.1, 0.08f, 255, 0, 0, 255, "sniper", true);
|
||||
}
|
||||
|
||||
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.76479375, 0.35);
|
||||
|
||||
ItemModelHelper.handleGunAttachments(bone, itemStack, name);
|
||||
|
|
|
@ -28,10 +28,6 @@ public class TracheliumItemRenderer extends GeoItemRenderer<Trachelium> {
|
|||
|
||||
public TracheliumItemRenderer() {
|
||||
super(new TracheliumItemModel());
|
||||
// TODO layer
|
||||
// this.addRenderLayer(new TracheliumLayer(this));
|
||||
// TODO layer
|
||||
// this.addRenderLayer(new TracheliumLightLayer(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -101,27 +97,25 @@ public class TracheliumItemRenderer extends GeoItemRenderer<Trachelium> {
|
|||
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0);
|
||||
}
|
||||
|
||||
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
|
||||
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|
||||
|| NBTTool.getTag(itemStack).getBoolean("ScopeAlt"));
|
||||
}
|
||||
|
||||
if (name.equals("CrossAlt")) {
|
||||
bone.setHidden(ClientEventHandler.zoomPos < 0.7
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|
||||
|| !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt")));
|
||||
}
|
||||
|
||||
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
|
||||
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, 0.3, 30, 1.2f, 255, 0, 0, 255, "dot", false);
|
||||
case 2 -> {
|
||||
if (NBTTool.getTag(itemStack).getBoolean("ScopeAlt")) {
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.36, 30, 0.18f, 255, 0, 0, 255, "delta", false);
|
||||
} else {
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.294, 13, 0.87f, 255, 0, 0, 255, "hamr", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ItemModelHelper.handleGunAttachments(bone, itemStack, name);
|
||||
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.734375, 0.5);
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.atsuishio.superbwarfare.client.renderer.item;
|
|||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||
import com.atsuishio.superbwarfare.client.ItemModelHelper;
|
||||
import com.atsuishio.superbwarfare.client.model.item.VectorItemModel;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
||||
|
@ -25,33 +24,28 @@ import java.util.Set;
|
|||
|
||||
public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
|
||||
|
||||
private static final float SCALE_RECIPROCAL = 0.0625f;
|
||||
protected boolean renderArms;
|
||||
protected MultiBufferSource currentBuffer;
|
||||
protected RenderType renderType;
|
||||
public ItemDisplayContext transformType;
|
||||
protected VectorItem animatable;
|
||||
private final Set<String> hiddenBones;
|
||||
|
||||
|
||||
public VectorItemRenderer() {
|
||||
super(new VectorItemModel());
|
||||
// TODO layer
|
||||
|
||||
// this.addRenderLayer(new VectorLayer(this));
|
||||
|
||||
this.renderArms = false;
|
||||
this.hiddenBones = new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public RenderType getRenderType(VectorItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
|
||||
return RenderType.entityTranslucent(getTextureLocation(animatable));
|
||||
}
|
||||
|
||||
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
|
||||
protected boolean renderArms = false;
|
||||
protected MultiBufferSource currentBuffer;
|
||||
protected RenderType renderType;
|
||||
public ItemDisplayContext transformType;
|
||||
protected VectorItem animatable;
|
||||
private final Set<String> hiddenBones = new HashSet<>();
|
||||
|
||||
@Override
|
||||
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
|
||||
this.transformType = transformType;
|
||||
if (this.animatable != null)
|
||||
this.animatable.getTransformType(transformType);
|
||||
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
|
||||
}
|
||||
|
||||
|
@ -84,20 +78,18 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
|
|||
ItemStack itemStack = player.getMainHandItem();
|
||||
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("tuoxin")) {
|
||||
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.STOCK) == 0);
|
||||
}
|
||||
|
||||
int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE);
|
||||
switch (scopeType) {
|
||||
case 1 ->
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.27, 18, 1, 255, 0, 0, 255, "dot", false);
|
||||
case 2 ->
|
||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.27, 16, 1, 255, 0, 0, 255, "apex_2x", true);
|
||||
}
|
||||
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.453125, 0.35);
|
||||
|
||||
ItemModelHelper.handleGunAttachments(bone, itemStack, name);
|
||||
|
@ -108,88 +100,4 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
|
|||
}
|
||||
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
|
||||
}
|
||||
|
||||
|
||||
// @Override
|
||||
// public void renderRecursively(PoseStack stack, VectorItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
|
||||
// Minecraft mc = Minecraft.getInstance();
|
||||
// String name = bone.getName();
|
||||
// boolean renderingArms = false;
|
||||
// if (name.equals("Lefthand") || name.equals("Righthand")) {
|
||||
// bone.setHidden(true);
|
||||
// renderingArms = true;
|
||||
// } else {
|
||||
// bone.setHidden(this.hiddenBones.contains(name));
|
||||
// }
|
||||
//
|
||||
// Player player = mc.player;
|
||||
// if (player == null) return;
|
||||
// ItemStack itemStack = player.getMainHandItem();
|
||||
// if (!(itemStack.getItem() instanceof GunItem)) return;
|
||||
//
|
||||
// if (name.equals("Cross1")) {
|
||||
// bone.setHidden(ClientEventHandler.zoomPos < 0.7
|
||||
// || !ClientEventHandler.zoom
|
||||
// || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
|
||||
// }
|
||||
//
|
||||
// if (name.equals("Cross2")) {
|
||||
// bone.setHidden(ClientEventHandler.zoomPos < 0.7
|
||||
// || !ClientEventHandler.zoom
|
||||
// || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
|
||||
// }
|
||||
//
|
||||
// if (name.equals("tuoxin")) {
|
||||
// bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.STOCK) == 0);
|
||||
// }
|
||||
//
|
||||
// if (name.equals("flare")) {
|
||||
// if (ClientEventHandler.firePosTimer == 0 || Clientdom() - 0.5)));
|
||||
//// bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
|
||||
//// bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
|
||||
//// }
|
||||
//// }
|
||||
////
|
||||
//// ItemModelHelper.handleGunAttachments(bone, itemStack, name);EventHandler.firePosTimer > 0.5 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 2) {
|
||||
// bone.setHidden(true);
|
||||
// } else {
|
||||
// bone.setHidden(false);
|
||||
// bone.setScaleX((float) (0.55 + 0.5 * (Math.ran
|
||||
//
|
||||
//// type.
|
||||
// if (this.transformType.firstPerson() && renderingArms) {
|
||||
// AbstractClientPlayer localPlayer = mc.player;
|
||||
//
|
||||
// if (localPlayer == null) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer);
|
||||
// PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
|
||||
// stack.pushPose();
|
||||
//
|
||||
// RenderUtil.translateMatrixToBone(stack, bone);
|
||||
// RenderUtil.translateToPivotPoint(stack, bone);
|
||||
// RenderUtil.rotateMatrixAroundBone(stack, bone);
|
||||
// RenderUtil.scaleMatrixForBone(stack, bone);
|
||||
// RenderUtil.translateAwayFromPivotPoint(stack, bone);
|
||||
// ResourceLocation loc = localPlayer.getSkin().texture();
|
||||
// VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
|
||||
// VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
|
||||
// if (name.equals("Lefthand")) {
|
||||
// stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
|
||||
// AnimationHelper.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
|
||||
// AnimationHelper.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
|
||||
// } else {
|
||||
// stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
|
||||
// AnimationHelper.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
|
||||
// AnimationHelper.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
|
||||
// }
|
||||
//
|
||||
// this.currentBuffer.getBuffer(this.renderType);
|
||||
// stack.popPose();
|
||||
// }
|
||||
// super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
|
@ -55,6 +55,15 @@
|
|||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "cross",
|
||||
"parent": "mosinnagant",
|
||||
"pivot": [
|
||||
0,
|
||||
4.146,
|
||||
-99.61558
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "flare",
|
||||
"parent": "mosinnagant",
|
||||
"pivot": [0, 2.41125, -38.13516]
|
||||
|
@ -261,69 +270,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "rex",
|
||||
"parent": "pu",
|
||||
"pivot": [0, 4.146, -99.61558],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.02874, 1.88932, -99.61558],
|
||||
"size": [0.0575, 3.2, 0],
|
||||
"pivot": [0.00001, 3.00494, -99.61558],
|
||||
"rotation": [0, 0, -180],
|
||||
"uv": {
|
||||
"north": {"uv": [40, 23], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [40, 23], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [40, 23], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [40, 23], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [40.25, 23.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [40.25, 23.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.02874, 4.73061, -99.61558],
|
||||
"size": [0.0575, 2.65625, 0],
|
||||
"pivot": [0.00001, 4.1459, -95.86766],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"east": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"south": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"west": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"up": {"uv": [15, 41], "uv_size": [0.25, 0.25]},
|
||||
"down": {"uv": [15, 41], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.02874, 4.73061, -99.61558],
|
||||
"size": [0.0575, 2.65625, 0],
|
||||
"pivot": [0.00001, 4.1459, -95.86766],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]},
|
||||
"east": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]},
|
||||
"south": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]},
|
||||
"west": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]},
|
||||
"up": {"uv": [15.25, 41], "uv_size": [-0.25, 0.25]},
|
||||
"down": {"uv": [15.25, 41], "uv_size": [-0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.01923, 4.00452, -99.61558],
|
||||
"size": [0.04073, 0.04073, 0],
|
||||
"pivot": [-0.00004, 4.06452, -99.61558],
|
||||
"rotation": [0, 0, -135],
|
||||
"uv": {
|
||||
"north": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"east": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"south": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"west": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]},
|
||||
"up": {"uv": [15, 41], "uv_size": [0.25, 0.25]},
|
||||
"down": {"uv": [15, 41], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jia",
|
||||
"parent": "scope",
|
||||
|
|
|
@ -40,23 +40,13 @@
|
|||
"pivot": [0, 2.14727, -23]
|
||||
},
|
||||
{
|
||||
"name": "holo",
|
||||
"name": "cross",
|
||||
"parent": "0",
|
||||
"pivot": [0.16407, 4.10469, -101],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-2.83593, 1.10469, -101],
|
||||
"size": [6, 6, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [126.8877, 64.44092], "uv_size": [0, -0.25]},
|
||||
"east": {"uv": [0, 0], "uv_size": [0, 8]},
|
||||
"south": {"uv": [5.7002, 167.15967], "uv_size": [40, 40]},
|
||||
"west": {"uv": [0, 0], "uv_size": [0, 8]},
|
||||
"up": {"uv": [8, 0], "uv_size": [-8, 0]},
|
||||
"down": {"uv": [8, 0], "uv_size": [-8, 0]}
|
||||
}
|
||||
}
|
||||
]
|
||||
"pivot": [
|
||||
0.16407,
|
||||
4.10469,
|
||||
-101
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bolt",
|
||||
|
|
|
@ -55,6 +55,15 @@
|
|||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "cross",
|
||||
"parent": "0",
|
||||
"pivot": [
|
||||
0,
|
||||
3.92156,
|
||||
-298.5
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Barrel",
|
||||
"parent": "0",
|
||||
"pivot": [0, 0, 0]
|
||||
|
@ -5363,353 +5372,6 @@
|
|||
"parent": "Scope3",
|
||||
"pivot": [0, 4.04047, 1.64859]
|
||||
},
|
||||
{
|
||||
"name": "Cross33",
|
||||
"parent": "Cross3",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "bone98",
|
||||
"parent": "Cross33",
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.00321, 4.02153, 1.64859],
|
||||
"size": [0.00641, 0.03787, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"south": {"uv": [28.6375, 76.64375], "uv_size": [-2.25, 2.125]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00321, 4.02153, 1.64859],
|
||||
"size": [0.00641, 0.03787, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [28.6375, 76.64375], "uv_size": [-2.25, 2.125]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bone120",
|
||||
"parent": "Cross33",
|
||||
"pivot": [0, 4.04047, 1.64859]
|
||||
},
|
||||
{
|
||||
"name": "bone100",
|
||||
"parent": "bone120",
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.00354, 3.96453, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.76503, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.83153, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.89803, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.96453, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.76503, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.83153, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.89803, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bone101",
|
||||
"parent": "bone120",
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.00354, 3.96453, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.76503, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.83153, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.89803, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"east": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"west": {"uv": [0, 111], "uv_size": [0.25, 0.25]},
|
||||
"up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]},
|
||||
"down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.96453, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.76503, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.83153, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00354, 3.89803, 1.64859],
|
||||
"size": [0.00709, 0.00509, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]},
|
||||
"up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]},
|
||||
"down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bone102",
|
||||
"parent": "bone120",
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.00243, 3.38775, 1.64859],
|
||||
"size": [0.00485, 0.6338, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.33493, 3.72025, 1.64859],
|
||||
"size": [0.00485, 0.6338, 0],
|
||||
"pivot": [-0.3325, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00243, 3.38775, 1.64859],
|
||||
"size": [0.00485, 0.6338, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -180],
|
||||
"uv": {
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00243, 3.38775, 1.64859],
|
||||
"size": [0.00485, 0.6338, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00458, 3.38775, 1.64859],
|
||||
"size": [0.00917, 0.266, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00458, 3.38775, 1.64859],
|
||||
"size": [0.00917, 0.266, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, 90],
|
||||
"uv": {
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00458, 3.38775, 1.64859],
|
||||
"size": [0.00891, 0.266, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.00458, 3.38775, 1.64859],
|
||||
"size": [0.00891, 0.266, 0],
|
||||
"pivot": [0, 4.04047, 1.64859],
|
||||
"rotation": [0, 0, -180],
|
||||
"uv": {
|
||||
"south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jingkuang",
|
||||
"parent": "Cross3",
|
||||
|
@ -6301,34 +5963,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cross1",
|
||||
"parent": "0",
|
||||
"pivot": [0, 3.92156, -298.5],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.702, 3.21956, -298.5],
|
||||
"size": [1.404, 1.404, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [23.875, 74], "uv_size": [8.25, 8.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cross2",
|
||||
"parent": "0",
|
||||
"pivot": [2.38116, -2.75475, -536.66641],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-8.16884, -10.00475, -536.66641],
|
||||
"size": [21.1, 14.5, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [75, 91.75], "uv_size": [52.75, 36.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bipod",
|
||||
"parent": "0",
|
||||
|
|
|
@ -203,46 +203,13 @@
|
|||
"pivot": [0, 0, -2.91406]
|
||||
},
|
||||
{
|
||||
"name": "Cross1",
|
||||
"name": "cross",
|
||||
"parent": "qian",
|
||||
"pivot": [0, 4.11407, -145],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.20958, 3.97089, -145],
|
||||
"size": [0.41917, 0.41917, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [67.0127, 38.97217], "uv_size": [16.5, 16.5]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cross2",
|
||||
"parent": "qian",
|
||||
"pivot": [0, 3.69453, -52],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1.49614, 2.3625, -52],
|
||||
"size": [2.99228, 2.66406, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [80.2627, 99.47217], "uv_size": [175.5, 156.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "CrossAlt",
|
||||
"parent": "qian",
|
||||
"pivot": [0, 5.99766, -116],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.36509, 5.63257, -116],
|
||||
"size": [0.73019, 0.73019, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [100.0127, 61.72217], "uv_size": [16.25, 16.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
"pivot": [
|
||||
0,
|
||||
4.11407,
|
||||
-145
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Scope1",
|
||||
|
|
|
@ -55,6 +55,15 @@
|
|||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "cross",
|
||||
"parent": "0",
|
||||
"pivot": [
|
||||
0,
|
||||
4.62188,
|
||||
-96
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Scope1",
|
||||
"parent": "0",
|
||||
"pivot": [-0.00101, 3.72249, 1.17833],
|
||||
|
@ -4014,34 +4023,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cross1",
|
||||
"parent": "0",
|
||||
"pivot": [0, 4.62188, -96],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.20958, 4.41229, -96],
|
||||
"size": [0.41917, 0.41917, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [83.5127, 63.47217], "uv_size": [16.25, 16.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cross2",
|
||||
"parent": "0",
|
||||
"pivot": [-0.03125, 3.05243, -96],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1.01729, 1.49236, -96],
|
||||
"size": [1.97208, 3.85452, 0],
|
||||
"uv": {
|
||||
"south": {"uv": [103.75625, 60.20625], "uv_size": [11, 21.5]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Grip1",
|
||||
"parent": "0",
|
||||
|
|
After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 4.8 KiB |