More good looks

- Implement new roller and smart observer model
This commit is contained in:
simibubi 2023-04-30 02:06:30 +02:00
parent e394a4957c
commit 0034725809
24 changed files with 877 additions and 376 deletions

View file

@ -94,7 +94,7 @@ public class HarvesterActorInstance extends ActorInstance {
.translateBack(getRotationOffset()); .translateBack(getRotationOffset());
} }
private double getRotation() { protected double getRotation() {
return AngleHelper.angleLerp(AnimationTickHolder.getPartialTicks(), previousRotation, rotation); return AngleHelper.angleLerp(AnimationTickHolder.getPartialTicks(), previousRotation, rotation);
} }
} }

View file

@ -13,8 +13,6 @@ import net.minecraft.world.phys.Vec3;
public class RollerActorInstance extends HarvesterActorInstance { public class RollerActorInstance extends HarvesterActorInstance {
static Vec3 rotOffset = new Vec3(0.5f, -12 * originOffset + 0.5f, 8 * originOffset + 0.5f);
ModelData frame; ModelData frame;
public RollerActorInstance(MaterialManager materialManager, VirtualRenderWorld simulationWorld, public RollerActorInstance(MaterialManager materialManager, VirtualRenderWorld simulationWorld,
@ -30,11 +28,20 @@ public class RollerActorInstance extends HarvesterActorInstance {
@Override @Override
public void beginFrame() { public void beginFrame() {
super.beginFrame(); harvester.loadIdentity()
frame.loadIdentity()
.translate(context.localPos) .translate(context.localPos)
.centre() .centre()
.rotateY(horizontalAngle) .rotateY(horizontalAngle)
.unCentre()
.translate(0, -.25, 17 / 16f)
.rotateX(getRotation())
.translate(0, -.5, .5)
.rotateY(90);
frame.loadIdentity()
.translate(context.localPos)
.centre()
.rotateY(horizontalAngle + 180)
.unCentre(); .unCentre();
} }
@ -45,7 +52,7 @@ public class RollerActorInstance extends HarvesterActorInstance {
@Override @Override
protected Vec3 getRotationOffset() { protected Vec3 getRotationOffset() {
return rotOffset; return Vec3.ZERO;
} }
@Override @Override

View file

@ -4,7 +4,6 @@ import java.util.function.Predicate;
import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlockEntityTypes;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes;
import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.block.IBE;
import com.simibubi.create.foundation.utility.placement.IPlacementHelper; import com.simibubi.create.foundation.utility.placement.IPlacementHelper;
import com.simibubi.create.foundation.utility.placement.PlacementHelpers; import com.simibubi.create.foundation.utility.placement.PlacementHelpers;
@ -27,6 +26,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
public class RollerBlock extends AttachedActorBlock implements IBE<RollerBlockEntity> { public class RollerBlock extends AttachedActorBlock implements IBE<RollerBlockEntity> {
@ -57,15 +57,14 @@ public class RollerBlock extends AttachedActorBlock implements IBE<RollerBlockEn
@Override @Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) { public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
Direction direction = state.getValue(FACING); return Shapes.block();
return AllShapes.ROLLER_BASE.get(direction);
} }
@Override @Override
public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) { public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) {
return true; return true;
} }
@Override @Override
public void setPlacedBy(Level pLevel, BlockPos pPos, BlockState pState, LivingEntity pPlacer, ItemStack pStack) { public void setPlacedBy(Level pLevel, BlockPos pPos, BlockState pState, LivingEntity pPlacer, ItemStack pStack) {
super.setPlacedBy(pLevel, pPos, pState, pPlacer, pStack); super.setPlacedBy(pLevel, pPos, pState, pPlacer, pStack);

View file

@ -46,9 +46,9 @@ public class RollerBlockEntity extends SmartBlockEntity {
@Override @Override
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
behaviours.add(filtering = new FilteringBehaviour(this, new RollerValueBox(4))); behaviours.add(filtering = new FilteringBehaviour(this, new RollerValueBox(3)));
behaviours.add(mode = new ScrollOptionBehaviour<RollingMode>(RollingMode.class, behaviours.add(mode = new ScrollOptionBehaviour<RollingMode>(RollingMode.class,
Lang.translateDirect("contraptions.roller_mode"), this, new RollerValueBox(-4))); Lang.translateDirect("contraptions.roller_mode"), this, new RollerValueBox(-3)));
filtering.setLabel(Lang.translateDirect("contraptions.mechanical_roller.pave_material")); filtering.setLabel(Lang.translateDirect("contraptions.mechanical_roller.pave_material"));
filtering.withCallback(this::onFilterChanged); filtering.withCallback(this::onFilterChanged);
@ -186,6 +186,14 @@ public class RollerBlockEntity extends SmartBlockEntity {
.rotateY(yRot) .rotateY(yRot)
.rotateX(90); .rotateX(90);
} }
@Override
public boolean testHit(BlockState state, Vec3 localHit) {
Vec3 offset = getLocalOffset(state);
if (offset == null)
return false;
return localHit.distanceTo(offset) < scale / 3;
}
@Override @Override
protected Vec3 getLocalOffset(BlockState state) { protected Vec3 getLocalOffset(BlockState state) {

View file

@ -23,8 +23,6 @@ import net.minecraft.world.phys.Vec3;
public class RollerRenderer extends SmartBlockEntityRenderer<RollerBlockEntity> { public class RollerRenderer extends SmartBlockEntityRenderer<RollerBlockEntity> {
private static final Vec3 PIVOT = new Vec3(0, -4, 16);
public RollerRenderer(Context context) { public RollerRenderer(Context context) {
super(context); super(context);
} }
@ -37,19 +35,22 @@ public class RollerRenderer extends SmartBlockEntityRenderer<RollerBlockEntity>
BlockState blockState = be.getBlockState(); BlockState blockState = be.getBlockState();
ms.pushPose(); ms.pushPose();
ms.translate(0, -.25, 0); ms.translate(0, -0.25, 0);
SuperByteBuffer superBuffer = CachedBufferer.partial(AllPartialModels.ROLLER_WHEEL, blockState) SuperByteBuffer superBuffer = CachedBufferer.partial(AllPartialModels.ROLLER_WHEEL, blockState);
.translate(0, .25, 0);
Direction facing = blockState.getValue(RollerBlock.FACING); Direction facing = blockState.getValue(RollerBlock.FACING);
HarvesterRenderer.transform(be.getLevel(), facing, superBuffer, be.getAnimatedSpeed(), PIVOT); superBuffer.translate(Vec3.atLowerCornerOf(facing.getNormal())
superBuffer.light(light) .scale(17 / 16f));
HarvesterRenderer.transform(be.getLevel(), facing, superBuffer, be.getAnimatedSpeed(), Vec3.ZERO);
superBuffer.translate(0, -.5, .5)
.rotateY(90)
.light(light)
.renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped()));
ms.popPose(); ms.popPose();
CachedBufferer.partial(AllPartialModels.ROLLER_FRAME, blockState) CachedBufferer.partial(AllPartialModels.ROLLER_FRAME, blockState)
.rotateCentered(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing))) .rotateCentered(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing) + 180))
.light(light) .light(light)
.renderInto(ms, buffer.getBuffer(RenderType.solid())); .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped()));
} }
public static void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld, public static void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld,
@ -63,23 +64,26 @@ public class RollerRenderer extends SmartBlockEntityRenderer<RollerBlockEntity>
if (context.contraption.stalled) if (context.contraption.stalled)
speed = 0; speed = 0;
superBuffer.translate(0, .25, 0) superBuffer.translate(Vec3.atLowerCornerOf(facing.getNormal())
.scale(17 / 16f))
.transform(matrices.getModel()); .transform(matrices.getModel());
HarvesterRenderer.transform(context.world, facing, superBuffer, speed, PIVOT); HarvesterRenderer.transform(context.world, facing, superBuffer, speed, Vec3.ZERO);
PoseStack viewProjection = matrices.getViewProjection(); PoseStack viewProjection = matrices.getViewProjection();
viewProjection.pushPose(); viewProjection.pushPose();
viewProjection.translate(0, -.25, 0); viewProjection.translate(0, -.25, 0);
int contraptionWorldLight = ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld); int contraptionWorldLight = ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld);
superBuffer.light(matrices.getWorld(), contraptionWorldLight) superBuffer.translate(0, -.5, .5)
.rotateY(90)
.light(matrices.getWorld(), contraptionWorldLight)
.renderInto(viewProjection, buffers.getBuffer(RenderType.cutoutMipped())); .renderInto(viewProjection, buffers.getBuffer(RenderType.cutoutMipped()));
viewProjection.popPose(); viewProjection.popPose();
CachedBufferer.partial(AllPartialModels.ROLLER_FRAME, blockState) CachedBufferer.partial(AllPartialModels.ROLLER_FRAME, blockState)
.transform(matrices.getModel()) .transform(matrices.getModel())
.rotateCentered(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing))) .rotateCentered(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing) + 180))
.light(matrices.getWorld(), contraptionWorldLight) .light(matrices.getWorld(), contraptionWorldLight)
.renderInto(viewProjection, buffers.getBuffer(RenderType.solid())); .renderInto(viewProjection, buffers.getBuffer(RenderType.cutoutMipped()));
} }
} }

