new quiz style + ktx optimizations

This commit is contained in:
2026-04-18 15:49:13 +03:00
parent c611cb6439
commit f6535fefc0
23 changed files with 765 additions and 34 deletions
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.
+750
View File
@@ -0,0 +1,750 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v4.4.55",
"version":"2.0"
},
"extensionsUsed":[
"KHR_texture_basisu"
],
"extensionsRequired":[
"KHR_texture_basisu"
],
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0,
1,
2,
3,
4
]
}
],
"nodes":[
{
"mesh":0,
"name":"door"
},
{
"mesh":1,
"name":"tunnel",
"translation":[
0,
0,
-1.7999999523162842
]
},
{
"mesh":2,
"name":"floor"
},
{
"name":"wall"
},
{
"mesh":3,
"name":"surface"
}
],
"materials":[
{
"alphaMode":"BLEND",
"doubleSided":true,
"name":"arrow",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":0
},
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"bridge wood06",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.1733546108007431,
0.10811866074800491,
0.06008223816752434,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"bridge wood07",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.5173322558403015,
0.41569486260414124,
0.29056137800216675,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"main",
"normalTexture":{
"index":1
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":2
},
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"cliff",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":3
},
"metallicFactor":0
}
},
{
"doubleSided":true,
"name":"grass.001",
"normalTexture":{
"index":4
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":5
},
"metallicFactor":0
}
},
{
"doubleSided":true,
"name":"Material.001",
"normalTexture":{
"index":6,
"scale":0.10000000149011612
},
"pbrMetallicRoughness":{
"baseColorFactor":[
0.800000011920929,
0.800000011920929,
0.800000011920929,
1
],
"metallicFactor":0.9283594489097595,
"roughnessFactor":0
}
}
],
"meshes":[
{
"name":"Sphere.002",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3,
"material":0
}
]
},
{
"name":"Cube.011",
"primitives":[
{
"attributes":{
"POSITION":4,
"NORMAL":5,
"TEXCOORD_0":6
},
"indices":7,
"material":1
},
{
"attributes":{
"POSITION":8,
"NORMAL":9,
"TEXCOORD_0":10
},
"indices":11,
"material":2
},
{
"attributes":{
"POSITION":12,
"NORMAL":13,
"TEXCOORD_0":14
},
"indices":15,
"material":3
}
]
},
{
"name":"Object_234",
"primitives":[
{
"attributes":{
"POSITION":16,
"NORMAL":17,
"TEXCOORD_0":18
},
"indices":19,
"material":4
},
{
"attributes":{
"POSITION":20,
"NORMAL":21,
"TEXCOORD_0":22
},
"indices":23,
"material":5
}
]
},
{
"name":"Cube.001",
"primitives":[
{
"attributes":{
"POSITION":24,
"NORMAL":25,
"TEXCOORD_0":26
},
"indices":27,
"material":6
}
]
}
],
"textures":[
{
"extensions":{
"KHR_texture_basisu":{
"source":0
}
},
"sampler":0
},
{
"extensions":{
"KHR_texture_basisu":{
"source":1
}
},
"sampler":0
},
{
"extensions":{
"KHR_texture_basisu":{
"source":2
}
},
"sampler":0
},
{
"extensions":{
"KHR_texture_basisu":{
"source":3
}
},
"sampler":0
},
{
"extensions":{
"KHR_texture_basisu":{
"source":4
}
},
"sampler":0
},
{
"extensions":{
"KHR_texture_basisu":{
"source":5
}
},
"sampler":0
},
{
"extensions":{
"KHR_texture_basisu":{
"source":6
}
},
"sampler":0
}
],
"images":[
{
"mimeType":"image/ktx2",
"name":"arrow",
"uri":"arrow.ktx2"
},
{
"mimeType":"image/ktx2",
"name":"wood-siding-n",
"uri":"wood-siding-n.ktx2"
},
{
"mimeType":"image/ktx2",
"name":"wood-siding-d",
"uri":"wood-siding-d.ktx2"
},
{
"mimeType":"image/ktx2",
"name":"island-d",
"uri":"island-d.ktx2"
},
{
"mimeType":"image/ktx2",
"name":"island-grass-n",
"uri":"island-grass-n.ktx2"
},
{
"mimeType":"image/ktx2",
"name":"island-grass-d",
"uri":"island-grass-d.ktx2"
},
{
"mimeType":"image/ktx2",
"name":"waternormals",
"uri":"waternormals.ktx2"
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":4,
"max":[
0.12281588464975357,
0.02271566540002823,
0.12903428077697754
],
"min":[
-0.12748214602470398,
0.02271566540002823,
-0.1212637722492218
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":4,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":4,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":6,
"type":"SCALAR"
},
{
"bufferView":4,
"componentType":5126,
"count":316,
"max":[
0.27233830094337463,
0.2818935513496399,
1.2010245323181152
],
"min":[
-0.27299758791923523,
-0.08658143132925034,
0.004275798797607422
],
"type":"VEC3"
},
{
"bufferView":5,
"componentType":5126,
"count":316,
"type":"VEC3"
},
{
"bufferView":6,
"componentType":5126,
"count":316,
"type":"VEC2"
},
{
"bufferView":7,
"componentType":5123,
"count":474,
"type":"SCALAR"
},
{
"bufferView":8,
"componentType":5126,
"count":284,
"max":[
0.21939830482006073,
0.26140424609184265,
1.1377652883529663
],
"min":[
-0.21679729223251343,
0.19689279794692993,
0.059156179428100586
],
"type":"VEC3"
},
{
"bufferView":9,
"componentType":5126,
"count":284,
"type":"VEC3"
},
{
"bufferView":10,
"componentType":5126,
"count":284,
"type":"VEC2"
},
{
"bufferView":11,
"componentType":5123,
"count":546,
"type":"SCALAR"
},
{
"bufferView":12,
"componentType":5126,
"count":240,
"max":[
0.22685010731220245,
0.0033524921163916588,
1.166025161743164
],
"min":[
-0.23095618188381195,
-0.004609567113220692,
0.033069685101509094
],
"type":"VEC3"
},
{
"bufferView":13,
"componentType":5126,
"count":240,
"type":"VEC3"
},
{
"bufferView":14,
"componentType":5126,
"count":240,
"type":"VEC2"
},
{
"bufferView":15,
"componentType":5123,
"count":360,
"type":"SCALAR"
},
{
"bufferView":16,
"componentType":5126,
"count":125,
"max":[
0.7423611879348755,
-0.10137467831373215,
0.6852881908416748
],
"min":[
-0.6540550589561462,
-3.11405086517334,
-0.7147213816642761
],
"type":"VEC3"
},
{
"bufferView":17,
"componentType":5126,
"count":125,
"type":"VEC3"
},
{
"bufferView":18,
"componentType":5126,
"count":125,
"type":"VEC2"
},
{
"bufferView":19,
"componentType":5123,
"count":480,
"type":"SCALAR"
},
{
"bufferView":20,
"componentType":5126,
"count":41,
"max":[
0.7780669927597046,
0.0003834394156001508,
0.7208318710327148
],
"min":[
-0.6893476843833923,
-0.130693256855011,
-0.7487264275550842
],
"type":"VEC3"
},
{
"bufferView":21,
"componentType":5126,
"count":41,
"type":"VEC3"
},
{
"bufferView":22,
"componentType":5126,
"count":41,
"type":"VEC2"
},
{
"bufferView":23,
"componentType":5123,
"count":192,
"type":"SCALAR"
},
{
"bufferView":24,
"componentType":5126,
"count":4,
"max":[
0.6000000238418579,
-0.30000001192092896,
0.6000000238418579
],
"min":[
-0.6000000238418579,
-0.30000001192092896,
-0.6000000238418579
],
"type":"VEC3"
},
{
"bufferView":25,
"componentType":5126,
"count":4,
"type":"VEC3"
},
{
"bufferView":26,
"componentType":5126,
"count":4,
"type":"VEC2"
},
{
"bufferView":27,
"componentType":5123,
"count":6,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":48,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":48,
"byteOffset":48,
"target":34962
},
{
"buffer":0,
"byteLength":32,
"byteOffset":96,
"target":34962
},
{
"buffer":0,
"byteLength":12,
"byteOffset":128,
"target":34963
},
{
"buffer":0,
"byteLength":3792,
"byteOffset":140,
"target":34962
},
{
"buffer":0,
"byteLength":3792,
"byteOffset":3932,
"target":34962
},
{
"buffer":0,
"byteLength":2528,
"byteOffset":7724,
"target":34962
},
{
"buffer":0,
"byteLength":948,
"byteOffset":10252,
"target":34963
},
{
"buffer":0,
"byteLength":3408,
"byteOffset":11200,
"target":34962
},
{
"buffer":0,
"byteLength":3408,
"byteOffset":14608,
"target":34962
},
{
"buffer":0,
"byteLength":2272,
"byteOffset":18016,
"target":34962
},
{
"buffer":0,
"byteLength":1092,
"byteOffset":20288,
"target":34963
},
{
"buffer":0,
"byteLength":2880,
"byteOffset":21380,
"target":34962
},
{
"buffer":0,
"byteLength":2880,
"byteOffset":24260,
"target":34962
},
{
"buffer":0,
"byteLength":1920,
"byteOffset":27140,
"target":34962
},
{
"buffer":0,
"byteLength":720,
"byteOffset":29060,
"target":34963
},
{
"buffer":0,
"byteLength":1500,
"byteOffset":29780,
"target":34962
},
{
"buffer":0,
"byteLength":1500,
"byteOffset":31280,
"target":34962
},
{
"buffer":0,
"byteLength":1000,
"byteOffset":32780,
"target":34962
},
{
"buffer":0,
"byteLength":960,
"byteOffset":33780,
"target":34963
},
{
"buffer":0,
"byteLength":492,
"byteOffset":34740,
"target":34962
},
{
"buffer":0,
"byteLength":492,
"byteOffset":35232,
"target":34962
},
{
"buffer":0,
"byteLength":328,
"byteOffset":35724,
"target":34962
},
{
"buffer":0,
"byteLength":384,
"byteOffset":36052,
"target":34963
},
{
"buffer":0,
"byteLength":48,
"byteOffset":36436,
"target":34962
},
{
"buffer":0,
"byteLength":48,
"byteOffset":36484,
"target":34962
},
{
"buffer":0,
"byteLength":32,
"byteOffset":36532,
"target":34962
},
{
"buffer":0,
"byteLength":12,
"byteOffset":36564,
"target":34963
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
}
],
"buffers":[
{
"byteLength":36576,
"uri":"quiz-islands.bin"
}
]
}
+14 -34
View File
@@ -5,9 +5,11 @@
}, },
"extensionsUsed":[ "extensionsUsed":[
"KHR_materials_specular", "KHR_materials_specular",
"KHR_texture_basisu",
"EXT_texture_webp" "EXT_texture_webp"
], ],
"extensionsRequired":[ "extensionsRequired":[
"KHR_texture_basisu",
"EXT_texture_webp" "EXT_texture_webp"
], ],
"scene":0, "scene":0,
@@ -25,41 +27,22 @@
], ],
"nodes":[ "nodes":[
{ {
"extras":{
"io.maxDistance":30,
"re.renderOrder":-550
},
"mesh":0, "mesh":0,
"name":"floor" "name":"floor"
}, },
{ {
"extras":{
"re.renderOrder":0,
"io.maxDistance":30
},
"mesh":1, "mesh":1,
"name":"tunnel" "name":"tunnel"
}, },
{ {
"extras":{
"io.maxDistance":30,
"re.renderOrder":-500
},
"mesh":2, "mesh":2,
"name":"door" "name":"door"
}, },
{ {
"extras":{
"re.renderOrder":-600
},
"mesh":3, "mesh":3,
"name":"surface" "name":"surface"
}, },
{ {
"extras":{
"io.maxDistance":30,
"re.renderOrder":-500
},
"mesh":4, "mesh":4,
"name":"wall" "name":"wall"
} }
@@ -146,9 +129,6 @@
] ]
}, },
{ {
"extras":{
"prop":1.0
},
"name":"Sphere.001", "name":"Sphere.001",
"primitives":[ "primitives":[
{ {
@@ -217,7 +197,7 @@
"textures":[ "textures":[
{ {
"extensions":{ "extensions":{
"EXT_texture_webp":{ "KHR_texture_basisu":{
"source":0 "source":0
} }
}, },
@@ -233,7 +213,7 @@
}, },
{ {
"extensions":{ "extensions":{
"EXT_texture_webp":{ "KHR_texture_basisu":{
"source":2 "source":2
} }
}, },
@@ -249,7 +229,7 @@
}, },
{ {
"extensions":{ "extensions":{
"EXT_texture_webp":{ "KHR_texture_basisu":{
"source":4 "source":4
} }
}, },
@@ -257,7 +237,7 @@
}, },
{ {
"extensions":{ "extensions":{
"EXT_texture_webp":{ "KHR_texture_basisu":{
"source":5 "source":5
} }
}, },
@@ -266,9 +246,9 @@
], ],
"images":[ "images":[
{ {
"mimeType":"image/webp", "mimeType":"image/ktx2",
"name":"T_Grass_Base_N", "name":"T_Grass_Base_N",
"uri":"T_Grass_Base_N.webp" "uri":"T_Grass_Base_N.ktx2"
}, },
{ {
"mimeType":"image/webp", "mimeType":"image/webp",
@@ -276,9 +256,9 @@
"uri":"T_Grass_Base_D.webp" "uri":"T_Grass_Base_D.webp"
}, },
{ {
"mimeType":"image/webp", "mimeType":"image/ktx2",
"name":"T_Grass_Reeds_N", "name":"T_Grass_Reeds_N",
"uri":"T_Grass_Reeds_N.webp" "uri":"T_Grass_Reeds_N.ktx2"
}, },
{ {
"mimeType":"image/webp", "mimeType":"image/webp",
@@ -286,14 +266,14 @@
"uri":"T_Grass_Reeds_D.webp" "uri":"T_Grass_Reeds_D.webp"
}, },
{ {
"mimeType":"image/webp", "mimeType":"image/ktx2",
"name":"arrow", "name":"arrow",
"uri":"arrow.webp" "uri":"arrow.ktx2"
}, },
{ {
"mimeType":"image/webp", "mimeType":"image/ktx2",
"name":"waternormals", "name":"waternormals",
"uri":"waternormals.webp" "uri":"waternormals.ktx2"
} }
], ],
"accessors":[ "accessors":[
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

@@ -59,6 +59,7 @@ export default {
{ title: 'Grass and pavement pathway / трева и паваж', value: 'quiz-s2.gltf' }, { title: 'Grass and pavement pathway / трева и паваж', value: 'quiz-s2.gltf' },
{ title: 'Medieval Fortress / средновековна крепост', value: 'quiz-fortress.gltf' }, { title: 'Medieval Fortress / средновековна крепост', value: 'quiz-fortress.gltf' },
{ title: 'Air Islands / острови във въздуха', value: 'quiz-on-air.gltf' }, { title: 'Air Islands / острови във въздуха', value: 'quiz-on-air.gltf' },
{ title: 'Islands / острови', value: 'quiz-islands.gltf' },
{ title: 'Red lake / червено езеро', value: 'quiz-red-lakes.gltf'} { title: 'Red lake / червено езеро', value: 'quiz-red-lakes.gltf'}
] ]
} }