added full highlight functionality for bonuscards; added bonus Symbols display

This commit is contained in:
Cedric Beck
2024-11-28 01:21:15 +01:00
parent 9736dc828b
commit 304acf17a3
12 changed files with 6141 additions and 542 deletions

View File

@@ -27,9 +27,12 @@ public enum Asset {
shield_ring("Models/shield_ring/shield_ring.obj", null),
tree_small("Models/tree_small/tree_small.obj", "Models/tree_small/tree_small_diff.png"),
tree_big("Models/tree_big/tree_big.obj", "Models/tree_big/tree_big_diff.png"),
turboCard,
turboCard("Models/turboCard/turboCard.obj", "Models/turboCard/turboCard_diff.png"),
turboSymbol("Models/turboCard/turboSymbol.obj", "Models/turboCard/turboCard_diff.png"),
swapCard("Models/swapCard/swapCard.obj", "Models/swapCard/swapCard_diff.png"),
shieldCard,
swapSymbol("Models/swapCard/swapSymbol.obj", "Models/swapCard/swapCard_diff.png"),
shieldCard("Models/shieldCard/shieldCard.obj", "Models/shieldCard/shieldCard_diff.png"),
shieldSymbol("Models/shieldCard/shieldSymbol.obj", "Models/shieldCard/shieldCard_diff.png"),
dice("Models/dice/dice.obj", "Models/dice/dice_diff.jpeg")
;

View File

@@ -94,7 +94,9 @@ else if(boardSelect != null) {
}
if(name.equals("Test") &&isPressed){
test = true;
if(app.getView() instanceof GameView gameView){
gameView.getGuiHandler().swap();
}
}
}
};
@@ -116,7 +118,7 @@ else if (name.equals("MouseScrollDown")) {
}
else if (name.equals("MouseLeft") || name.equals("MouseRight") || name.equals("MouseVertical")){
hoverPiece();
hoverCardOutline();
hoverCard();
}
}
};
@@ -160,7 +162,7 @@ private void hoverPiece() {
}
}
private void hoverCardOutline() {
private void hoverCard() {
if (app.getView() instanceof GameView gameView) {
CardControl control = checkCard(gameView);
if (control != null) {

View File

@@ -55,7 +55,7 @@ public CardControl(MdgaApp app, FilterPostProcessor fpp, Camera cam, Node root){
private Node createNum(){
Node rootNum = new Node("root Num");
Geometry circle = new Geometry("circle", new Sphere(20,20,1));
circle.setLocalTranslation(new Vector3f(0.01f,0.01f,1));
circle.setLocalTranslation(new Vector3f(0.03f,0.01f,1));
circle.setLocalScale(0.2f);
Material mat = new Material(getApp().getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
mat.setColor("Color", ColorRGBA.Black);
@@ -91,13 +91,21 @@ public void outline(){
super.outline(OUTLINE_COLOR);
}
private final static Vector3f HIGHLIGHT_Y = new Vector3f(0,0.4f,0);
public void setHighlight() {
this.highlight = true;
root.setLocalTranslation(root.getLocalTranslation().add(HIGHLIGHT_Y));
highlight();
}
public void highlight() {
highlight = true;
super.outline(HIGHLIGHT_COLOR, HIGHLIGHT_WIDTH);
}
public void unHighlight(){
highlight = false;
root.setLocalTranslation(root.getLocalTranslation().subtract(HIGHLIGHT_Y));
deOutline();
}

View File

@@ -57,7 +57,7 @@ public void initialize(AppStateManager stateManager, Application app ) {
DirectionalLight sun = new DirectionalLight();
sun.setColor(ColorRGBA.White);
sun.setDirection(new Vector3f(1,-1,-1));
sun.setDirection(new Vector3f(.5f,-.5f,-1));
root.addLight(sun);
final int SHADOWMAP_SIZE=1024*8;
@@ -69,6 +69,7 @@ public void initialize(AppStateManager stateManager, Application app ) {
dlsf.setLight(sun);
dlsf.setEnabled(true);
dlsf.setEdgeFilteringMode(EdgeFilteringMode.PCFPOISSON);
dlsf.setShadowIntensity(.5f);
fpp.addFilter(dlsf);
view.addProcessor(fpp);

View File

@@ -31,8 +31,8 @@ public class GuiHandler {
private List<Color> playerOrder;
Map<Color, String> colorNameMap;
private static final Vector3f START = new Vector3f(-3,-3,0);
private static final Vector3f MARGIN = new Vector3f(2.5f,0,0);
private static final Vector3f START = new Vector3f(-1.8f,-3.5f,0);
private static final Vector3f MARGIN = new Vector3f(1.8f,0,0);
private final FilterPostProcessor fpp;
Texture2D backTexture;
@@ -128,12 +128,14 @@ private CardControl createCard(Asset card, Vector3f pos){
Node rootCard = new Node("Root Card");
Spatial spatial = app.getAssetManager().loadModel(card.getModelPath());
rootCard.attachChild(spatial);
// Material mat = new Material(app.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
Material mat = new Material(app.getAssetManager(), "Common/MatDefs/Light/Lighting.j3md");
// mat.setTexture("ColorMap", app.getAssetManager().loadTexture(card.getDiffPath()));
mat.setTexture("DiffuseMap", app.getAssetManager().loadTexture(card.getDiffPath()));
spatial.setMaterial(mat);
spatial.setLocalScale(1f);
rootCard.setLocalTranslation(pos);
spatial.setLocalTranslation(pos);
// spatial.setLocalTranslation(pos);
spatial.rotate((float)Math.toRadians(90), (float)Math.toRadians(180), (float)Math.toRadians(180));
spatial.setShadowMode(RenderQueue.ShadowMode.CastAndReceive);
CardControl control = new CardControl(app, fpp, cardLayer.getOverlayCam(), rootCard);
@@ -212,13 +214,13 @@ private Camera createOverlayCam(){
public void test(){
UUID uuid = UUID.randomUUID();
UUID uuid1 = UUID.randomUUID();
addCard(BonusCard.SHIELD, uuid);
addCard(BonusCard.SHIELD, UUID.randomUUID());
addCard(BonusCard.TURBO, UUID.randomUUID());
addCard(BonusCard.TURBO, uuid1);
addCard(BonusCard.SWAP, UUID.randomUUID());
setSelectableCards(List.of(uuid));
clearSelectableCards();
// setSelectableCards(List.of(uuid,uuid1));
}
public Camera getCardLayerCamera() {
@@ -237,7 +239,7 @@ public void setSelectableCards(List<UUID> selectUuids) {
for(CardControl control : selectableCards){
control.setSelectable(true);
control.setHoverable(true);
control.highlight();
control.setHighlight();
}
}
@@ -252,7 +254,6 @@ public void clearSelectableCards(){
cardSelect = null;
}
public void selectCard(CardControl cardControl) {
if(cardControl.isSelected()) {
cardControl.unSelect();
@@ -277,5 +278,36 @@ public static <K, V> K getKeyByValue(Map<K, V> map, V value) {
return null; // Key not found
}
private SymbolControl createSymbol(Asset asset){
Spatial spatial = app.getAssetManager().loadModel(asset.getModelPath());
Material mat = new Material(app.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
mat.setTexture("ColorMap", app.getAssetManager().loadTexture(asset.getDiffPath()));
spatial.setMaterial(mat);
spatial.setLocalScale(1f);
spatial.rotate((float)Math.toRadians(90), (float)Math.toRadians(180), (float)Math.toRadians(180));
SymbolControl control = new SymbolControl();
spatial.addControl(control);
return control;
}
public void shield(){
SymbolControl control = createSymbol(Asset.shieldSymbol);
cardLayer.addSpatial(control.getSpatial());
control.shield();
}
public void swap(){
SymbolControl control = createSymbol(Asset.swapSymbol);
cardLayer.addSpatial(control.getSpatial());
control.swap();
}
public void turbo(){
SymbolControl control = createSymbol(Asset.turboSymbol);
cardLayer.addSpatial(control.getSpatial());
control.turbo();
}
}

View File

@@ -0,0 +1,149 @@
package pp.mdga.client.gui;
import com.jme3.math.Quaternion;
import com.jme3.math.Vector3f;
import com.jme3.renderer.RenderManager;
import com.jme3.renderer.ViewPort;
import com.jme3.scene.control.AbstractControl;
import pp.mdga.game.BonusCard;
public class SymbolControl extends AbstractControl {
private boolean zoomingIn = false;
private boolean zoomingOut = false;
private float zoomSpeed = 1f;
private float zoomFactor = 3f;
private float progress = 0;
private BonusCard state;
private float rotationSpeed = 0.8f;
private Quaternion initialRotation = null;
private float Y = 5;
@Override
protected void controlUpdate(float tpf) {
if(state == null) return;
switch (state){
case SHIELD -> shieldUpdate(tpf);
case SWAP -> swapUpdate(tpf);
case TURBO -> turboUpdate(tpf);
case HIDDEN -> throw new RuntimeException("forbidden state");
}
}
@Override
protected void controlRender(RenderManager rm, ViewPort vp) {
}
private void shieldUpdate(float tpf){
if (zoomingIn) {
progress += tpf * zoomSpeed;
if (progress > 1) progress = 1;
spatial.setLocalScale(lerp(0, zoomFactor, easeOut(progress)));
if (progress >= 1) {
zoomingIn = false;
zoomingOut = true;
progress = 0;
}
} else if (zoomingOut) {
progress += tpf * zoomSpeed;
spatial.setLocalScale(lerp(zoomFactor, 0, easeIn(progress)));
if (progress > 1) {
zoomingIn = false;
spatial.removeFromParent();
state = null;
progress = 0;
}
}
}
private void swapUpdate(float tpf){
if (initialRotation == null) {
initialRotation = spatial.getLocalRotation().clone();
}
progress += tpf*rotationSpeed;
if(progress < 0) return;
float angle = lerp(0, 360, easeInOut(progress));
Quaternion newRotation = new Quaternion();
newRotation.fromAngleAxis((float) Math.toRadians(angle), new Vector3f(0, 1, 0));
spatial.setLocalRotation(initialRotation.mult(newRotation));
if (progress >= 1.2f) {
state = null;
initialRotation = null;
progress = 0;
spatial.removeFromParent();
}
}
private void turboUpdate(float tpf){
if (zoomingIn) {
progress += tpf * zoomSpeed;
if (progress > 1) progress = 1;
float y = lerp(-Y,0, easeOut(progress));
spatial.setLocalTranslation(0,y,0);
if (progress >= 1) {
zoomingIn = false;
zoomingOut = true;
progress = 0;
}
} else if (zoomingOut) {
progress += tpf * zoomSpeed;
float y = lerp(0,Y, easeIn(progress));
spatial.setLocalTranslation(0,y,0);
if (progress > 1) {
zoomingIn = false;
spatial.removeFromParent();
state = null;
}
}
}
public void shield(){
if(state != null) throw new RuntimeException("another state is avtive");
state = BonusCard.SHIELD;
zoomingIn = true;
zoomingOut = false;
progress = 0;
spatial.setLocalScale(1f);
}
public void swap(){
if(state != null) throw new RuntimeException("another state is avtive");
spatial.setLocalScale(3);
state = BonusCard.SWAP;
progress = -0.2f;
}
public void turbo(){
if(state != null) throw new RuntimeException("another state is avtive");
spatial.setLocalScale(2);
state = BonusCard.TURBO;
zoomingIn = true;
zoomingOut = false;
progress = 0;
}
private static float lerp(float start, float end, float t) {
return (1 - t) * start + t * end;
}
private static float easeOut(float t) {
return (float) Math.sqrt(1 - Math.pow(t - 1, 2));
}
private float easeInOut(float t) {
if(t>1) t=1;
return (float) -(Math.cos(Math.PI * t) - 1) / 2;
}
private float easeIn(float t) {
return t * t * t * t;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,582 @@
# Blender 3.6.5
# www.blender.org
o Shield.001
v 0.331177 0.029684 0.498915
v 0.331177 0.029684 -0.019826
v 0.324814 0.029684 -0.113625
v 0.305971 0.029684 -0.203821
v 0.275372 0.029684 -0.286945
v 0.234192 0.029684 -0.359804
v 0.184014 0.029684 -0.419598
v 0.126767 0.029684 -0.464029
v 0.064650 0.029684 -0.491389
v 0.000000 0.029684 -0.500628
v 0.000000 0.029684 0.498915
v 0.318062 -0.020828 0.485801
v 0.318062 -0.020828 -0.019381
v 0.311791 -0.020828 -0.111832
v 0.293331 -0.020828 -0.200195
v 0.263432 -0.020828 -0.281417
v 0.223370 -0.020828 -0.352299
v 0.174868 -0.020828 -0.410095
v 0.120002 -0.020828 -0.452678
v 0.061012 -0.020828 -0.478662
v 0.000000 -0.020828 0.498915
v 0.331177 -0.020828 0.498915
v 0.000000 -0.020828 -0.500628
v 0.331177 -0.020828 -0.019826
v 0.324814 -0.020828 -0.113625
v 0.305971 -0.020828 -0.203821
v 0.275372 -0.020828 -0.286945
v 0.234192 -0.020828 -0.359804
v 0.184014 -0.020828 -0.419598
v 0.126767 -0.020828 -0.464029
v 0.064650 -0.020828 -0.491389
v 0.000000 -0.020828 -0.485507
v 0.000000 -0.020828 0.485800
v 0.000000 -0.020828 0.000147
v 0.318062 -0.030185 0.485801
v 0.318062 -0.030185 -0.019381
v 0.311791 -0.030185 -0.111832
v 0.293331 -0.030185 -0.200195
v 0.263432 -0.030185 -0.281417
v 0.223370 -0.030185 -0.352299
v 0.174868 -0.030185 -0.410095
v 0.120002 -0.030185 -0.452678
v 0.061012 -0.030185 -0.478662
v 0.000000 -0.030185 0.498915
v 0.331177 -0.030185 0.498915
v 0.000000 -0.030185 -0.500628
v 0.331177 -0.030185 -0.019826
v 0.324814 -0.030185 -0.113625
v 0.305971 -0.030185 -0.203821
v 0.275372 -0.030185 -0.286945
v 0.234192 -0.030185 -0.359804
v 0.184014 -0.030185 -0.419598
v 0.126767 -0.030185 -0.464029
v 0.064650 -0.030185 -0.491389
v 0.000000 -0.030185 -0.485507
v 0.000000 -0.030185 0.485800
v -0.331177 0.029684 0.498915
v -0.331177 0.029684 -0.019826
v -0.324814 0.029684 -0.113625
v -0.305971 0.029684 -0.203821
v -0.275372 0.029684 -0.286945
v -0.234192 0.029684 -0.359804
v -0.184014 0.029684 -0.419598
v -0.126767 0.029684 -0.464029
v -0.064650 0.029684 -0.491389
v -0.318062 -0.020828 0.485801
v -0.318062 -0.020828 -0.019381
v -0.311791 -0.020828 -0.111832
v -0.293331 -0.020828 -0.200195
v -0.263432 -0.020828 -0.281417
v -0.223370 -0.020828 -0.352299
v -0.174868 -0.020828 -0.410095
v -0.120002 -0.020828 -0.452678
v -0.061012 -0.020828 -0.478662
v -0.331177 -0.020828 0.498915
v -0.331177 -0.020828 -0.019826
v -0.324814 -0.020828 -0.113625
v -0.305971 -0.020828 -0.203821
v -0.275372 -0.020828 -0.286945
v -0.234192 -0.020828 -0.359804
v -0.184014 -0.020828 -0.419598
v -0.126767 -0.020828 -0.464029
v -0.064650 -0.020828 -0.491389
v -0.318062 -0.030185 0.485801
v -0.318062 -0.030185 -0.019381
v -0.311791 -0.030185 -0.111832
v -0.293331 -0.030185 -0.200195
v -0.263432 -0.030185 -0.281417
v -0.223370 -0.030185 -0.352299
v -0.174868 -0.030185 -0.410095
v -0.120002 -0.030185 -0.452678
v -0.061012 -0.030185 -0.478662
v -0.331177 -0.030185 0.498915
v -0.331177 -0.030185 -0.019826
v -0.324814 -0.030185 -0.113625
v -0.305971 -0.030185 -0.203821
v -0.275372 -0.030185 -0.286945
v -0.234192 -0.030185 -0.359804
v -0.184014 -0.030185 -0.419598
v -0.126767 -0.030185 -0.464029
v -0.064650 -0.030185 -0.491389
vn 0.6574 0.6894 -0.3043
vn 0.8218 -0.0000 -0.5698
vn 0.5971 0.6870 -0.4141
vn -0.5120 -0.0000 0.8590
vn -0.6935 -0.0000 0.7205
vn 0.7153 0.6919 -0.0985
vn 0.9994 -0.0000 -0.0339
vn 0.9907 -0.0000 -0.1364
vn 1.0000 -0.0000 -0.0000
vn 0.2021 0.6777 -0.7070
vn 0.1415 -0.0000 -0.9899
vn 0.1046 0.6729 -0.7323
vn 0.6935 -0.0000 -0.7205
vn 0.5059 0.6840 -0.5256
vn 0.9612 -0.0000 -0.2757
vn 0.6949 0.6910 -0.1993
vn 0.0437 0.7064 0.7064
vn 0.7142 0.6996 -0.0242
vn -0.0000 0.7071 0.7071
vn -0.0000 -0.0000 1.0000
vn 0.5120 -0.0000 -0.8590
vn 0.3751 0.6806 -0.6294
vn 0.9075 -0.0000 -0.4201
vn 0.2748 -0.0000 -0.9615
vn -0.0000 -1.0000 -0.0000
vn -0.8218 -0.0000 0.5698
vn -0.9075 -0.0000 0.4201
vn -0.1115 -0.0000 0.9938
vn -0.2603 -0.0000 0.9655
vn -0.9612 -0.0000 0.2757
vn -0.9994 -0.0000 0.0339
vn -1.0000 -0.0000 -0.0000
vn -0.9907 -0.0000 0.1364
vn -0.0000 -0.0000 -1.0000
vn -0.8218 -0.0000 -0.5698
vn -0.9075 -0.0000 -0.4201
vn 0.6935 -0.0000 0.7205
vn 0.5120 -0.0000 0.8590
vn -0.9907 -0.0000 -0.1364
vn -0.9994 -0.0000 -0.0339
vn -0.1415 -0.0000 -0.9899
vn -0.2748 -0.0000 -0.9615
vn -0.6935 -0.0000 -0.7205
vn -0.9612 -0.0000 -0.2757
vn -0.5120 -0.0000 -0.8590
vn 0.8218 -0.0000 0.5698
vn 0.9075 -0.0000 0.4201
vn 0.2603 -0.0000 0.9655
vn 0.1115 -0.0000 0.9938
vn 0.9612 -0.0000 0.2757
vn 0.9994 -0.0000 0.0339
vn 0.9907 -0.0000 0.1364
vn -0.0000 1.0000 -0.0000
vt 0.852452 0.926767
vt 0.863932 0.943326
vt 0.852452 0.943326
vt 0.416217 0.784524
vt 0.414091 0.772054
vt 0.416217 0.772054
vt 0.852452 0.887374
vt 0.863932 0.866055
vt 0.863932 0.887374
vt 0.550685 0.744478
vt 0.539205 0.630661
vt 0.539205 0.741041
vt 0.348119 0.828570
vt 0.336639 0.813877
vt 0.348119 0.813877
vt 0.863932 0.956916
vt 0.852452 0.956916
vt 0.863932 0.907874
vt 0.852452 0.907874
vt 0.852452 0.748155
vt 0.852452 0.866055
vt 0.643871 0.823767
vt 0.632391 0.748497
vt 0.643871 0.748497
vt 0.348119 0.855700
vt 0.336639 0.842689
vt 0.348119 0.842689
vt 0.863932 0.926767
vt 0.336639 0.828570
vt 0.980591 0.564665
vt 0.984787 0.584748
vt 0.913922 0.610199
vt 0.866059 0.956916
vt 0.537078 0.741041
vt 0.537078 0.744478
vt 0.630264 0.517300
vt 0.632391 0.530436
vt 0.630264 0.530436
vt 0.866059 0.943326
vt 0.632391 0.546546
vt 0.630264 0.546546
vt 0.416217 0.811798
vt 0.414091 0.797931
vt 0.416217 0.797931
vt 0.866059 0.926767
vt 0.632391 0.565007
vt 0.630264 0.565007
vt 0.334512 0.813877
vt 0.434232 0.744478
vt 0.506522 0.741497
vt 0.509502 0.744478
vt 0.505096 0.605666
vt 0.509502 0.626577
vt 0.506522 0.626678
vt 0.500901 0.585583
vt 0.508056 0.605259
vt 0.494105 0.567123
vt 0.503773 0.584759
vt 0.485000 0.551012
vt 0.496819 0.565866
vt 0.473976 0.537876
vt 0.487459 0.549307
vt 0.461506 0.528198
vt 0.476055 0.535717
vt 0.448099 0.522293
vt 0.463044 0.525618
vt 0.434232 0.517300
vt 0.434232 0.520737
vt 0.336639 0.855700
vt 0.334512 0.842689
vt 0.632391 0.823767
vt 0.630264 0.748497
vt 0.414091 0.784524
vt 0.334512 0.828570
vt 0.539205 0.520281
vt 0.539205 0.517300
vt 0.537078 0.517300
vt 0.630264 0.606102
vt 0.632391 0.720921
vt 0.630264 0.720921
vt 0.863932 0.748155
vt 0.866059 0.866055
vt 0.630264 0.585090
vt 0.632391 0.606102
vt 0.866059 0.887374
vt 0.182971 0.916633
vt 0.180845 0.844343
vt 0.182971 0.844343
vt 0.632391 0.585090
vt 0.866059 0.907874
vt 0.600561 0.530890
vt 0.589081 0.547450
vt 0.589081 0.530890
vt 0.414091 0.851542
vt 0.416217 0.839072
vt 0.416217 0.851542
vt 0.600561 0.586842
vt 0.589081 0.608161
vt 0.589081 0.586842
vt 0.348119 0.799183
vt 0.600561 0.517300
vt 0.589081 0.517300
vt 0.600561 0.566342
vt 0.589081 0.566342
vt 0.600561 0.608161
vt 0.589081 0.726061
vt 0.643871 0.899038
vt 0.336639 0.785065
vt 0.348119 0.772054
vt 0.348119 0.785065
vt 0.600561 0.547450
vt 0.336639 0.799183
vt 0.913922 0.720579
vt 0.841633 0.720579
vt 0.602688 0.517300
vt 0.893635 0.938640
vt 0.895762 0.951776
vt 0.893635 0.951776
vt 0.602688 0.530890
vt 0.895762 0.922530
vt 0.893635 0.922530
vt 0.414091 0.825665
vt 0.416217 0.825665
vt 0.602688 0.547450
vt 0.895762 0.904069
vt 0.893635 0.904069
vt 0.361942 0.741497
vt 0.434232 0.741497
vt 0.358961 0.626577
vt 0.363367 0.605666
vt 0.361942 0.626678
vt 0.360408 0.605259
vt 0.367563 0.585583
vt 0.364690 0.584759
vt 0.374359 0.567123
vt 0.371645 0.565866
vt 0.383464 0.551012
vt 0.381004 0.549307
vt 0.394488 0.537876
vt 0.392409 0.535717
vt 0.406958 0.528198
vt 0.405420 0.525618
vt 0.420365 0.522293
vt 0.419538 0.519400
vt 0.334512 0.785065
vt 0.336639 0.772054
vt 0.630264 0.899038
vt 0.632391 0.899038
vt 0.334512 0.799183
vt 0.895762 0.748155
vt 0.893635 0.862974
vt 0.893635 0.748155
vt 0.602688 0.608161
vt 0.600561 0.726061
vt 0.895762 0.862974
vt 0.893635 0.883986
vt 0.602688 0.586842
vt 0.182971 0.772054
vt 0.602688 0.566342
vt 0.550685 0.517300
vt 0.539205 0.744478
vt 0.986212 0.605761
vt 0.986212 0.720579
vt 0.913922 0.499819
vt 0.941197 0.507280
vt 0.927789 0.501375
vt 0.953667 0.516959
vt 0.964690 0.530095
vt 0.973795 0.546205
vt 0.632391 0.517300
vt 0.414091 0.811798
vt 0.448925 0.519400
vt 0.334512 0.855700
vt 0.630264 0.823767
vt 0.537078 0.520281
vt 0.866059 0.748155
vt 0.180845 0.916633
vt 0.414091 0.839072
vt 0.841633 0.605761
vt 0.843058 0.584748
vt 0.847254 0.564665
vt 0.854049 0.546205
vt 0.863155 0.530095
vt 0.874178 0.516959
vt 0.886648 0.507280
vt 0.900055 0.501375
vt 0.895762 0.938640
vt 0.358961 0.744478
vt 0.334512 0.772054
vt 0.602688 0.726061
vt 0.895762 0.883986
vt 0.180845 0.772054
vt 0.591727 0.581771
vt 0.592669 0.565234
vt 0.601155 0.522724
vt 0.866647 0.820446
vt 0.866647 0.893741
vt 0.855496 0.893741
vt 0.593938 0.550739
vt 0.595485 0.538844
vt 0.597249 0.530005
vt 0.599163 0.524562
vt 0.601155 0.721574
vt 0.590950 0.618375
vt 0.591146 0.599714
vt 0.590950 0.721574
vt 0.855496 0.752511
vt 0.857673 0.753816
vt 0.859764 0.757682
vt 0.864768 0.782703
vt 0.863381 0.772408
vt 0.861692 0.763960
vt 0.865798 0.794448
vt 0.866433 0.807192
s 1
f 5/1/1 28/2/2 6/3/3
f 19/4/4 41/5/5 18/6/5
f 3/7/6 24/8/7 25/9/8
f 10/10/9 34/11/9 32/12/9
f 9/13/10 23/14/11 10/15/12
f 6/3/3 29/16/13 7/17/14
f 3/7/6 26/18/15 4/19/16
f 1/20/17 24/8/7 2/21/18
f 11/22/19 22/23/20 1/24/17
f 7/25/14 30/26/21 8/27/22
f 4/19/16 27/28/23 5/1/1
f 8/27/22 31/29/24 9/13/10
f 15/30/25 14/31/25 34/32/25
f 28/2/2 52/33/13 29/16/13
f 32/12/9 55/34/9 46/35/9
f 18/36/5 40/37/26 17/38/26
f 27/28/23 51/39/2 28/2/2
f 17/38/26 39/40/27 16/41/27
f 32/42/28 43/43/29 20/44/29
f 26/18/15 50/45/23 27/28/23
f 16/41/27 38/46/30 15/47/30
f 31/29/24 46/48/11 23/14/11
f 44/49/25 35/50/25 45/51/25
f 37/52/25 47/53/25 36/54/25
f 38/55/25 48/56/25 37/52/25
f 39/57/25 49/58/25 38/55/25
f 40/59/25 50/60/25 39/57/25
f 41/61/25 51/62/25 40/59/25
f 42/63/25 52/64/25 41/61/25
f 43/65/25 53/66/25 42/63/25
f 35/50/25 47/53/25 45/51/25
f 46/67/25 43/65/25 55/68/25
f 29/69/13 53/70/21 30/26/21
f 21/71/20 45/72/20 22/23/20
f 19/4/4 43/43/29 42/73/4
f 30/26/21 54/74/24 31/29/24
f 33/75/9 21/76/9 44/77/9
f 13/78/31 35/79/32 12/80/32
f 22/81/9 47/82/7 24/8/7
f 14/83/33 36/84/31 13/78/31
f 24/8/7 48/85/8 25/9/8
f 12/86/34 56/87/34 33/88/34
f 15/47/30 37/89/33 14/83/33
f 25/9/8 49/90/15 26/18/15
f 80/91/35 61/92/36 62/93/35
f 90/94/37 73/95/38 72/96/37
f 77/97/39 58/98/40 59/99/39
f 23/14/41 65/100/42 10/15/41
f 81/101/43 62/93/35 63/102/43
f 78/103/44 59/99/39 60/104/44
f 76/105/40 57/106/32 58/98/40
f 57/107/20 21/71/20 11/22/20
f 82/108/45 63/109/43 64/110/45
f 79/111/36 60/104/44 61/92/36
f 83/112/42 64/110/45 65/100/42
f 34/32/25 33/113/25 66/114/25
f 99/115/43 80/91/35 81/101/43
f 71/116/46 90/117/37 72/118/37
f 98/119/35 79/111/36 80/91/35
f 88/120/47 71/116/46 70/121/47
f 92/122/48 32/42/49 74/123/48
f 97/124/36 78/103/44 79/111/36
f 87/125/50 70/121/47 69/126/50
f 46/48/41 83/112/42 23/14/41
f 44/49/25 84/127/25 56/128/25
f 94/129/25 86/130/25 85/131/25
f 95/132/25 87/133/25 86/130/25
f 96/134/25 88/135/25 87/133/25
f 97/136/25 89/137/25 88/135/25
f 98/138/25 90/139/25 89/137/25
f 99/140/25 91/141/25 90/139/25
f 100/142/25 92/143/25 91/141/25
f 84/127/25 94/129/25 85/131/25
f 46/67/25 92/143/25 101/144/25
f 100/145/45 81/146/43 82/108/45
f 93/147/20 21/71/20 75/148/20
f 73/95/38 92/122/48 74/123/48
f 101/149/42 82/108/45 83/112/42
f 84/150/9 67/151/51 66/152/9
f 94/153/40 75/154/32 76/105/40
f 85/155/51 68/156/52 67/151/51
f 95/157/39 76/105/40 77/97/39
f 56/87/34 66/158/34 33/88/34
f 68/156/52 87/125/50 69/126/50
f 96/159/44 77/97/39 78/103/44
f 5/1/1 27/28/23 28/2/2
f 19/4/4 42/73/4 41/5/5
f 3/7/6 2/21/18 24/8/7
f 21/76/9 33/75/9 11/160/9
f 11/160/9 34/11/9 10/10/9
f 10/10/9 32/12/9 23/161/9
f 34/11/9 11/160/9 33/75/9
f 9/13/10 31/29/24 23/14/11
f 6/3/3 28/2/2 29/16/13
f 3/7/6 25/9/8 26/18/15
f 1/20/9 22/81/9 24/8/7
f 11/22/19 21/71/20 22/23/20
f 7/25/14 29/69/13 30/26/21
f 4/19/16 26/18/15 27/28/23
f 8/27/22 30/26/21 31/29/24
f 14/31/25 13/162/25 34/32/25
f 13/162/25 12/163/25 34/32/25
f 12/163/25 33/113/25 34/32/25
f 34/32/25 32/164/25 19/165/25
f 32/164/25 20/166/25 19/165/25
f 34/32/25 19/165/25 18/167/25
f 18/167/25 17/168/25 34/32/25
f 17/168/25 16/169/25 34/32/25
f 16/169/25 15/30/25 34/32/25
f 28/2/2 51/39/2 52/33/13
f 32/12/9 46/35/9 23/161/9
f 18/36/5 41/170/5 40/37/26
f 27/28/23 50/45/23 51/39/2
f 17/38/26 40/37/26 39/40/27
f 32/42/28 55/171/28 43/43/29
f 26/18/15 49/90/15 50/45/23
f 16/41/27 39/40/27 38/46/30
f 31/29/24 54/74/24 46/48/11
f 44/49/25 56/128/25 35/50/25
f 37/52/25 48/56/25 47/53/25
f 38/55/25 49/58/25 48/56/25
f 39/57/25 50/60/25 49/58/25
f 40/59/25 51/62/25 50/60/25
f 41/61/25 52/64/25 51/62/25
f 42/63/25 53/66/25 52/64/25
f 43/65/25 54/172/25 53/66/25
f 35/50/25 36/54/25 47/53/25
f 46/67/25 54/172/25 43/65/25
f 29/69/13 52/173/13 53/70/21
f 21/71/20 44/174/20 45/72/20
f 19/4/4 20/44/29 43/43/29
f 30/26/21 53/70/21 54/74/24
f 33/75/9 44/77/9 56/175/9
f 13/78/31 36/84/31 35/79/32
f 22/81/9 45/176/9 47/82/7
f 14/83/33 37/89/33 36/84/31
f 24/8/7 47/82/7 48/85/8
f 12/86/34 35/177/34 56/87/34
f 15/47/30 38/46/30 37/89/33
f 25/9/8 48/85/8 49/90/15
f 80/91/35 79/111/36 61/92/36
f 90/94/37 91/178/38 73/95/38
f 77/97/39 76/105/40 58/98/40
f 23/14/41 83/112/42 65/100/42
f 81/101/43 80/91/35 62/93/35
f 78/103/44 77/97/39 59/99/39
f 76/105/40 75/154/32 57/106/32
f 57/107/20 75/148/20 21/71/20
f 82/108/45 81/146/43 63/109/43
f 79/111/36 78/103/44 60/104/44
f 83/112/42 82/108/45 64/110/45
f 66/114/25 67/179/25 34/32/25
f 67/179/25 68/180/25 34/32/25
f 68/180/25 69/181/25 34/32/25
f 69/181/25 70/182/25 34/32/25
f 70/182/25 71/183/25 34/32/25
f 71/183/25 72/184/25 34/32/25
f 72/184/25 73/185/25 34/32/25
f 73/185/25 74/186/25 32/164/25
f 32/164/25 34/32/25 73/185/25
f 99/115/43 98/119/35 80/91/35
f 71/116/46 89/187/46 90/117/37
f 98/119/35 97/124/36 79/111/36
f 88/120/47 89/187/46 71/116/46
f 92/122/48 55/171/49 32/42/49
f 97/124/36 96/159/44 78/103/44
f 87/125/50 88/120/47 70/121/47
f 46/48/41 101/149/42 83/112/42
f 44/49/25 93/188/25 84/127/25
f 94/129/25 95/132/25 86/130/25
f 95/132/25 96/134/25 87/133/25
f 96/134/25 97/136/25 88/135/25
f 97/136/25 98/138/25 89/137/25
f 98/138/25 99/140/25 90/139/25
f 99/140/25 100/142/25 91/141/25
f 100/142/25 101/144/25 92/143/25
f 84/127/25 93/188/25 94/129/25
f 46/67/25 55/68/25 92/143/25
f 100/145/45 99/189/43 81/146/43
f 93/147/20 44/174/20 21/71/20
f 73/95/38 91/178/38 92/122/48
f 101/149/42 100/145/45 82/108/45
f 84/150/9 85/155/51 67/151/51
f 94/153/40 93/190/32 75/154/32
f 85/155/51 86/191/52 68/156/52
f 95/157/39 94/153/40 76/105/40
f 56/87/34 84/192/34 66/158/34
f 68/156/52 86/191/52 87/125/50
f 96/159/44 95/157/39 77/97/39
f 4/193/16 5/194/1 10/195/12
s 0
f 58/196/53 57/197/53 11/198/53
s 1
f 5/194/1 6/199/3 10/195/12
f 6/199/3 7/200/14 10/195/12
f 7/200/14 8/201/22 10/195/12
f 8/201/22 9/202/10 10/195/12
f 10/195/12 11/203/19 2/204/18
f 4/193/16 10/195/12 3/205/6
f 11/203/19 1/206/17 2/204/18
f 2/204/18 3/205/6 10/195/12
s 0
f 11/198/53 10/207/53 58/196/53
f 10/207/53 65/208/53 64/209/53
f 61/210/53 10/207/53 62/211/53
f 64/209/53 63/212/53 10/207/53
f 63/212/53 62/211/53 10/207/53
f 61/210/53 60/213/53 10/207/53
f 60/213/53 59/214/53 10/207/53
f 59/214/53 58/196/53 10/207/53

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,275 @@
# Blender 3.6.5
# www.blender.org
o turbo.001
v 0.479911 0.031444 0.058178
v 0.008582 0.031444 0.530813
v 0.469532 0.031444 0.039992
v 0.309421 0.031444 0.039992
v 0.001804 0.031444 0.348364
v -0.304681 0.031444 0.041125
v -0.474757 0.031444 0.041125
v -0.474757 0.031444 0.059620
v -0.006999 0.031444 0.530813
v 0.479911 0.031444 -0.248942
v 0.008582 0.031444 0.223694
v 0.469532 0.031444 -0.267127
v 0.309421 0.031444 -0.267127
v 0.001804 0.031444 0.041245
v -0.304681 0.031444 -0.265994
v -0.474757 0.031444 -0.265994
v -0.474757 0.031444 -0.247499
v -0.006999 0.031444 0.223694
v 0.479911 0.031444 -0.561796
v 0.008582 0.031444 -0.092817
v 0.469532 0.031444 -0.579981
v 0.309421 0.031444 -0.579981
v 0.001804 0.031444 -0.275266
v -0.304681 0.031444 -0.578848
v -0.474757 0.031444 -0.578848
v -0.474757 0.031444 -0.560354
v -0.006999 0.031444 -0.092817
v 0.479911 -0.029054 0.058178
v 0.008582 -0.029055 0.530813
v 0.469532 -0.029054 0.039992
v 0.309421 -0.029054 0.039992
v 0.001804 -0.029055 0.348364
v -0.304681 -0.029054 0.041125
v -0.474757 -0.029055 0.041125
v -0.474757 -0.029055 0.059620
v -0.006999 -0.029055 0.530813
v 0.479911 -0.029054 -0.248942
v 0.008582 -0.029055 0.223694
v 0.469532 -0.029054 -0.267127
v 0.309421 -0.029054 -0.267127
v 0.001804 -0.029055 0.041245
v -0.304681 -0.029054 -0.265994
v -0.474757 -0.029055 -0.265994
v -0.474757 -0.029055 -0.247499
v -0.006999 -0.029055 0.223694
v 0.479911 -0.029054 -0.561796
v 0.008582 -0.029055 -0.092817
v 0.469532 -0.029054 -0.579981
v 0.309421 -0.029054 -0.579981
v 0.001804 -0.029055 -0.275266
v -0.304681 -0.029054 -0.578848
v -0.474757 -0.029055 -0.578848
v -0.474757 -0.029055 -0.560354
v -0.006999 -0.029055 -0.092817
vn 0.8685 -0.0000 -0.4957
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -0.0000 -1.0000
vn -0.7080 -0.0000 -0.7062
vn -0.7097 -0.0000 0.7045
vn 0.7081 -0.0000 0.7061
vn -0.7069 -0.0000 0.7073
vn 0.7080 -0.0000 -0.7062
vn -0.7037 -0.0000 -0.7104
vn 0.7053 -0.0000 0.7089
vn 0.7037 -0.0000 -0.7105
vn -0.0000 -1.0000 -0.0000
vt 0.588715 0.839843
vt 0.583870 0.825758
vt 0.588715 0.825758
vt 0.452602 0.883467
vt 0.448296 0.897552
vt 0.448296 0.883467
vt 0.203212 0.786027
vt 0.189127 0.782563
vt 0.203212 0.782563
vt 0.077824 0.851102
vt 0.063739 0.811505
vt 0.077824 0.811505
vt 0.419186 0.782563
vt 0.405101 0.854358
vt 0.405101 0.782563
vt 0.246407 0.922613
vt 0.232322 0.786027
vt 0.246407 0.786027
vt 0.588715 0.883038
vt 0.583869 0.868953
vt 0.588715 0.868953
vt 0.409407 0.883467
vt 0.405101 0.897552
vt 0.405101 0.883467
vt 0.619270 0.531191
vt 0.633355 0.686593
vt 0.619270 0.686593
vt 0.232322 0.782563
vt 0.246407 0.782563
vt 0.462381 0.782563
vt 0.448296 0.854357
vt 0.448296 0.782563
vt 0.881817 0.837845
vt 0.867732 0.701259
vt 0.881817 0.701259
vt 0.881817 0.866955
vt 0.867732 0.904232
vt 0.867732 0.866955
vt 0.588715 0.796648
vt 0.583869 0.782563
vt 0.588715 0.782563
vt 0.619270 0.715702
vt 0.633355 0.871104
vt 0.619270 0.871104
vt 0.867732 0.697796
vt 0.881817 0.697796
vt 0.318711 0.782563
vt 0.332797 0.876581
vt 0.318711 0.876581
vt 0.505575 0.782563
vt 0.491490 0.854357
vt 0.491490 0.782563
vt 0.548770 0.876182
vt 0.534685 0.913458
vt 0.534685 0.876182
vt 0.121019 0.851102
vt 0.106934 0.811505
vt 0.121019 0.811505
vt 0.867732 0.513285
vt 0.881817 0.668686
vt 0.867732 0.668686
vt 0.361906 0.782563
vt 0.375991 0.876581
vt 0.361906 0.876581
vt 0.106934 0.880211
vt 0.111240 0.894296
vt 0.106934 0.894296
vt 0.077824 0.917488
vt 0.063739 0.880211
vt 0.077824 0.880211
vt 0.028640 0.858942
vt 0.014555 0.819345
vt 0.028640 0.819345
vt 0.203212 0.922613
vt 0.189127 0.786027
vt 0.275517 0.782563
vt 0.289602 0.876581
vt 0.275517 0.876581
vt 0.231604 0.642143
vt 0.303398 0.713761
vt 0.299165 0.753454
vt 0.374985 0.642143
vt 0.446779 0.713761
vt 0.442546 0.753454
vt 0.518366 0.642143
vt 0.590160 0.713761
vt 0.585927 0.753454
vt 0.583870 0.839843
vt 0.452602 0.897552
vt 0.063739 0.851102
vt 0.419186 0.854358
vt 0.232322 0.922613
vt 0.583869 0.883038
vt 0.409407 0.897552
vt 0.633355 0.531191
vt 0.462381 0.854357
vt 0.867732 0.837845
vt 0.881817 0.904232
vt 0.583869 0.796649
vt 0.633355 0.715702
vt 0.332797 0.782563
vt 0.505575 0.854357
vt 0.548770 0.913458
vt 0.106934 0.851102
vt 0.881817 0.513285
vt 0.375991 0.782563
vt 0.111240 0.880211
vt 0.063739 0.917488
vt 0.014555 0.858942
vt 0.189127 0.922613
vt 0.289602 0.782563
vt 0.303399 0.751038
vt 0.189127 0.643721
vt 0.189127 0.640093
vt 0.298829 0.531191
vt 0.303135 0.531191
vt 0.303135 0.570788
vt 0.446779 0.751038
vt 0.332508 0.643721
vt 0.332508 0.640093
vt 0.442210 0.531191
vt 0.446516 0.531191
vt 0.446516 0.570788
vt 0.590160 0.751038
vt 0.475889 0.643721
vt 0.475889 0.640093
vt 0.585591 0.531191
vt 0.589897 0.531191
vt 0.589897 0.570788
s 0
f 3/1/1 28/2/1 30/3/1
f 16/4/2 44/5/2 17/6/2
f 9/7/3 29/8/3 2/9/3
f 24/10/4 52/11/4 25/12/4
f 5/13/5 31/14/5 32/15/5
f 17/16/6 45/17/6 18/18/6
f 12/19/1 37/20/1 39/21/1
f 25/22/2 53/23/2 26/24/2
f 2/25/7 28/26/7 1/27/7
f 18/18/3 38/28/3 11/29/3
f 14/30/5 40/31/5 41/32/5
f 26/33/8 54/34/8 27/35/8
f 4/36/4 30/37/4 31/38/4
f 21/39/1 46/40/1 48/41/1
f 11/42/7 37/43/7 10/44/7
f 27/35/3 47/45/3 20/46/3
f 5/47/9 33/48/9 6/49/9
f 23/50/10 49/51/10 50/52/10
f 13/53/4 39/54/4 40/55/4
f 6/56/4 34/57/4 7/58/4
f 20/59/11 46/60/11 19/61/11
f 14/62/9 42/63/9 15/64/9
f 8/65/2 34/66/2 35/67/2
f 21/68/4 49/69/4 22/70/4
f 15/71/4 43/72/4 16/73/4
f 8/74/6 36/75/6 9/7/6
f 23/76/12 51/77/12 24/78/12
f 32/79/13 31/80/13 28/81/13
f 41/82/13 40/83/13 37/84/13
f 50/85/13 49/86/13 46/87/13
f 3/1/1 1/88/1 28/2/1
f 16/4/2 43/89/2 44/5/2
f 9/7/3 36/75/3 29/8/3
f 24/10/4 51/90/4 52/11/4
f 5/13/5 4/91/5 31/14/5
f 17/16/6 44/92/6 45/17/6
f 12/19/1 10/93/1 37/20/1
f 25/22/2 52/94/2 53/23/2
f 2/25/7 29/95/7 28/26/7
f 18/18/3 45/17/3 38/28/3
f 14/30/5 13/96/5 40/31/5
f 26/33/8 53/97/8 54/34/8
f 4/36/4 3/98/4 30/37/4
f 21/39/1 19/99/1 46/40/1
f 11/42/7 38/100/7 37/43/7
f 27/35/3 54/34/3 47/45/3
f 5/47/9 32/101/9 33/48/9
f 23/50/10 22/102/10 49/51/10
f 13/53/4 12/103/4 39/54/4
f 6/56/4 33/104/4 34/57/4
f 20/59/11 47/105/11 46/60/11
f 14/62/9 41/106/9 42/63/9
f 8/65/2 7/107/2 34/66/2
f 21/68/4 48/108/4 49/69/4
f 15/71/4 42/109/4 43/72/4
f 8/74/6 35/110/6 36/75/6
f 23/76/12 50/111/12 51/77/12
f 31/80/13 30/112/13 28/81/13
f 28/81/13 29/113/13 32/79/13
f 29/113/13 36/114/13 32/79/13
f 36/114/13 35/115/13 32/79/13
f 35/115/13 34/116/13 33/117/13
f 32/79/13 35/115/13 33/117/13
f 40/83/13 39/118/13 37/84/13
f 37/84/13 38/119/13 41/82/13
f 38/119/13 45/120/13 41/82/13
f 45/120/13 44/121/13 41/82/13
f 44/121/13 43/122/13 42/123/13
f 41/82/13 44/121/13 42/123/13
f 49/86/13 48/124/13 46/87/13
f 46/87/13 47/125/13 50/85/13
f 47/125/13 54/126/13 50/85/13
f 54/126/13 53/127/13 50/85/13
f 53/127/13 52/128/13 51/129/13
f 50/85/13 53/127/13 51/129/13