View file

@ -50,6 +50,10 @@ public class SmartObserverBlockEntity extends SmartBlockEntity {
@Override @Override
public void tick() { public void tick() {
super.tick(); super.tick();
if (level.isClientSide())
return;
BlockState state = getBlockState(); BlockState state = getBlockState();
if (turnOffTicks > 0) { if (turnOffTicks > 0) {
turnOffTicks--; turnOffTicks--;

View file

@ -1,79 +1,22 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"ambientocclusion": false,
"textures": { "textures": {
"6": "create:block/mechanical_roller", "0": "create:block/roller_casing",
"7": "create:block/sticker_side", "particle": "create:block/andesite_casing"
"particle": "create:block/palettes/stone_types/polished/andesite_cut_polished"
}, },
"elements": [ "elements": [
{ {
"from": [0, 6, 6], "name": "Casing",
"from": [0, 0, 0],
"to": [16, 16, 16], "to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "x", "origin": [16, 0, 16]},
"faces": { "faces": {
"north": {"uv": [0, 11, 8, 16], "texture": "#6"}, "north": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"},
"east": {"uv": [0, 11, 5, 16], "texture": "#6"}, "east": {"uv": [8, 0, 0, 8], "texture": "#0"},
"south": {"uv": [0, 11, 8, 16], "texture": "#6"}, "south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [0, 11, 5, 16], "texture": "#6"}, "west": {"uv": [0, 0, 8, 8], "texture": "#0"},
"up": {"uv": [8, 11, 16, 16], "rotation": 180, "texture": "#6"}, "up": {"uv": [8, 0, 16, 8], "rotation": 90, "texture": "#0"},
"down": {"uv": [8, 11, 16, 16], "rotation": 180, "texture": "#6"} "down": {"uv": [0, 8, 8, 16], "texture": "#0"}
} }
},
{
"from": [1, -2, 0],
"to": [15, 6, 16],
"rotation": {"angle": 0, "axis": "x", "origin": [16, 0, 16]},
"faces": {
"north": {"uv": [1, 9, 15, 1], "texture": "#7"},
"east": {"uv": [0, 11, 16, 3], "texture": "#7"},
"south": {"uv": [1, 11, 15, 3], "texture": "#7"},
"west": {"uv": [0, 11, 16, 3], "texture": "#7"},
"up": {"uv": [1, 0, 15, 16], "rotation": 180, "texture": "#particle"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"translation": [8.5, 2.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 45, 0],
"translation": [8.5, 2.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 225, 0],
"translation": [-1.5, 3.5, 0],
"scale": [0.45, 0.45, 0.45]
},
"fixed": {
"translation": [0, 4.75, 0],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "roller",
"origin": [8, 8, 8],
"color": 0,
"children": [0, 1]
} }
] ]
} }

View file

@ -1,66 +1,73 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"ambientocclusion": false,
"textures": { "textures": {
"6": "create:block/mechanical_roller", "1": "create:block/roller_metal",
"particle": "create:block/palettes/stone_types/polished/andesite_cut_polished" "particle": "create:block/roller_casing"
}, },
"elements": [ "elements": [
{ {
"from": [-0.95, -8.05, -1.1], "name": "Axle left",
"to": [16.95, 0.05, 25.1], "from": [-2, -8, -5],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "to": [2, 0, 3],
"rotation": {"angle": 45, "axis": "x", "origin": [4, -4, -1]},
"faces": { "faces": {
"north": {"uv": [0, 4, 9, 8], "texture": "#6"}, "north": {"uv": [0, 4, 4, 6], "rotation": 90, "texture": "#1"},
"east": {"uv": [0, 0, 13, 4], "texture": "#6"}, "east": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#1"},
"south": {"uv": [0, 4, 9, 8], "texture": "#6"}, "south": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#1"},
"west": {"uv": [0, 0, 13, 4], "texture": "#6"}, "west": {"uv": [0, 0, 4, 4], "texture": "#1"},
"up": {"uv": [0, 0, 13, 4], "rotation": 270, "texture": "#6"}, "up": {"uv": [0, 4, 4, 6], "rotation": 90, "texture": "#1"},
"down": {"uv": [0, 0, 13, 4], "rotation": 270, "texture": "#6"} "down": {"uv": [4, 6, 0, 8], "rotation": 90, "texture": "#1"}
} }
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
}, },
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"translation": [8.5, 2.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 45, 0],
"translation": [8.5, 2.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 225, 0],
"translation": [-1.5, 3.5, 0],
"scale": [0.45, 0.45, 0.45]
},
"fixed": {
"translation": [0, 4.75, 0],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{ {
"name": "roller", "name": "Axle right",
"origin": [8, 8, 8], "from": [14, -8, -5],
"color": 0, "to": [18, 0, 3],
"children": [0] "rotation": {"angle": 45, "axis": "x", "origin": [4, -4, -1]},
"faces": {
"north": {"uv": [0, 4, 4, 6], "rotation": 90, "texture": "#1"},
"east": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#1"},
"south": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#1"},
"west": {"uv": [0, 0, 4, 4], "texture": "#1"},
"up": {"uv": [0, 4, 4, 6], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 6, 0, 8], "rotation": 90, "texture": "#1"}
}
},
{
"name": "Chute",
"from": [1, -4, -8],
"to": [15, 12, 6],
"rotation": {"angle": 45, "axis": "x", "origin": [4, -4, -1]},
"faces": {
"north": {"uv": [0.5, 8, 7.5, 16], "texture": "#1"},
"east": {"uv": [8.5, 8, 15.5, 16], "texture": "#1"},
"south": {"uv": [0.5, 8, 7.5, 16], "texture": "#1"},
"west": {"uv": [8.5, 8, 15.5, 16], "texture": "#1"},
"down": {"uv": [8, 16, 8.5, 8], "texture": "#1"}
}
},
{
"name": "Chute top",
"from": [1, 5, -14],
"to": [15, 11, -8],
"rotation": {"angle": 45, "axis": "x", "origin": [4, -4, -1]},
"faces": {
"north": {"uv": [9, 1, 16, 4], "texture": "#1"},
"east": {"uv": [6, 1, 9, 4], "texture": "#1"},
"west": {"uv": [9, 1, 6, 4], "texture": "#1"},
"down": {"uv": [0.5, 13, 7.5, 10], "texture": "#1"}
}
},
{
"name": "Cage",
"from": [1, -2, -14],
"to": [15, 5, -8],
"rotation": {"angle": 45, "axis": "x", "origin": [4, -4, -1]},
"faces": {
"north": {"uv": [9, 4, 16, 8], "texture": "#1"},
"east": {"uv": [6, 4, 9, 8], "texture": "#1"},
"west": {"uv": [9, 4, 6, 8], "texture": "#1"}
}
} }
] ]
} }

View file

@ -1,119 +1,32 @@
{ {
"credit": "Made with Blockbench", "parent": "block/block",
"ambientocclusion": false, "loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/mechanical_roller/item.obj",
"textures": { "textures": {
"5": "create:block/crushing_wheel", "wheel": "create:block/roller_wheel",
"6": "create:block/mechanical_roller", "metal": "create:block/roller_metal",
"particle": "create:block/palettes/stone_types/polished/andesite_cut_polished" "casing": "create:block/roller_casing"
}, },
"elements": [
{
"from": [0, -4, 11],
"to": [16, 6, 21],
"rotation": {"angle": 0, "axis": "x", "origin": [16, 0, 16]},
"faces": {
"north": {"uv": [0, 11, 8, 16], "texture": "#6"},
"east": {"uv": [0, 11, 5, 16], "texture": "#6"},
"south": {"uv": [0, 11, 8, 16], "texture": "#6"},
"west": {"uv": [0, 11, 5, 16], "texture": "#6"},
"up": {"uv": [8, 11, 16, 16], "rotation": 180, "texture": "#6"},
"down": {"uv": [8, 11, 16, 16], "rotation": 180, "texture": "#6"}
}
},
{
"from": [-1, -8, -9.1],
"to": [17, 0, 17.1],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 14]},
"faces": {
"north": {"uv": [0, 4, 9, 8], "texture": "#6"},
"east": {"uv": [0, 0, 13, 4], "texture": "#6"},
"south": {"uv": [0, 4, 9, 8], "texture": "#6"},
"west": {"uv": [0, 0, 13, 4], "texture": "#6"},
"up": {"uv": [0, 0, 13, 4], "rotation": 90, "texture": "#6"},
"down": {"uv": [0, 0, 13, 4], "rotation": 90, "texture": "#6"}
}
},
{
"from": [0.15, -16, -5],
"to": [15.85, 8, 5],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 0]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"east": {"uv": [15, 16, 16, 6], "rotation": 270, "texture": "#particle"},
"south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"},
"west": {"uv": [15, 16, 16, 6], "rotation": 270, "texture": "#particle"},
"up": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"},
"down": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"}
}
},
{
"from": [0.1, -9, -12],
"to": [15.9, 1, 12],
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, -4, 0]},
"faces": {
"north": {"uv": [0, 6, 16, 16], "texture": "#particle"},
"east": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"south": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"},
"west": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"},
"down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"}
}
},
{
"from": [0.15, -9, -12],
"to": [15.85, 1, 12],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 0]},
"faces": {
"north": {"uv": [0, 6, 16, 16], "texture": "#particle"},
"east": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"south": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"},
"west": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"},
"down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"}
}
},
{
"from": [0.1, -16, -5],
"to": [15.9, 8, 5],
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, -4, 0]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"east": {"uv": [15, 6, 16, 16], "rotation": 270, "texture": "#particle"},
"south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"},
"west": {"uv": [15, 6, 16, 16], "rotation": 270, "texture": "#particle"},
"up": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"},
"down": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"}
}
},
{
"from": [0.05, -15, -11],
"to": [15.95, 7, 11],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 0]},
"faces": {
"east": {"uv": [2, 2, 14, 14], "texture": "#5"},
"west": {"uv": [2, 2, 14, 14], "texture": "#5"}
}
}
],
"display": { "display": {
"thirdperson_righthand": { "thirdperson_righthand": {
"rotation": [75, 45, 0], "rotation": [-107.22, 0.99, -174.76],
"translation": [0, 2.5, 0], "translation": [0, 2.25, 0],
"scale": [0.375, 0.375, 0.375] "scale": [0.375, 0.375, 0.375]
}, },
"thirdperson_lefthand": { "thirdperson_lefthand": {
"rotation": [75, 45, 0], "rotation": [-107.22, 0.99, -174.76],
"translation": [0, 2.5, 0], "translation": [0, 2.25, 0],
"scale": [0.375, 0.375, 0.375] "scale": [0.375, 0.375, 0.375]
}, },
"firstperson_righthand": { "firstperson_righthand": {
"rotation": [0, 45, 0], "rotation": [0, -172, 0],
"translation": [8.5, 2.25, 0], "translation": [0, 0, 3],
"scale": [0.4, 0.4, 0.4] "scale": [0.4, 0.4, 0.4]
}, },
"firstperson_lefthand": { "firstperson_lefthand": {
"rotation": [0, 45, 0], "rotation": [0, -172, 0],
"translation": [8.5, 2.25, 0], "translation": [0, 0, 3],
"scale": [0.4, 0.4, 0.4] "scale": [0.4, 0.4, 0.4]
}, },
"ground": { "ground": {
@ -121,24 +34,14 @@
"scale": [0.25, 0.25, 0.25] "scale": [0.25, 0.25, 0.25]
}, },
"gui": { "gui": {
"rotation": [30, 225, 0], "rotation": [30, 45, 0],
"translation": [-1.25, 4.75, 0], "translation": [-1.5, 2.25, 0],
"scale": [0.45, 0.45, 0.45] "scale": [0.44, 0.44, 0.44]
},
"head": {
"translation": [0, 11, -5.75]
}, },
"fixed": { "fixed": {
"translation": [0, 4.75, 0], "rotation": [0, 90, 0],
"scale": [0.5, 0.5, 0.5] "translation": [-2, 1.75, 0],
"scale": [0.4, 0.4, 0.4]
} }
}, }
"groups": [
{
"name": "roller",
"origin": [8, 8, 8],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6]
}
]
} }

