添加快艇炮塔的过热红温效果
This commit is contained in:
parent
527c38d751
commit
cb1b2d694f
6 changed files with 166 additions and 120 deletions
|
@ -0,0 +1,31 @@
|
||||||
|
package com.atsuishio.superbwarfare.client.layer;
|
||||||
|
|
||||||
|
import com.atsuishio.superbwarfare.ModUtils;
|
||||||
|
import com.atsuishio.superbwarfare.entity.SpeedboatEntity;
|
||||||
|
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;
|
||||||
|
|
||||||
|
import static com.atsuishio.superbwarfare.entity.SpeedboatEntity.HEAT;
|
||||||
|
|
||||||
|
public class SpeedBoatHeatLayer extends GeoRenderLayer<SpeedboatEntity> {
|
||||||
|
private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/speedboat_heat.png");
|
||||||
|
|
||||||
|
public SpeedBoatHeatLayer(GeoRenderer<SpeedboatEntity> entityRenderer) {
|
||||||
|
super(entityRenderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(PoseStack poseStack, SpeedboatEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
||||||
|
RenderType glowRenderType = RenderType.eyes(LAYER);
|
||||||
|
float heat = animatable.getEntityData().get(HEAT) < 20 ? 0 : animatable.getEntityData().get(HEAT) - 20;
|
||||||
|
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, heat / 80, heat / 80, heat / 80, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.entity;
|
package com.atsuishio.superbwarfare.client.renderer.entity;
|
||||||
|
|
||||||
|
import com.atsuishio.superbwarfare.client.layer.SpeedBoatHeatLayer;
|
||||||
import com.atsuishio.superbwarfare.client.layer.SpeedBoatLayer;
|
import com.atsuishio.superbwarfare.client.layer.SpeedBoatLayer;
|
||||||
import com.atsuishio.superbwarfare.client.layer.SpeedBoatPowerLayer;
|
import com.atsuishio.superbwarfare.client.layer.SpeedBoatPowerLayer;
|
||||||
import com.atsuishio.superbwarfare.client.model.entity.SpeedboatModel;
|
import com.atsuishio.superbwarfare.client.model.entity.SpeedboatModel;
|
||||||
|
@ -22,6 +23,7 @@ public class SpeedboatRenderer extends GeoEntityRenderer<SpeedboatEntity> {
|
||||||
super(renderManager, new SpeedboatModel());
|
super(renderManager, new SpeedboatModel());
|
||||||
this.addRenderLayer(new SpeedBoatLayer(this));
|
this.addRenderLayer(new SpeedBoatLayer(this));
|
||||||
this.addRenderLayer(new SpeedBoatPowerLayer(this));
|
this.addRenderLayer(new SpeedBoatPowerLayer(this));
|
||||||
|
this.addRenderLayer(new SpeedBoatHeatLayer(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -84,6 +84,7 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
public static final EntityDataAccessor<Float> POWER = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.FLOAT);
|
public static final EntityDataAccessor<Float> POWER = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.FLOAT);
|
||||||
public static final EntityDataAccessor<Float> ROTOR = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.FLOAT);
|
public static final EntityDataAccessor<Float> ROTOR = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.FLOAT);
|
||||||
public static final EntityDataAccessor<Integer> COOL_DOWN = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.INT);
|
public static final EntityDataAccessor<Integer> COOL_DOWN = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.INT);
|
||||||
|
public static final EntityDataAccessor<Integer> HEAT = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.INT);
|
||||||
protected static final EntityDataAccessor<String> LAST_ATTACKER_UUID = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.STRING);
|
protected static final EntityDataAccessor<String> LAST_ATTACKER_UUID = SynchedEntityData.defineId(SpeedboatEntity.class, EntityDataSerializers.STRING);
|
||||||
|
|
||||||
public static final float MAX_HEALTH = CannonConfig.SPEEDBOAT_HP.get();
|
public static final float MAX_HEALTH = CannonConfig.SPEEDBOAT_HP.get();
|
||||||
|
@ -106,7 +107,6 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
public float turretYRotO;
|
public float turretYRotO;
|
||||||
public float turretXRotO;
|
public float turretXRotO;
|
||||||
|
|
||||||
public float heat;
|
|
||||||
public boolean cannotFire;
|
public boolean cannotFire;
|
||||||
|
|
||||||
public SpeedboatEntity(PlayMessages.SpawnEntity packet, Level world) {
|
public SpeedboatEntity(PlayMessages.SpawnEntity packet, Level world) {
|
||||||
|
@ -126,6 +126,7 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
this.entityData.define(POWER, 0f);
|
this.entityData.define(POWER, 0f);
|
||||||
this.entityData.define(ROTOR, 0f);
|
this.entityData.define(ROTOR, 0f);
|
||||||
this.entityData.define(COOL_DOWN, 0);
|
this.entityData.define(COOL_DOWN, 0);
|
||||||
|
this.entityData.define(HEAT, 0);
|
||||||
this.entityData.define(LAST_ATTACKER_UUID, "undefined");
|
this.entityData.define(LAST_ATTACKER_UUID, "undefined");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -292,11 +293,11 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
this.entityData.set(COOL_DOWN, this.entityData.get(COOL_DOWN) - 1);
|
this.entityData.set(COOL_DOWN, this.entityData.get(COOL_DOWN) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (heat > 0) {
|
if (this.entityData.get(HEAT) > 0) {
|
||||||
heat--;
|
this.entityData.set(HEAT, this.entityData.get(HEAT) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (heat < 40) {
|
if (this.entityData.get(HEAT) < 40) {
|
||||||
cannotFire = false;
|
cannotFire = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,7 +306,7 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
|
|
||||||
Entity driver = this.getFirstPassenger();
|
Entity driver = this.getFirstPassenger();
|
||||||
if (driver instanceof Player player) {
|
if (driver instanceof Player player) {
|
||||||
if (heat > 100) {
|
if (this.entityData.get(HEAT) > 100) {
|
||||||
cannotFire = true;
|
cannotFire = true;
|
||||||
if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) {
|
if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) {
|
||||||
SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_OVERHEAT.get(), 1f, 1f);
|
SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_OVERHEAT.get(), 1f, 1f);
|
||||||
|
@ -385,7 +386,7 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
(float) 0.4);
|
(float) 0.4);
|
||||||
this.level().addFreshEntity(projectile);
|
this.level().addFreshEntity(projectile);
|
||||||
|
|
||||||
float pitch = heat <= 60 ? 1 : (float) (1 - 0.015 * java.lang.Math.abs(60 - heat));
|
float pitch = this.entityData.get(HEAT) <= 60 ? 1 : (float) (1 - 0.011 * java.lang.Math.abs(60 - this.entityData.get(HEAT)));
|
||||||
|
|
||||||
if (player instanceof ServerPlayer serverPlayer) {
|
if (player instanceof ServerPlayer serverPlayer) {
|
||||||
SoundTool.playLocalSound(serverPlayer, ModSounds.M_2_FIRE_1P.get(), 2, 1);
|
SoundTool.playLocalSound(serverPlayer, ModSounds.M_2_FIRE_1P.get(), 2, 1);
|
||||||
|
@ -399,12 +400,12 @@ public class SpeedboatEntity extends Entity implements GeoEntity, IChargeEntity,
|
||||||
|
|
||||||
for (Entity target : level.getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(4), e -> true).stream().sorted(Comparator.comparingDouble(e -> e.distanceToSqr(center))).toList()) {
|
for (Entity target : level.getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(4), e -> true).stream().sorted(Comparator.comparingDouble(e -> e.distanceToSqr(center))).toList()) {
|
||||||
if (target instanceof ServerPlayer serverPlayer) {
|
if (target instanceof ServerPlayer serverPlayer) {
|
||||||
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> serverPlayer), new ShakeClientMessage(6, 5, 7, this.getX(), this.getEyeY(), this.getZ()));
|
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> serverPlayer), new ShakeClientMessage(6, 5, 5, this.getX(), this.getEyeY(), this.getZ()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (level instanceof ServerLevel) {
|
if (level instanceof ServerLevel) {
|
||||||
this.entityData.set(COOL_DOWN, 3);
|
this.entityData.set(COOL_DOWN, 3);
|
||||||
heat += 4;
|
this.entityData.set(HEAT, this.entityData.get(HEAT) + 4);
|
||||||
}
|
}
|
||||||
this.getItemStacks().stream().filter(stack -> stack.is(ModItems.HEAVY_AMMO.get())).findFirst().ifPresent(stack -> stack.shrink(1));
|
this.getItemStacks().stream().filter(stack -> stack.is(ModItems.HEAVY_AMMO.get())).findFirst().ifPresent(stack -> stack.shrink(1));
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,12 +26,19 @@
|
||||||
"gun": {
|
"gun": {
|
||||||
"position": {
|
"position": {
|
||||||
"0.0": [0, 0, 0],
|
"0.0": [0, 0, 0],
|
||||||
"0.0083": [0, 0.05, 0.1],
|
"0.0083": [-0.035, 0.05, 0.1],
|
||||||
"0.05": [0, -0.025, 0],
|
"0.05": [0.035, -0.025, 0],
|
||||||
"0.075": [0, 0.05, 0.05],
|
"0.075": [-0.04, 0.05, 0.05],
|
||||||
"0.0917": [0, 0, 0],
|
"0.0917": [0, 0, 0],
|
||||||
"0.15": [0, 0, 0]
|
"0.15": [0, 0, 0]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"action": {
|
||||||
|
"position": {
|
||||||
|
"0.0": [0, 0, 0],
|
||||||
|
"0.0083": [0, 0, 0.85],
|
||||||
|
"0.0667": [0, 0, 0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -382,7 +382,12 @@
|
||||||
{
|
{
|
||||||
"name": "barrel",
|
"name": "barrel",
|
||||||
"parent": "gun",
|
"parent": "gun",
|
||||||
"pivot": [-0.9802, 137.6418, 34.1014],
|
"pivot": [-0.9802, 137.6418, 34.1014]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "action",
|
||||||
|
"parent": "barrel",
|
||||||
|
"pivot": [0, 47.55715, -12.40832],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{
|
{
|
||||||
"origin": [-0.22291, 47.02159, -19.62486],
|
"origin": [-0.22291, 47.02159, -19.62486],
|
||||||
|
@ -426,6 +431,114 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "bone18",
|
||||||
|
"parent": "action",
|
||||||
|
"pivot": [0, 47.55715, -0.15721],
|
||||||
|
"rotation": [0, 180, 0],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.31104, 46.80986, 3.84279],
|
||||||
|
"size": [0.62208, 1.49457, 1],
|
||||||
|
"pivot": [0, 47.55715, 8.89546],
|
||||||
|
"rotation": [0, 0, 22.5],
|
||||||
|
"uv": {
|
||||||
|
"south": {"uv": [3.5, 78.5], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [12, 78.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"down": {"uv": [19, 72], "uv_size": [0.25, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.31104, 46.80986, 3.84279],
|
||||||
|
"size": [0.62208, 1.49457, 1],
|
||||||
|
"pivot": [0, 47.55715, 8.89546],
|
||||||
|
"rotation": [0, 0, 67.5],
|
||||||
|
"uv": {
|
||||||
|
"south": {"uv": [4.5, 78.5], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [12.5, 78.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"down": {"uv": [19, 72.5], "uv_size": [0.25, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.31104, 46.80986, 3.84279],
|
||||||
|
"size": [0.62208, 1.49457, 1],
|
||||||
|
"pivot": [0, 47.55715, 8.89546],
|
||||||
|
"rotation": [0, 0, 112.5],
|
||||||
|
"uv": {
|
||||||
|
"south": {"uv": [5, 78.5], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [19, 72.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"down": {"uv": [19, 73.5], "uv_size": [0.25, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.31104, 46.80986, 3.84279],
|
||||||
|
"size": [0.62208, 1.49457, 1],
|
||||||
|
"pivot": [0, 47.55715, 8.89546],
|
||||||
|
"rotation": [0, 0, 157.5],
|
||||||
|
"uv": {
|
||||||
|
"south": {"uv": [5.5, 78.5], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [19, 73.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"down": {"uv": [19, 74.5], "uv_size": [0.25, -0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bone17",
|
||||||
|
"parent": "action",
|
||||||
|
"pivot": [0, 47.55715, -24.65721],
|
||||||
|
"rotation": [0, 180, 0],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.25505, 46.94437, -29.67721],
|
||||||
|
"size": [0.51011, 1.22555, 2.46],
|
||||||
|
"pivot": [0, 47.55715, -28.44721],
|
||||||
|
"rotation": [0, 0, 22.5],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 70.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"south": {"uv": [19, 71], "uv_size": [0.25, 0.5]},
|
||||||
|
"up": {"uv": [12, 76.5], "uv_size": [0.25, 1.25]},
|
||||||
|
"down": {"uv": [12.5, 77.75], "uv_size": [0.25, -1.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.25505, 46.94437, -29.67721],
|
||||||
|
"size": [0.51011, 1.22555, 2.46],
|
||||||
|
"pivot": [0, 47.55715, -28.44721],
|
||||||
|
"rotation": [0, 0, 67.5],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 69.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"south": {"uv": [10.5, 78.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"up": {"uv": [11, 76.5], "uv_size": [0.25, 1.25]},
|
||||||
|
"down": {"uv": [11.5, 77.75], "uv_size": [0.25, -1.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.25505, 46.94437, -29.67721],
|
||||||
|
"size": [0.51011, 1.22555, 2.46],
|
||||||
|
"pivot": [0, 47.55715, -28.44721],
|
||||||
|
"rotation": [0, 0, 112.5],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 69], "uv_size": [0.25, 0.5]},
|
||||||
|
"south": {"uv": [10, 78.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"up": {"uv": [10, 76.5], "uv_size": [0.25, 1.25]},
|
||||||
|
"down": {"uv": [10.5, 77.75], "uv_size": [0.25, -1.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.25505, 46.94437, -29.67721],
|
||||||
|
"size": [0.51011, 1.22555, 2.46],
|
||||||
|
"pivot": [0, 47.55715, -28.44721],
|
||||||
|
"rotation": [0, 0, 157.5],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [6, 78.5], "uv_size": [0.25, 0.5]},
|
||||||
|
"south": {"uv": [19, 67], "uv_size": [0.25, 0.5]},
|
||||||
|
"up": {"uv": [9, 76.5], "uv_size": [0.25, 1.25]},
|
||||||
|
"down": {"uv": [9.5, 77.75], "uv_size": [0.25, -1.25]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bone16",
|
"name": "bone16",
|
||||||
"parent": "barrel",
|
"parent": "barrel",
|
||||||
|
@ -629,114 +742,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "bone17",
|
|
||||||
"parent": "barrel",
|
|
||||||
"pivot": [0, 47.55715, -24.65721],
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-0.25505, 46.94437, -29.67721],
|
|
||||||
"size": [0.51011, 1.22555, 2.46],
|
|
||||||
"pivot": [0, 47.55715, -28.44721],
|
|
||||||
"rotation": [0, 0, 22.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [19, 70.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"south": {"uv": [19, 71], "uv_size": [0.25, 0.5]},
|
|
||||||
"up": {"uv": [12, 76.5], "uv_size": [0.25, 1.25]},
|
|
||||||
"down": {"uv": [12.5, 77.75], "uv_size": [0.25, -1.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25505, 46.94437, -29.67721],
|
|
||||||
"size": [0.51011, 1.22555, 2.46],
|
|
||||||
"pivot": [0, 47.55715, -28.44721],
|
|
||||||
"rotation": [0, 0, 67.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [19, 69.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"south": {"uv": [10.5, 78.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"up": {"uv": [11, 76.5], "uv_size": [0.25, 1.25]},
|
|
||||||
"down": {"uv": [11.5, 77.75], "uv_size": [0.25, -1.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25505, 46.94437, -29.67721],
|
|
||||||
"size": [0.51011, 1.22555, 2.46],
|
|
||||||
"pivot": [0, 47.55715, -28.44721],
|
|
||||||
"rotation": [0, 0, 112.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [19, 69], "uv_size": [0.25, 0.5]},
|
|
||||||
"south": {"uv": [10, 78.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"up": {"uv": [10, 76.5], "uv_size": [0.25, 1.25]},
|
|
||||||
"down": {"uv": [10.5, 77.75], "uv_size": [0.25, -1.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.25505, 46.94437, -29.67721],
|
|
||||||
"size": [0.51011, 1.22555, 2.46],
|
|
||||||
"pivot": [0, 47.55715, -28.44721],
|
|
||||||
"rotation": [0, 0, 157.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [6, 78.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"south": {"uv": [19, 67], "uv_size": [0.25, 0.5]},
|
|
||||||
"up": {"uv": [9, 76.5], "uv_size": [0.25, 1.25]},
|
|
||||||
"down": {"uv": [9.5, 77.75], "uv_size": [0.25, -1.25]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bone18",
|
|
||||||
"parent": "barrel",
|
|
||||||
"pivot": [0, 47.55715, -0.15721],
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [-0.31104, 46.80986, 3.84279],
|
|
||||||
"size": [0.62208, 1.49457, 1],
|
|
||||||
"pivot": [0, 47.55715, 8.89546],
|
|
||||||
"rotation": [0, 0, 22.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [3.5, 78.5], "uv_size": [0.25, 0.75]},
|
|
||||||
"up": {"uv": [12, 78.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"down": {"uv": [19, 72], "uv_size": [0.25, -0.5]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.31104, 46.80986, 3.84279],
|
|
||||||
"size": [0.62208, 1.49457, 1],
|
|
||||||
"pivot": [0, 47.55715, 8.89546],
|
|
||||||
"rotation": [0, 0, 67.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [4.5, 78.5], "uv_size": [0.25, 0.75]},
|
|
||||||
"up": {"uv": [12.5, 78.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"down": {"uv": [19, 72.5], "uv_size": [0.25, -0.5]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.31104, 46.80986, 3.84279],
|
|
||||||
"size": [0.62208, 1.49457, 1],
|
|
||||||
"pivot": [0, 47.55715, 8.89546],
|
|
||||||
"rotation": [0, 0, 112.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [5, 78.5], "uv_size": [0.25, 0.75]},
|
|
||||||
"up": {"uv": [19, 72.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"down": {"uv": [19, 73.5], "uv_size": [0.25, -0.5]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.31104, 46.80986, 3.84279],
|
|
||||||
"size": [0.62208, 1.49457, 1],
|
|
||||||
"pivot": [0, 47.55715, 8.89546],
|
|
||||||
"rotation": [0, 0, 157.5],
|
|
||||||
"uv": {
|
|
||||||
"south": {"uv": [5.5, 78.5], "uv_size": [0.25, 0.75]},
|
|
||||||
"up": {"uv": [19, 73.5], "uv_size": [0.25, 0.5]},
|
|
||||||
"down": {"uv": [19, 74.5], "uv_size": [0.25, -0.5]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "bone19",
|
"name": "bone19",
|
||||||
"parent": "barrel",
|
"parent": "barrel",
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
Loading…
Add table
Reference in a new issue