优化准星渲染
This commit is contained in:
parent
a78bfaf004
commit
551f31bf59
11 changed files with 78 additions and 572 deletions
|
@ -1,5 +1,6 @@
|
||||||
package com.atsuishio.superbwarfare.client;
|
package com.atsuishio.superbwarfare.client;
|
||||||
|
|
||||||
|
import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
||||||
|
@ -18,6 +19,7 @@ import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.world.item.ItemDisplayContext;
|
import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import org.joml.Matrix4f;
|
||||||
import software.bernie.geckolib.animation.AnimationProcessor;
|
import software.bernie.geckolib.animation.AnimationProcessor;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.util.RenderUtil;
|
import software.bernie.geckolib.util.RenderUtil;
|
||||||
|
@ -110,7 +112,7 @@ public class AnimationHelper {
|
||||||
RenderUtil.scaleMatrixForBone(stack, bone);
|
RenderUtil.scaleMatrixForBone(stack, bone);
|
||||||
RenderUtil.translateAwayFromPivotPoint(stack, bone);
|
RenderUtil.translateAwayFromPivotPoint(stack, bone);
|
||||||
PoseStack.Pose pose = stack.last();
|
PoseStack.Pose pose = stack.last();
|
||||||
VertexConsumer vertexConsumer = buffer.getBuffer(ModRenderTypes.MUZZLE_FLASH_TYPE);
|
VertexConsumer vertexConsumer = buffer.getBuffer(ModRenderTypes.MUZZLE_FLASH_TYPE.apply(Mod.loc("textures/particle/flare.png")));
|
||||||
vertex(vertexConsumer, pose, packedLightIn, 0.0F, 0, 0, 1);
|
vertex(vertexConsumer, pose, packedLightIn, 0.0F, 0, 0, 1);
|
||||||
vertex(vertexConsumer, pose, packedLightIn, 1.0F, 0, 1, 1);
|
vertex(vertexConsumer, pose, packedLightIn, 1.0F, 0, 1, 1);
|
||||||
vertex(vertexConsumer, pose, packedLightIn, 1.0F, 1, 1, 0);
|
vertex(vertexConsumer, pose, packedLightIn, 1.0F, 1, 1, 0);
|
||||||
|
@ -175,4 +177,34 @@ public class AnimationHelper {
|
||||||
stack.popPose();
|
stack.popPose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void handleZoomCrossHair(MultiBufferSource currentBuffer, RenderType renderType, String boneName, PoseStack stack, GeoBone bone, MultiBufferSource buffer, int packedLightIn, double x, double y, double z, int r, int g, int b, int a, String name) {
|
||||||
|
if (boneName.equals("cross") && ClientEventHandler.zoomPos > 0.8) {
|
||||||
|
stack.pushPose();
|
||||||
|
stack.translate(x, y, -z);
|
||||||
|
RenderUtil.translateMatrixToBone(stack, bone);
|
||||||
|
RenderUtil.translateToPivotPoint(stack, bone);
|
||||||
|
RenderUtil.rotateMatrixAroundBone(stack, bone);
|
||||||
|
RenderUtil.scaleMatrixForBone(stack, bone);
|
||||||
|
RenderUtil.translateAwayFromPivotPoint(stack, bone);
|
||||||
|
PoseStack.Pose pose = stack.last();
|
||||||
|
Matrix4f $$7 = pose.pose();
|
||||||
|
VertexConsumer $$9 = buffer.getBuffer(ModRenderTypes.MUZZLE_FLASH_TYPE.apply(Mod.loc("textures/crosshair/" + name + ".png")));
|
||||||
|
vertexRGB($$9, $$7, pose, packedLightIn, 0.0F, 0, 0, 1, r, g, b, a);
|
||||||
|
vertexRGB($$9, $$7, pose, packedLightIn, 1.0F, 0, 1, 1, r, g, b, a);
|
||||||
|
vertexRGB($$9, $$7, pose, packedLightIn, 1.0F, 1, 1, 0, r, g, b, a);
|
||||||
|
vertexRGB($$9, $$7, pose, packedLightIn, 0.0F, 1, 0, 0, r, g, b, a);
|
||||||
|
stack.popPose();
|
||||||
|
}
|
||||||
|
currentBuffer.getBuffer(renderType);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void vertexRGB(VertexConsumer pConsumer, Matrix4f pPose, PoseStack.Pose pNormal, int pLightmapUV, float pX, float pY, int pU, int pV, int r, int g, int b, int a) {
|
||||||
|
pConsumer.addVertex(pPose, pX - 0.5F, pY - 0.5F, 0.0F)
|
||||||
|
.setColor(r, g, b, a)
|
||||||
|
.setUv((float) pU, (float) pV)
|
||||||
|
.setOverlay(OverlayTexture.NO_OVERLAY)
|
||||||
|
.setLight(pLightmapUV)
|
||||||
|
.setNormal(pNormal, 0.0F, 1.0F, 0.0F);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.atsuishio.superbwarfare.client;
|
package com.atsuishio.superbwarfare.client;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
||||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||||
import net.minecraft.Util;
|
import net.minecraft.Util;
|
||||||
|
@ -34,34 +33,21 @@ public class ModRenderTypes extends RenderType {
|
||||||
|
|
||||||
//DickSheep的恩情还不完
|
//DickSheep的恩情还不完
|
||||||
|
|
||||||
public static final RenderType MUZZLE_FLASH_TYPE =
|
public static final Function<ResourceLocation, RenderType> MUZZLE_FLASH_TYPE = Util.memoize((location) -> {
|
||||||
RenderType.create(
|
TextureStateShard shard = new RenderStateShard.TextureStateShard(location, false, false);
|
||||||
"muzzle_flash",
|
RenderType.CompositeState state = RenderType.CompositeState.builder()
|
||||||
DefaultVertexFormat.POSITION_TEX_COLOR, // 注意:格式名改为 POSITION_COLOR_TEX(不是 TEX)
|
// 关键修复:使用内置的 POSITION_COLOR_TEX_SHADER(直接调用 ShaderStateShard)
|
||||||
VertexFormat.Mode.QUADS,
|
.setShaderState(RENDERTYPE_EYES_SHADER)
|
||||||
256,
|
// 启用半透明(确保正确排序)
|
||||||
false,
|
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
|
||||||
true,
|
// 绑定贴图
|
||||||
// 使用新的 CompositeState 构造方式
|
.setTextureState(shard)
|
||||||
RenderType.CompositeState.builder()
|
// 禁用光照和覆盖颜色
|
||||||
// 关键修复:使用内置的 POSITION_COLOR_TEX_SHADER(直接调用 ShaderStateShard)
|
.setLightmapState(RenderStateShard.NO_LIGHTMAP)
|
||||||
.setShaderState(RENDERTYPE_EYES_SHADER)
|
.setOverlayState(RenderStateShard.NO_OVERLAY)
|
||||||
// 启用半透明(确保正确排序)
|
.setWriteMaskState(RenderStateShard.COLOR_WRITE)
|
||||||
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
|
.createCompositeState(false);
|
||||||
// 绑定贴图(替换为你的路径)
|
|
||||||
.setTextureState(new RenderStateShard.TextureStateShard(
|
|
||||||
Mod.loc("textures/particle/flare.png"),
|
|
||||||
false, // 不模糊
|
|
||||||
false // 不生成Mipmap
|
|
||||||
))
|
|
||||||
// 禁用光照和覆盖颜色
|
|
||||||
.setLightmapState(RenderStateShard.NO_LIGHTMAP)
|
|
||||||
.setOverlayState(RenderStateShard.NO_OVERLAY)
|
|
||||||
// 深度测试和写入设置
|
|
||||||
// .setDepthTestState(RenderStateShard.NO_DEPTH_TEST)
|
|
||||||
.setWriteMaskState(RenderStateShard.COLOR_WRITE)
|
|
||||||
.createCompositeState(false)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
|
return RenderType.create("muzzle_flash", DefaultVertexFormat.POSITION_TEX_COLOR, VertexFormat.Mode.QUADS, 256, false, true, state);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item;
|
|
||||||
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 Hk416Layer extends GeoRenderLayer<Hk416Item> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/hk416_e.png");
|
|
||||||
|
|
||||||
public Hk416Layer(GeoRenderer<Hk416Item> entityRenderer) {
|
|
||||||
super(entityRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, Hk416Item 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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -46,9 +46,6 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
||||||
GeoBone scope = getAnimationProcessor().getBone("Scope1");
|
GeoBone scope = getAnimationProcessor().getBone("Scope1");
|
||||||
GeoBone scope2 = getAnimationProcessor().getBone("Scope2");
|
GeoBone scope2 = getAnimationProcessor().getBone("Scope2");
|
||||||
GeoBone scope3 = getAnimationProcessor().getBone("Scope3");
|
GeoBone scope3 = getAnimationProcessor().getBone("Scope3");
|
||||||
GeoBone cross1 = getAnimationProcessor().getBone("Cross1");
|
|
||||||
GeoBone cross2 = getAnimationProcessor().getBone("Cross2");
|
|
||||||
GeoBone cross3 = getAnimationProcessor().getBone("Cross3");
|
|
||||||
GeoBone kuaimanji = getAnimationProcessor().getBone("kuaimanji");
|
GeoBone kuaimanji = getAnimationProcessor().getBone("kuaimanji");
|
||||||
|
|
||||||
Player player = Minecraft.getInstance().player;
|
Player player = Minecraft.getInstance().player;
|
||||||
|
@ -79,14 +76,14 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
||||||
case 0 -> 0.2f;
|
case 0 -> 0.2f;
|
||||||
case 1 -> 0.4f;
|
case 1 -> 0.4f;
|
||||||
case 2 -> 0.8f;
|
case 2 -> 0.8f;
|
||||||
case 3 -> 0.78f;
|
case 3 -> 0.9f;
|
||||||
default -> 0f;
|
default -> 0f;
|
||||||
};
|
};
|
||||||
float posZ = switch (type) {
|
float posZ = switch (type) {
|
||||||
case 0 -> 3f;
|
case 0 -> 3f;
|
||||||
case 1 -> 3.5f;
|
case 1 -> 3.5f;
|
||||||
case 2 -> 7.4f;
|
case 2 -> 7.4f;
|
||||||
case 3 -> 6.8f;
|
case 3 -> 7.5f;
|
||||||
default -> 0f;
|
default -> 0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -99,8 +96,6 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
||||||
scope2.setScaleZ(1f - (0.8f * (float) zp));
|
scope2.setScaleZ(1f - (0.8f * (float) zp));
|
||||||
scope3.setScaleZ(1f - (0.5f * (float) zp));
|
scope3.setScaleZ(1f - (0.5f * (float) zp));
|
||||||
|
|
||||||
var data = GunData.from(stack);
|
|
||||||
|
|
||||||
GeoBone shen;
|
GeoBone shen;
|
||||||
if (zt < 0.5) {
|
if (zt < 0.5) {
|
||||||
shen = getAnimationProcessor().getBone("fireRootNormal");
|
shen = getAnimationProcessor().getBone("fireRootNormal");
|
||||||
|
@ -133,17 +128,13 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
||||||
|
|
||||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||||
|
|
||||||
cross1.setPosY(-0.75f * (float) fpz);
|
|
||||||
cross2.setPosY(-0.7f * (float) fpz);
|
|
||||||
cross3.setPosY(-0.2f * (float) fpz);
|
|
||||||
|
|
||||||
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);
|
||||||
l.setRotX(rotXBipod * Mth.DEG_TO_RAD);
|
l.setRotX(rotXBipod * Mth.DEG_TO_RAD);
|
||||||
r.setRotX(rotXBipod * Mth.DEG_TO_RAD);
|
r.setRotX(rotXBipod * Mth.DEG_TO_RAD);
|
||||||
|
|
||||||
int mode = data.fireMode.get();
|
int mode = GunData.from(stack).fireMode.get();
|
||||||
|
|
||||||
kuaimanji.setRotX(mode == 2 ? 90 * Mth.DEG_TO_RAD : 0);
|
kuaimanji.setRotX(mode == 2 ? 90 * Mth.DEG_TO_RAD : 0);
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,14 @@ import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
||||||
import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item;
|
import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item;
|
||||||
|
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
import net.minecraft.client.renderer.MultiBufferSource;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.world.item.ItemDisplayContext;
|
import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
|
@ -24,11 +26,10 @@ import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class Hk416ItemRenderer extends GeoItemRenderer<Hk416Item> {
|
public class Hk416ItemRenderer extends GeoItemRenderer<Hk416Item> {
|
||||||
|
public static double zoomFactor;
|
||||||
|
|
||||||
public Hk416ItemRenderer() {
|
public Hk416ItemRenderer() {
|
||||||
super(new Hk416ItemModel());
|
super(new Hk416ItemModel());
|
||||||
// TODO layer
|
|
||||||
// this.addRenderLayer(new Hk416Layer(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -82,18 +83,6 @@ public class Hk416ItemRenderer extends GeoItemRenderer<Hk416Item> {
|
||||||
if (!(itemStack.getItem() instanceof GunItem)) return;
|
if (!(itemStack.getItem() instanceof GunItem)) return;
|
||||||
var data = GunData.from(itemStack);
|
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("hidden"))) {
|
&& (name.equals("hidden"))) {
|
||||||
bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
|
bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
|
||||||
|
@ -104,6 +93,19 @@ public class Hk416ItemRenderer extends GeoItemRenderer<Hk416Item> {
|
||||||
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);
|
||||||
|
zoomFactor = Mth.lerp(0.01 * partialTick, zoomFactor, GunsTool.getGunDoubleTag(GunData.from(itemStack).tag, "CustomZoom"));
|
||||||
|
|
||||||
|
switch (scopeType) {
|
||||||
|
case 1 ->
|
||||||
|
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.25, 30, 0, 255, 0, 255, "eotech");
|
||||||
|
case 2 ->
|
||||||
|
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.313, 9, 255, 0, 0, 255, "acog");
|
||||||
|
case 3 ->
|
||||||
|
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.29, Math.max(38 - 5.2 * zoomFactor, 3), 255, 0, 0, 255, "lpvo");
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.440625, 0.3);
|
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.440625, 0.3);
|
||||||
|
|
||||||
ItemModelHelper.handleGunAttachments(bone, itemStack, name);
|
ItemModelHelper.handleGunAttachments(bone, itemStack, name);
|
||||||
|
|
|
@ -9839,489 +9839,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Cross1",
|
|
||||||
"parent": "0",
|
|
||||||
"pivot": [0, 4.81172, -497.5],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-1, 9.33906, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-2.4319, 8.74595, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-2.20684, 8.1145, -497.5],
|
|
||||||
"rotation": [0, 0, -22.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-3.98178, 8.74595, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-2.20684, 8.1145, -497.5],
|
|
||||||
"rotation": [0, 0, -45],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-5.41369, 9.33906, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-2.20684, 8.1145, -497.5],
|
|
||||||
"rotation": [0, 0, -67.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-5.07771, 3.23633, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-3.30277, 2.60488, -497.5],
|
|
||||||
"rotation": [0, 0, -135],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-6.50962, 3.82945, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-3.30277, 2.60488, -497.5],
|
|
||||||
"rotation": [0, 0, -157.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-3.52783, 3.23633, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-3.30277, 2.60488, -497.5],
|
|
||||||
"rotation": [0, 0, -112.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-5.77734, 4.56172, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [-4.77734, 4.81172, -497.5],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25, 9.83906, -497.5],
|
|
||||||
"size": [0.5, 2, 0],
|
|
||||||
"pivot": [0, 4.81172, -497.5],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25, 9.83906, -497.5],
|
|
||||||
"size": [0.5, 2, 0],
|
|
||||||
"pivot": [0, 4.81172, -497.5],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78.25, 56], "uv_size": [-0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25, 9.83906, -497.5],
|
|
||||||
"size": [0.5, 2, 0],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78.25, 56], "uv_size": [-0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25, 9.83906, -497.5],
|
|
||||||
"size": [0.5, 2, 0],
|
|
||||||
"pivot": [0, 4.81172, -497.5],
|
|
||||||
"rotation": [0, 0, -180],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.5, 4.31172, -497.5],
|
|
||||||
"size": [1, 1, 0],
|
|
||||||
"pivot": [0, 4.81172, -497.5],
|
|
||||||
"rotation": [0, 0, -135],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [3.52593, 8.07515, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 157.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [2.13479, 6.88081, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 112.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [2.94914, 7.33962, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 135],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [1.20684, 6.76857, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [0.30658, 7.01997, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 67.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.88776, 8.41112, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 22.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.42895, 7.59676, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, 45],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [3.77734, 8.97541, -497.5],
|
|
||||||
"size": [2, 0.5, 0],
|
|
||||||
"pivot": [2.38867, 4.6299, -497.5],
|
|
||||||
"rotation": [0, 0, -180],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [78, 56], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cross2",
|
|
||||||
"parent": "0",
|
|
||||||
"pivot": [0, -1.88125, -329.05],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-3.675, -11.08125, -329.05],
|
|
||||||
"size": [7.35, 18.4, 0],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [219.25, 164], "uv_size": [36.75, 92]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cross3",
|
|
||||||
"parent": "0",
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-0.03795, -5.41758, -115.99707],
|
|
||||||
"size": [0.07591, 20.41603, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [29, 111], "uv_size": [0.25, 19.75]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.03795, -5.41758, -115.99707],
|
|
||||||
"size": [0.07591, 20.41603, 0],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [30, 111], "uv_size": [0.25, 19.75]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.07167, -5.41758, -115.99707],
|
|
||||||
"size": [0.14334, 4.16, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [35, 128], "uv_size": [0.25, 4]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.07167, -5.41758, -115.99707],
|
|
||||||
"size": [0.14334, 4.16, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [36, 128], "uv_size": [0.25, 4]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.07167, -5.41758, -115.99707],
|
|
||||||
"size": [0.13928, 4.16, 0],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [46, 127], "uv_size": [0.25, 4]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.07167, -5.41758, -115.99707],
|
|
||||||
"size": [0.13928, 4.16, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -180],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [47, 111], "uv_size": [0.25, 4]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bone97",
|
|
||||||
"parent": "Cross3",
|
|
||||||
"pivot": [0, 4.70349, -96.3082],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [0.03797, 4.38338, -96.3082],
|
|
||||||
"size": [0.07053, 0.3688, 0],
|
|
||||||
"pivot": [0, 4.78984, -96.3082],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [236.375, 176.5], "uv_size": [0.875, 1]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.10851, 4.38338, -96.3082],
|
|
||||||
"size": [0.07053, 0.3688, 0],
|
|
||||||
"pivot": [0, 4.78984, -96.3082],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [237.25, 176.5], "uv_size": [-0.875, 1]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.10818, 4.89835, -96.3082],
|
|
||||||
"size": [0.07053, 0.30111, 0],
|
|
||||||
"pivot": [0, 4.78984, -96.3082],
|
|
||||||
"rotation": [0, 0, 180],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [236.375, 177.5], "uv_size": [0.875, -1]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [0.03797, 4.82749, -96.3082],
|
|
||||||
"size": [0.07053, 0.3688, 0],
|
|
||||||
"pivot": [0, 4.78984, -96.3082],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [236.375, 177.5], "uv_size": [0.875, -1]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [0.03765, 4.89835, -96.3082],
|
|
||||||
"size": [0.07053, 0.30111, 0],
|
|
||||||
"pivot": [0, 4.78984, -96.3082],
|
|
||||||
"rotation": [0, 0, -180],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [237.25, 177.5], "uv_size": [-0.875, -1]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.10851, 4.82749, -96.3082],
|
|
||||||
"size": [0.07053, 0.3688, 0],
|
|
||||||
"pivot": [0, 4.78984, -96.3082],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [237.25, 177.5], "uv_size": [-0.875, -1]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bone173",
|
|
||||||
"parent": "Cross3",
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 3.6028, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [44, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 2.5628, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 126], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 1.5228, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [45, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 0.4828, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 127], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 0.4828, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [46, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 3.6028, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 128], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 2.5628, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [47, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 1.5228, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 129], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bone174",
|
|
||||||
"parent": "Cross3",
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 3.6028, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [48, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 2.5628, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 130], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 1.5228, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [49, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 0.4828, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, -90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 131], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 0.4828, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [50, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 3.6028, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 132], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 2.5628, -115.99707],
|
|
||||||
"size": [0.11084, 0.07962, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [51, 141], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.05542, 1.5228, -115.99707],
|
|
||||||
"size": [0.11084, 0.07963, 0],
|
|
||||||
"pivot": [0, 4.79044, -115.99707],
|
|
||||||
"rotation": [0, 0, 90],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [59, 133], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "magazine",
|
"name": "magazine",
|
||||||
"parent": "0",
|
"parent": "0",
|
||||||
|
@ -20117,11 +19634,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "flare",
|
|
||||||
"parent": "0",
|
|
||||||
"pivot": [0.05, 1.75, -23.05]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Righthand",
|
"name": "Righthand",
|
||||||
"parent": "0",
|
"parent": "0",
|
||||||
|
@ -20142,6 +19654,16 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "flare",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [0.05, 1.75, -23.05]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cross",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [0, 4, -1000]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "camera",
|
"name": "camera",
|
||||||
"pivot": [3.17141, 5.16276, 9.77702]
|
"pivot": [3.17141, 5.16276, 9.77702]
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 90 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.5 KiB |
Loading…
Add table
Reference in a new issue