View file

@ -0,0 +1,11 @@
# Blender 3.5.1 MTL File: 'roller.blend'
# www.blender.org
newmtl roller_casing
map_Kd #casing
newmtl roller_metal
map_Kd #metal
newmtl roller_wheel
map_Kd #wheel

View file

@ -0,0 +1,363 @@
# Blender 3.5.1
# www.blender.org
mtllib item.mtl
o Chute
v 0.125000 -0.000000 0.458947
v 0.125000 -0.353554 0.812500
v 0.125000 0.353553 0.812500
v 0.125000 -0.000000 1.166054
v 1.125000 -0.000000 1.166054
v 1.125000 0.353553 0.812500
v 1.125000 -0.353554 0.812500
v 1.125000 -0.000000 0.458947
v 0.875000 -0.353554 0.812500
v -0.125000 0.353553 0.812500
v -0.125000 -0.000000 1.166054
v 0.875000 -0.000000 0.458947
v -0.125000 -0.000000 0.458947
v 0.875000 -0.000000 1.166054
v 0.875000 0.353553 0.812500
v -0.125000 -0.353554 0.812500
v 0.875000 0.750000 1.123160
v 0.875000 -0.000000 0.812500
v 0.125000 0.310660 1.562500
v 0.875000 0.310660 1.562500
v 0.125000 -0.310660 1.562500
v 0.125000 -0.750000 1.123160
v 0.875000 -0.750000 1.123160
v 0.875000 -0.310660 0.062500
v 0.125000 -0.000000 0.812500
v 0.875000 0.625000 1.071384
v 0.875000 0.258883 1.437500
v 0.875000 -0.258884 1.437500
v 0.875000 -0.310660 1.562500
v 0.875000 -0.750000 0.501840
v 0.875000 -0.625000 0.553616
v 0.875000 -0.625000 1.071383
v 0.875000 0.310660 0.062500
v 0.875000 -0.258884 0.187500
v 0.875000 0.258883 0.187500
v 0.875000 0.625000 0.553617
v 0.875000 0.750000 0.501840
v 0.125000 0.625000 1.071384
v 0.125000 0.625000 0.553617
v 0.125000 0.750000 0.501840
v 0.125000 0.310660 0.062500
v 0.125000 0.258883 0.187500
v 0.125000 -0.258884 0.187500
v 0.125000 -0.625000 0.553617
v 0.125000 -0.310660 0.062500
v 0.125000 -0.750000 0.501840
v 0.125000 -0.625000 1.071384
v 0.125000 -0.258884 1.437500
v 0.125000 0.258883 1.437500
v 0.125000 0.750000 1.123160
v 0.062500 0.368718 1.592830
v 0.062500 0.987437 0.974112
v 0.062500 0.103553 1.327665
v 0.062500 0.722272 0.708947
v 0.937500 0.368718 1.592830
v 0.937500 0.987437 0.974112
v 0.937500 0.103553 1.327665
v 0.937500 0.722272 0.708947
v 0.062500 0.722272 1.239277
v 0.062500 0.457107 0.974112
v 0.937500 0.457107 0.974112
v 0.937500 0.722272 1.239277
v 0.000000 0.000000 1.000000
v -0.000000 1.000000 1.000000
v 0.000000 0.000000 0.000000
v -0.000000 1.000000 0.000000
v 1.000000 0.000000 1.000000
v 1.000000 1.000000 1.000000
v 1.000000 0.000000 -0.000000
v 1.000000 1.000000 0.000000
v 0.062500 0.059359 1.371859
v 0.062500 0.766466 0.664752
v 0.062500 -0.559359 0.753141
v 0.062500 0.147747 0.046034
v 0.937500 0.059359 1.371859
v 0.937500 0.766466 0.664752
v 0.937500 -0.559359 0.753141
v 0.937500 0.147747 0.046034
vn -0.0000 0.7071 -0.7071
vn -0.0000 -0.7071 -0.7071
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.7071 0.7071
vn -1.0000 -0.0000 -0.0000
vn -0.0000 0.7071 0.7071
vn -0.0000 1.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -1.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vt 0.250000 0.625000
vt 0.000000 0.500000
vt 0.250000 0.500000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.250000 0.625000
vt 0.000000 0.750000
vt 0.000000 0.625000
vt 0.250000 0.750000
vt 0.000000 1.000000
vt 0.000000 0.750000
vt 0.250000 0.750000
vt 0.250000 0.625000
vt 0.000000 0.625000
vt 0.250000 1.000000
vt 0.250000 0.750000
vt 0.250000 0.500000
vt 0.000000 1.000000
vt 0.000000 0.750000
vt 0.000000 0.625000
vt 0.250000 1.000000
vt 0.250000 0.750000
vt 0.000000 0.500000
vt 0.250000 0.625000
vt 0.250000 0.750000
vt 0.000000 0.750000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.250000 0.625000
vt 0.000000 0.625000
vt 0.250000 0.750000
vt 0.250000 0.625000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.687500 0.687500
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.687500 0.687500
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.562500 1.000000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.375000 0.812500
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.375000 0.562500
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.812500 0.375000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.562500 0.375000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 1.000000 0.562500
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 1.000000 0.812500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.812500 1.000000
vt 0.312500 0.625000
vt 0.312500 1.000000
vt 0.000000 0.625000
vt 0.312500 0.687500
vt 0.375000 0.713542
vt 0.812500 1.000000
vt 0.375000 0.973958
vt 0.562500 1.000000
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.375000 0.812500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.375000 0.562500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.562500 0.375000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 1.000000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.812500 0.375000
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 1.000000 0.562500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 1.000000 0.812500
vt 0.375000 0.713542
vt 0.000000 1.000000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.562500 0.500000
vt 0.562500 0.937500
vt 0.375000 0.500000
vt 0.375000 0.937500
vt 1.000000 0.500000
vt 0.562500 0.500000
vt 1.000000 0.937500
vt 0.562500 0.937500
vt 0.375000 0.500000
vt 0.375000 0.937500
vt 0.031250 0.406250
vt 0.562500 0.750000
vt 0.031250 0.187500
vt 0.375000 0.750000
vt 0.468750 0.187500
vt 0.375000 0.750000
vt 0.468750 0.406250
vt 1.000000 0.750000
vt 0.562500 0.750000
vt 0.000000 0.500000
vt 0.500000 -0.000000
vt 0.500000 0.500000
vt 0.000000 1.000000
vt 0.500000 1.000000
vt 0.500000 0.000000
vt 1.000000 0.000000
vt 0.500000 0.500000
vt 1.000000 0.500000
vt 0.500000 1.000000
vt 1.000000 1.000000
vt 0.000000 -0.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 0.500000 0.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 0.500000
vt 1.000000 0.500000
vt 0.500000 1.000000
vt 0.968750 0.000000
vt 0.031250 -0.000000
vt 0.500000 0.500000
vt 0.968750 0.500000
vt 0.031250 0.500000
vt 0.531250 -0.000000
vt 0.468750 -0.000000
vt 0.500000 0.000000
vt 0.531250 0.500000
vt 0.468750 0.500000
vt 0.531250 -0.000000
vt 0.468750 -0.000000
vt 0.531250 0.500000
vt 0.531250 0.500000
vt 0.468750 0.500000
vt 0.031250 -0.000000
vt 0.968750 0.000000
vt 0.531250 -0.000000
vt 0.031250 0.500000
vt 0.968750 0.500000
s 0
usemtl roller_metal
f 10/19/1 3/4/1 1/1/1 13/25/1
f 9/17/2 12/23/2 8/14/2 7/13/2
f 7/12/3 8/15/3 6/10/3 5/7/3
f 4/5/4 11/20/4 16/32/4 2/3/4
f 9/17/4 7/13/4 5/8/4 14/28/4
f 11/21/5 10/18/5 13/26/5 16/31/5
f 8/16/1 12/24/1 15/30/1 6/11/1
f 16/32/2 13/27/2 1/2/2 2/3/2
f 5/9/6 6/11/6 15/30/6 14/29/6
f 4/6/6 3/4/6 10/19/6 11/22/6
f 60/151/4 61/153/4 62/155/4 59/149/4
f 55/143/6 62/156/6 59/150/6 51/139/6
f 62/156/6 56/145/6 52/140/6 59/150/6
f 57/147/3 61/154/3 62/157/3 55/144/3
f 61/154/3 58/148/3 56/146/3 62/157/3
f 51/139/5 59/150/5 60/152/5 53/141/5
f 59/150/5 52/140/5 54/142/5 60/152/5
f 71/180/5 72/183/5 74/188/5 73/185/5
f 73/186/2 74/189/2 78/198/2 77/195/2
f 77/196/3 78/199/3 76/193/3 75/190/3
f 75/191/6 76/194/6 72/184/6 71/181/6
f 73/187/4 77/197/4 75/192/4 71/182/4
usemtl roller_wheel
f 40/107/7 50/136/7 17/33/7 37/96/7
f 50/138/6 19/38/6 20/41/6 17/34/6
f 36/93/3 37/97/3 17/35/3 26/60/3
f 19/39/8 21/45/8 29/69/8 20/42/8
f 26/61/3 17/36/3 20/43/3 27/63/3
f 21/46/4 22/48/4 23/51/4 29/70/4
f 27/64/3 20/44/3 29/71/3 28/66/3
f 22/49/9 46/124/9 30/73/9 23/52/9
f 28/67/3 29/72/3 23/53/3 32/80/3
f 46/126/2 45/121/2 24/55/2 30/74/2
f 32/81/3 23/54/3 30/75/3 31/77/3
f 45/122/10 41/109/10 33/83/10 24/56/10
f 31/78/3 30/76/3 24/57/3 34/87/3
f 41/110/1 40/106/1 37/98/1 33/84/1
f 34/88/3 24/58/3 33/85/3 35/90/3
f 35/91/3 33/86/3 37/99/3 36/94/3
f 18/37/3 35/92/3 36/95/3
f 18/37/3 34/89/3 35/92/3
f 18/37/3 31/79/3 34/89/3
f 18/37/3 32/82/3 31/79/3
f 25/59/5 38/101/5 39/103/5
f 25/59/5 39/103/5 42/112/5
f 25/59/5 42/112/5 43/115/5
f 18/37/3 28/68/3 32/82/3
f 25/59/5 44/118/5 47/127/5
f 25/59/5 43/115/5 44/118/5
f 25/59/5 47/127/5 48/130/5
f 25/59/5 48/130/5 49/134/5
f 18/37/3 27/65/3 28/68/3
f 49/133/5 19/39/5 50/137/5 38/100/5
f 25/59/5 49/134/5 38/101/5
f 48/131/5 21/46/5 19/40/5 49/135/5
f 47/128/5 22/49/5 21/47/5 48/132/5
f 18/37/3 26/62/3 27/65/3
f 43/116/5 45/122/5 46/125/5 44/119/5
f 44/120/5 46/126/5 22/50/5 47/129/5
f 42/113/5 41/110/5 45/123/5 43/117/5
f 39/104/5 40/107/5 41/111/5 42/114/5
f 18/37/3 36/95/3 26/62/3
f 38/102/5 50/138/5 40/108/5 39/105/5
usemtl roller_casing
f 65/164/10 66/166/10 70/177/10 69/174/10
f 64/161/5 66/167/5 65/165/5 63/158/5
f 69/175/9 67/169/9 63/159/9 65/165/9
f 70/178/7 66/168/7 64/162/7 68/171/7
f 69/176/3 70/179/3 68/172/3 67/170/3
f 64/163/8 63/160/8 67/170/8 68/173/8

View file

@ -1,114 +1,9 @@
{ {
"credit": "Made with Blockbench", "parent": "block/block",
"ambientocclusion": false, "loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/mechanical_roller/wheel.obj",
"textures": { "textures": {
"5": "create:block/crushing_wheel", "wheel": "create:block/roller_wheel"
"particle": "create:block/palettes/stone_types/polished/andesite_cut_polished" }
},
"elements": [
{
"from": [0.15, -16, 11],
"to": [15.85, 8, 21],
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, -4, 16]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"},
"east": {"uv": [15, 16, 16, 6], "rotation": 270, "texture": "#particle"},
"south": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"west": {"uv": [15, 16, 16, 6], "rotation": 270, "texture": "#particle"},
"up": {"uv": [0, 6, 16, 16], "texture": "#particle"},
"down": {"uv": [0, 6, 16, 16], "texture": "#particle"}
}
},
{
"from": [0.1, -9, 4],
"to": [15.9, 1, 28],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 16]},
"faces": {
"north": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"},
"east": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"south": {"uv": [0, 6, 16, 16], "texture": "#particle"},
"west": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"up": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"down": {"uv": [0, 0, 16, 16], "texture": "#particle"}
}
},
{
"from": [0.15, -9, 4],
"to": [15.85, 1, 28],
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, -4, 16]},
"faces": {
"north": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#particle"},
"east": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"south": {"uv": [0, 6, 16, 16], "texture": "#particle"},
"west": {"uv": [16, 16, 15, 6], "rotation": 180, "texture": "#particle"},
"up": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"down": {"uv": [0, 0, 16, 16], "texture": "#particle"}
}
},
{
"from": [0.1, -16, 11],
"to": [15.9, 8, 21],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 16]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#particle"},
"east": {"uv": [15, 6, 16, 16], "rotation": 270, "texture": "#particle"},
"south": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"west": {"uv": [15, 6, 16, 16], "rotation": 270, "texture": "#particle"},
"up": {"uv": [0, 6, 16, 16], "texture": "#particle"},
"down": {"uv": [0, 6, 16, 16], "texture": "#particle"}
}
},
{
"from": [0.05, -15, 5],
"to": [15.95, 7, 27],
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, -4, 16]},
"faces": {
"east": {"uv": [2, 2, 14, 14], "texture": "#5"},
"west": {"uv": [2, 2, 14, 14], "texture": "#5"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"translation": [8.5, 2.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 45, 0],
"translation": [8.5, 2.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 225, 0],
"translation": [-1.5, 3.5, 0],
"scale": [0.45, 0.45, 0.45]
},
"fixed": {
"translation": [0, 4.75, 0],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "roller",
"origin": [8, 8, 8],
"color": 0,
"children": [0, 1, 2, 3, 4]
}
]
} }

View file

@ -0,0 +1,5 @@
# Blender 3.5.1 MTL File: 'roller.blend'
# www.blender.org
newmtl roller_wheel
map_Kd #wheel

View file

@ -0,0 +1,352 @@
# Blender 3.5.1
# www.blender.org
mtllib wheel.mtl
o Bounding.001
v 7.999996 -16.000000 -0.000004
v 7.999996 0.000000 -0.000004
v 8.000006 -16.000000 15.999996
v 8.000006 0.000000 15.999996
v -8.000004 -16.000000 0.000005
v -8.000004 0.000000 0.000005
v -7.999995 -16.000000 16.000006
v -7.999995 0.000000 16.000006
v 8.000006 -16.000000 15.999996
v 8.000006 0.000000 15.999996
v 8.000014 -16.000000 31.999996
v 8.000014 0.000000 31.999996
v -7.999995 -16.000000 16.000006
v -7.999995 0.000000 16.000006
v -7.999986 -16.000000 32.000004
v -7.999986 0.000000 32.000004
v 7.999996 -32.000000 -0.000004
v 7.999996 -16.000000 -0.000004
v 8.000006 -32.000000 15.999996
v 8.000006 -16.000000 15.999996
v -8.000004 -32.000000 0.000005
v -8.000004 -16.000000 0.000005
v -7.999995 -32.000000 16.000006
v -7.999995 -16.000000 16.000006
v 8.000006 -32.000000 15.999996
v 8.000006 -16.000000 15.999996
v 8.000014 -32.000000 31.999996
v 8.000014 -16.000000 31.999996
v -7.999995 -32.000000 16.000006
v -7.999995 -16.000000 16.000006
v -7.999986 -32.000000 32.000004
v -7.999986 -16.000000 32.000004
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn -0.0000 -1.0000 -0.0000
vn -0.0000 1.0000 -0.0000
vt 0.375000 0.000000
vt 0.375000 1.000000
vt 0.125000 0.750000
vt 0.625000 0.000000
vt 0.625000 1.000000
vt 0.875000 0.750000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.625000 0.250000
vt 0.875000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.375000 0.000000
vt 0.375000 1.000000
vt 0.125000 0.750000
vt 0.625000 0.000000
vt 0.625000 1.000000
vt 0.875000 0.750000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.625000 0.250000
vt 0.875000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.375000 0.000000
vt 0.375000 1.000000
vt 0.125000 0.750000
vt 0.625000 0.000000
vt 0.625000 1.000000
vt 0.875000 0.750000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.625000 0.250000
vt 0.875000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.375000 0.000000
vt 0.375000 1.000000
vt 0.125000 0.750000
vt 0.625000 0.000000
vt 0.625000 1.000000
vt 0.875000 0.750000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.625000 0.250000
vt 0.875000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.500000
vt 0.625000 0.500000
s 0
f 1/1/1 2/4/1 4/9/1 3/7/1
f 3/7/2 4/9/2 8/14/2 7/13/2
f 7/13/3 8/14/3 6/12/3 5/11/3
f 5/11/4 6/12/4 2/5/4 1/2/4
f 3/8/5 7/13/5 5/11/5 1/3/5
f 8/14/6 4/10/6 2/6/6 6/12/6
f 9/15/1 10/18/1 12/23/1 11/21/1
f 11/21/2 12/23/2 16/28/2 15/27/2
f 15/27/3 16/28/3 14/26/3 13/25/3
f 13/25/4 14/26/4 10/19/4 9/16/4
f 11/22/5 15/27/5 13/25/5 9/17/5
f 16/28/6 12/24/6 10/20/6 14/26/6
f 17/29/1 18/32/1 20/37/1 19/35/1
f 19/35/2 20/37/2 24/42/2 23/41/2
f 23/41/3 24/42/3 22/40/3 21/39/3
f 21/39/4 22/40/4 18/33/4 17/30/4
f 19/36/5 23/41/5 21/39/5 17/31/5
f 24/42/6 20/38/6 18/34/6 22/40/6
f 25/43/1 26/46/1 28/51/1 27/49/1
f 27/49/2 28/51/2 32/56/2 31/55/2
f 31/55/3 32/56/3 30/54/3 29/53/3
f 29/53/4 30/54/4 26/47/4 25/44/4
f 27/50/5 31/55/5 29/53/5 25/45/5
f 32/56/6 28/52/6 26/48/6 30/54/6
o Bounding_2.001
v -6.062201 -31.869280 75.933762
v -6.062201 -7.869280 75.933762
v -6.062201 -31.869280 51.933758
v -6.062201 -7.869280 51.933758
v 5.937799 -31.869280 75.933762
v 5.937799 -7.869280 75.933762
v 5.937799 -31.869280 51.933758
v 5.937799 -7.869280 51.933758
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -1.0000 -0.0000
vn -0.0000 1.0000 -0.0000
vt 0.375000 0.000000
vt 0.375000 1.000000
vt 0.125000 0.750000
vt 0.625000 0.000000
vt 0.625000 1.000000
vt 0.875000 0.750000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.625000 0.250000
vt 0.875000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.500000
vt 0.625000 0.500000
s 0
f 33/57/7 34/60/7 36/65/7 35/63/7
f 35/63/8 36/65/8 40/70/8 39/69/8
f 39/69/9 40/70/9 38/68/9 37/67/9
f 37/67/10 38/68/10 34/61/10 33/58/10
f 35/64/11 39/69/11 37/67/11 33/59/11
f 40/70/12 36/66/12 34/62/12 38/68/12
o Wheel.003
v 0.810660 1.250000 0.125000
v 0.500000 0.500000 0.125000
v 1.250000 0.810660 0.875000
v 1.250000 0.810660 0.125000
v 1.250000 0.189340 0.875000
v 0.810660 -0.250000 0.875000
v 0.810660 -0.250000 0.125000
v -0.250000 0.189340 0.125000
v 0.500000 0.500000 0.875000
v 0.758883 1.125000 0.125000
v 1.125000 0.758883 0.125000
v 1.125000 0.241116 0.125000
v 1.250000 0.189340 0.125000
v 0.189340 -0.250000 0.125000
v 0.241116 -0.125000 0.125000
v 0.758883 -0.125000 0.125000
v -0.250000 0.810660 0.125000
v -0.125000 0.241117 0.125000
v -0.125000 0.758884 0.125000
v 0.241116 1.125000 0.125000
v 0.189340 1.250000 0.125000
v 0.758884 1.125000 0.875000
v 0.241117 1.125000 0.875000
v 0.189340 1.250000 0.875000
v -0.250000 0.810660 0.875000
v -0.125000 0.758883 0.875000
v -0.125000 0.241116 0.875000
v 0.241117 -0.125000 0.875000
v -0.250000 0.189340 0.875000
v 0.189340 -0.250000 0.875000
v 0.758884 -0.125000 0.875000
v 1.125000 0.241116 0.875000
v 1.125000 0.758883 0.875000
v 0.810660 1.250000 0.875000
vn -0.0000 1.0000 -0.0000
vn 0.7071 0.7071 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn 0.7071 -0.7071 -0.0000
vn -0.0000 -1.0000 -0.0000
vn -0.7071 -0.7071 -0.0000
vn -1.0000 -0.0000 -0.0000
vn -0.7071 0.7071 -0.0000
vn -0.0000 -0.0000 1.0000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.687500 0.687500
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.687500 0.687500
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.562500 1.000000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.375000 0.812500
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.375000 0.562500
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.812500 0.375000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.562500 0.375000
vt 0.000000 0.625000
vt 0.312500 0.625000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 1.000000 0.562500
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 1.000000 0.812500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.812500 1.000000
vt 0.312500 0.625000
vt 0.312500 1.000000
vt 0.000000 0.625000
vt 0.312500 0.687500
vt 0.375000 0.713542
vt 0.812500 1.000000
vt 0.375000 0.973958
vt 0.562500 1.000000
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.375000 0.812500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.375000 0.562500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.562500 0.375000
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 0.000000 1.000000
vt 0.312500 1.000000
vt 0.312500 0.687500
vt 0.000000 1.000000
vt 0.312500 0.687500
vt 0.312500 1.000000
vt 0.812500 0.375000
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 1.000000 0.562500
vt 0.375000 0.973958
vt 0.375000 0.713542
vt 0.375000 0.973958
vt 1.000000 0.812500
vt 0.375000 0.713542
vt 0.000000 1.000000
vt 0.312500 0.687500
vt 0.312500 1.000000
s 0
usemtl roller_wheel
f 64/145/13 74/174/13 41/71/13 61/134/13
f 74/176/14 43/76/14 44/79/14 41/72/14
f 60/131/15 61/135/15 41/73/15 50/98/15
f 43/77/16 45/83/16 53/107/16 44/80/16
f 50/99/15 41/74/15 44/81/15 51/101/15
f 45/84/17 46/86/17 47/89/17 53/108/17
f 51/102/15 44/82/15 53/109/15 52/104/15
f 46/87/18 70/162/18 54/111/18 47/90/18
f 52/105/15 53/110/15 47/91/15 56/118/15
f 70/164/19 69/159/19 48/93/19 54/112/19
f 56/119/15 47/92/15 54/113/15 55/115/15
f 69/160/20 65/147/20 57/121/20 48/94/20
f 55/116/15 54/114/15 48/95/15 58/125/15
f 65/148/21 64/144/21 61/136/21 57/122/21
f 58/126/15 48/96/15 57/123/15 59/128/15
f 59/129/15 57/124/15 61/137/15 60/132/15
f 42/75/15 59/130/15 60/133/15
f 42/75/15 58/127/15 59/130/15
f 42/75/15 55/117/15 58/127/15
f 42/75/15 56/120/15 55/117/15
f 49/97/22 62/139/22 63/141/22
f 49/97/22 63/141/22 66/150/22
f 49/97/22 66/150/22 67/153/22
f 42/75/15 52/106/15 56/120/15
f 49/97/22 68/156/22 71/165/22
f 49/97/22 67/153/22 68/156/22
f 49/97/22 71/165/22 72/168/22
f 49/97/22 72/168/22 73/172/22
f 42/75/15 51/103/15 52/106/15
f 73/171/22 43/77/22 74/175/22 62/138/22
f 49/97/22 73/172/22 62/139/22
f 72/169/22 45/84/22 43/78/22 73/173/22
f 71/166/22 46/87/22 45/85/22 72/170/22
f 42/75/15 50/100/15 51/103/15
f 67/154/22 69/160/22 70/163/22 68/157/22
f 68/158/22 70/164/22 46/88/22 71/167/22
f 66/151/22 65/148/22 69/161/22 67/155/22
f 63/142/22 64/145/22 65/149/22 66/152/22
f 42/75/15 60/133/15 50/100/15
f 62/140/22 74/176/22 64/146/22 63/143/22

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 B

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 298 B