update README
@@ -39,4 +39,6 @@ and theme must have the following in `styles.xml`
|
||||
</style>
|
||||
```
|
||||
|
||||
Remember to set the background colour for your Scaffold to transparent!
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 531 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 856 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 193 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 500 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 614 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 457 KiB After Width: | Height: | Size: 131 B |
@@ -1,755 +1,3 @@
|
||||
{
|
||||
"accessors": [
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 24408,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.131662,
|
||||
0.137638986,
|
||||
0.10078799
|
||||
],
|
||||
"min": [
|
||||
-0.131333,
|
||||
-0.028128,
|
||||
-0.137763992
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 65688,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.11722149,
|
||||
0.196387976,
|
||||
0.132422984
|
||||
],
|
||||
"min": [
|
||||
-0.11722149,
|
||||
-0.196387976,
|
||||
-0.132422984
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 2208,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.09527509,
|
||||
0.114654,
|
||||
-0.08429489
|
||||
],
|
||||
"min": [
|
||||
-0.0952748954,
|
||||
0.0551489964,
|
||||
-0.14295499
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 60288,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.1572095,
|
||||
0.2716865,
|
||||
0.162181988
|
||||
],
|
||||
"min": [
|
||||
-0.1572095,
|
||||
-0.2716865,
|
||||
-0.162181988
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 131574,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.1504075,
|
||||
0.328366965,
|
||||
0.173673
|
||||
],
|
||||
"min": [
|
||||
-0.1504075,
|
||||
-0.328366965,
|
||||
-0.173673
|
||||
]
|
||||
}
|
||||
],
|
||||
"asset": {
|
||||
"generator": "glTF Tools for Unity",
|
||||
"version": "2.0"
|
||||
},
|
||||
"bufferViews": [
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 0,
|
||||
"byteLength": 59806
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 59808,
|
||||
"byteLength": 99674
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 159484,
|
||||
"byteLength": 4875
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 164360,
|
||||
"byteLength": 133545
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 297908,
|
||||
"byteLength": 203914
|
||||
}
|
||||
],
|
||||
"buffers": [
|
||||
{
|
||||
"name": "FlightHelmet",
|
||||
"byteLength": 501824,
|
||||
"uri": "FlightHelmet.bin"
|
||||
}
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"name": "FlightHelmet_baseColor",
|
||||
"uri": "FlightHelmet_baseColor.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal",
|
||||
"uri": "FlightHelmet_normal.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor1",
|
||||
"uri": "FlightHelmet_baseColor1.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic1",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic1.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal1",
|
||||
"uri": "FlightHelmet_normal1.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor2",
|
||||
"uri": "FlightHelmet_baseColor2.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic2",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic2.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal2",
|
||||
"uri": "FlightHelmet_normal2.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor3",
|
||||
"uri": "FlightHelmet_baseColor3.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic3",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic3.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal3",
|
||||
"uri": "FlightHelmet_normal3.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor4",
|
||||
"uri": "FlightHelmet_baseColor4.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic4",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic4.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal4",
|
||||
"uri": "FlightHelmet_normal4.png"
|
||||
}
|
||||
],
|
||||
"meshes": [
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 1,
|
||||
"NORMAL": 2,
|
||||
"TANGENT": 3,
|
||||
"POSITION": 4
|
||||
},
|
||||
"indices": 0,
|
||||
"material": 0,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 0,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "GlassPlastic_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 6,
|
||||
"NORMAL": 7,
|
||||
"TANGENT": 8,
|
||||
"POSITION": 9
|
||||
},
|
||||
"indices": 5,
|
||||
"material": 1,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 1,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "LeatherParts_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 11,
|
||||
"NORMAL": 12,
|
||||
"TANGENT": 13,
|
||||
"POSITION": 14
|
||||
},
|
||||
"indices": 10,
|
||||
"material": 2,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 2,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "Lenses_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 16,
|
||||
"NORMAL": 17,
|
||||
"TANGENT": 18,
|
||||
"POSITION": 19
|
||||
},
|
||||
"indices": 15,
|
||||
"material": 3,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 3,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "MetalParts_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 21,
|
||||
"NORMAL": 22,
|
||||
"TANGENT": 23,
|
||||
"POSITION": 24
|
||||
},
|
||||
"indices": 20,
|
||||
"material": 4,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 4,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "RubberWood_low"
|
||||
}
|
||||
],
|
||||
"materials": [
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 0,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 1,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 2,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 1,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "GlassPlasticMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE",
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 3,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 4,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 5,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 4,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "LeatherPartsMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE",
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 6,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 7,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 8,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 7,
|
||||
"texCoord": 0
|
||||
},
|
||||
"alphaMode": "BLEND",
|
||||
"name": "LensesMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 9,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 10,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 11,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 10,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "MetalPartsMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE",
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"doubleSided": true,
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 12,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 13,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 14,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 13,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "RubberWoodMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"mesh": 0,
|
||||
"name": "GlassPlastic_low"
|
||||
},
|
||||
{
|
||||
"mesh": 1,
|
||||
"translation": [
|
||||
0.000434499962,
|
||||
0.032592997,
|
||||
0.011676996
|
||||
],
|
||||
"name": "LeatherParts_low",
|
||||
"rotation": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"mesh": 2,
|
||||
"name": "Lenses_low"
|
||||
},
|
||||
{
|
||||
"mesh": 3,
|
||||
"translation": [
|
||||
0.0331545,
|
||||
-0.1488645,
|
||||
-0.0242879968
|
||||
],
|
||||
"name": "MetalParts_low",
|
||||
"rotation": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"mesh": 4,
|
||||
"translation": [
|
||||
-0.00190849893,
|
||||
-0.111985,
|
||||
-0.013313001
|
||||
],
|
||||
"name": "RubberWood_low",
|
||||
"rotation": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"rotation": [
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"name": "FlightHelmet",
|
||||
"translation": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
}
|
||||
],
|
||||
"scene": 0,
|
||||
"scenes": [
|
||||
{
|
||||
"nodes": [
|
||||
5
|
||||
]
|
||||
}
|
||||
],
|
||||
"textures": [
|
||||
{
|
||||
"source": 0
|
||||
},
|
||||
{
|
||||
"source": 1
|
||||
},
|
||||
{
|
||||
"source": 2
|
||||
},
|
||||
{
|
||||
"source": 3
|
||||
},
|
||||
{
|
||||
"source": 4
|
||||
},
|
||||
{
|
||||
"source": 5
|
||||
},
|
||||
{
|
||||
"source": 6
|
||||
},
|
||||
{
|
||||
"source": 7
|
||||
},
|
||||
{
|
||||
"source": 8
|
||||
},
|
||||
{
|
||||
"source": 9
|
||||
},
|
||||
{
|
||||
"source": 10
|
||||
},
|
||||
{
|
||||
"source": 11
|
||||
},
|
||||
{
|
||||
"source": 12
|
||||
},
|
||||
{
|
||||
"source": 13
|
||||
},
|
||||
{
|
||||
"source": 14
|
||||
}
|
||||
],
|
||||
"extensionsRequired": [
|
||||
"KHR_draco_mesh_compression"
|
||||
],
|
||||
"extensionsUsed": [
|
||||
"KHR_draco_mesh_compression"
|
||||
]
|
||||
}
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7b05a4cf63ea1c614a9385cdb902c62bad324eccbb87a6c9e3370da2b6f36f2d
|
||||
size 14565
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 806 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 3.8 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 3.0 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 5.4 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 737 KiB After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 132 B |
@@ -1,16 +1,3 @@
|
||||
# Flight Helmet
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## License Information
|
||||
|
||||
Donated by Microsoft for glTF testing
|
||||
|
||||
[](http://creativecommons.org/publicdomain/zero/1.0/)
|
||||
To the extent possible under law, Microsoft has waived all copyright and related or neighboring rights to this asset.
|
||||
|
||||
Draco compression was done via Cesium tools on 27-03-2020 as follows.
|
||||
|
||||
gltf-pipeline -i FlightHelmet.gltf -o FlightHelmet.gltf -d -s --keep-unused-elements
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0bc81c711f74fdfd2ef56e34d747383444a3ab6a1ee52fe62cb5838e59b0be56
|
||||
size 545
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
Model by LaVADraGoN at Sketchfab.
|
||||
|
||||
From an joint University Project "Dune Express" Concept-Model was created by my Partner Evil Cloud.
|
||||
|
||||
License: CC Attribution-NonCommercial
|
||||
|
||||
Draco compression was done via Cesium tools on 27-03-2020 as follows.
|
||||
|
||||
gltf-pipeline -i scene.gltf -o scene.gltf -d -s --keep-unused-elements
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84f9da89760420d519b4be28e1c9b3962416b7b87e4a1484ca56a83d57c53e3e
|
||||
size 330
|
||||
|
||||
3
example/assets/cube.glb
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:674e74fbef9b017aa071cd985bcc34c34c96fc57051a0724b6c23de78cd22db8
|
||||
size 2352
|
||||
@@ -1,831 +1,3 @@
|
||||
{
|
||||
"asset" : {
|
||||
"generator" : "Khronos glTF Blender I/O v1.4.40",
|
||||
"version" : "2.0"
|
||||
},
|
||||
"scene" : 0,
|
||||
"scenes" : [
|
||||
{
|
||||
"name" : "Scene",
|
||||
"nodes" : [
|
||||
0,
|
||||
1,
|
||||
3
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes" : [
|
||||
{
|
||||
"mesh" : 0,
|
||||
"name" : "Cube"
|
||||
},
|
||||
{
|
||||
"mesh" : 1,
|
||||
"name" : "Cone",
|
||||
"translation" : [
|
||||
0,
|
||||
0,
|
||||
-4.3612141609191895
|
||||
]
|
||||
},
|
||||
{
|
||||
"camera" : 0,
|
||||
"name" : "Camera_Orientation",
|
||||
"rotation" : [
|
||||
-0.7071067690849304,
|
||||
0,
|
||||
0,
|
||||
0.7071067690849304
|
||||
]
|
||||
},
|
||||
{
|
||||
"children" : [
|
||||
2
|
||||
],
|
||||
"name" : "Camera",
|
||||
"rotation" : [
|
||||
0.5715538859367371,
|
||||
0,
|
||||
0,
|
||||
0.8205645084381104
|
||||
],
|
||||
"translation" : [
|
||||
0,
|
||||
6.8069868087768555,
|
||||
10.164137840270996
|
||||
]
|
||||
}
|
||||
],
|
||||
"cameras" : [
|
||||
{
|
||||
"name" : "Camera.001",
|
||||
"perspective" : {
|
||||
"aspectRatio" : 1.7777777777777777,
|
||||
"yfov" : 0.39959652046304894,
|
||||
"zfar" : 1000,
|
||||
"znear" : 0.10000000149011612
|
||||
},
|
||||
"type" : "perspective"
|
||||
}
|
||||
],
|
||||
"animations" : [
|
||||
{
|
||||
"channels" : [
|
||||
{
|
||||
"sampler" : 0,
|
||||
"target" : {
|
||||
"node" : 0,
|
||||
"path" : "translation"
|
||||
}
|
||||
}
|
||||
],
|
||||
"name" : "FloatUp",
|
||||
"samplers" : [
|
||||
{
|
||||
"input" : 36,
|
||||
"interpolation" : "LINEAR",
|
||||
"output" : 37
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"materials" : [
|
||||
{
|
||||
"doubleSided" : true,
|
||||
"name" : "Material.001",
|
||||
"pbrMetallicRoughness" : {
|
||||
"baseColorFactor" : [
|
||||
0.800000011920929,
|
||||
0.800000011920929,
|
||||
0.800000011920929,
|
||||
1
|
||||
],
|
||||
"metallicFactor" : 0,
|
||||
"roughnessFactor" : 0.4000000059604645
|
||||
}
|
||||
}
|
||||
],
|
||||
"meshes" : [
|
||||
{
|
||||
"extras" : {
|
||||
"targetNames" : [
|
||||
"Key 1",
|
||||
"Key 2",
|
||||
"Key 3",
|
||||
"Key 4",
|
||||
"Key 5",
|
||||
"Key 6",
|
||||
"Key 7",
|
||||
"Key 8"
|
||||
]
|
||||
},
|
||||
"name" : "Cube.001",
|
||||
"primitives" : [
|
||||
{
|
||||
"attributes" : {
|
||||
"POSITION" : 0,
|
||||
"NORMAL" : 1,
|
||||
"TEXCOORD_0" : 2
|
||||
},
|
||||
"indices" : 3,
|
||||
"material" : 0,
|
||||
"targets" : [
|
||||
{
|
||||
"POSITION" : 4,
|
||||
"NORMAL" : 5
|
||||
},
|
||||
{
|
||||
"POSITION" : 6,
|
||||
"NORMAL" : 7
|
||||
},
|
||||
{
|
||||
"POSITION" : 8,
|
||||
"NORMAL" : 9
|
||||
},
|
||||
{
|
||||
"POSITION" : 10,
|
||||
"NORMAL" : 11
|
||||
},
|
||||
{
|
||||
"POSITION" : 12,
|
||||
"NORMAL" : 13
|
||||
},
|
||||
{
|
||||
"POSITION" : 14,
|
||||
"NORMAL" : 15
|
||||
},
|
||||
{
|
||||
"POSITION" : 16,
|
||||
"NORMAL" : 17
|
||||
},
|
||||
{
|
||||
"POSITION" : 18,
|
||||
"NORMAL" : 19
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"weights" : [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"extras" : {
|
||||
"targetNames" : [
|
||||
"Key 1",
|
||||
"Key 2",
|
||||
"Key 3",
|
||||
"Key 4",
|
||||
"Key 5",
|
||||
"Key 6"
|
||||
]
|
||||
},
|
||||
"name" : "Cone",
|
||||
"primitives" : [
|
||||
{
|
||||
"attributes" : {
|
||||
"POSITION" : 20,
|
||||
"NORMAL" : 21,
|
||||
"TEXCOORD_0" : 22
|
||||
},
|
||||
"indices" : 23,
|
||||
"targets" : [
|
||||
{
|
||||
"POSITION" : 24,
|
||||
"NORMAL" : 25
|
||||
},
|
||||
{
|
||||
"POSITION" : 26,
|
||||
"NORMAL" : 27
|
||||
},
|
||||
{
|
||||
"POSITION" : 28,
|
||||
"NORMAL" : 29
|
||||
},
|
||||
{
|
||||
"POSITION" : 30,
|
||||
"NORMAL" : 31
|
||||
},
|
||||
{
|
||||
"POSITION" : 32,
|
||||
"NORMAL" : 33
|
||||
},
|
||||
{
|
||||
"POSITION" : 34,
|
||||
"NORMAL" : 35
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"weights" : [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"accessors" : [
|
||||
{
|
||||
"bufferView" : 0,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"min" : [
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 1,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 2,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView" : 3,
|
||||
"componentType" : 5123,
|
||||
"count" : 276,
|
||||
"type" : "SCALAR"
|
||||
},
|
||||
{
|
||||
"bufferView" : 4,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
0.14205700159072876,
|
||||
0.36317670345306396,
|
||||
2.1620800495147705
|
||||
],
|
||||
"min" : [
|
||||
-2.325753688812256,
|
||||
-0.12704896926879883,
|
||||
-0.1493830382823944
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 5,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 6,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
0.14205700159072876,
|
||||
0.6298741102218628,
|
||||
0.14937379956245422
|
||||
],
|
||||
"min" : [
|
||||
-0.5040037631988525,
|
||||
-0.12704896926879883,
|
||||
-0.7224071025848389
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 7,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 8,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
1.1911587715148926,
|
||||
0.7055504322052002,
|
||||
0.14937379956245422
|
||||
],
|
||||
"min" : [
|
||||
-0.1420515477657318,
|
||||
-0.12704896926879883,
|
||||
-0.9040634632110596
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 9,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 10,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
1.0930120944976807,
|
||||
0.12705659866333008,
|
||||
0.14937379956245422
|
||||
],
|
||||
"min" : [
|
||||
-0.1420515477657318,
|
||||
-1.7105424404144287,
|
||||
-0.3054158687591553
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 11,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 12,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
1.0931031703948975,
|
||||
7.137829303741455,
|
||||
1.149359941482544
|
||||
],
|
||||
"min" : [
|
||||
-1.0931031703948975,
|
||||
-0.284426212310791,
|
||||
-1.149359941482544
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 13,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 14,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
0.7663934230804443,
|
||||
0.12705659866333008,
|
||||
0.14937379956245422
|
||||
],
|
||||
"min" : [
|
||||
-0.1420515477657318,
|
||||
-1.3416147232055664,
|
||||
-1.2583342790603638
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 15,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 16,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
1.0939359664916992,
|
||||
0.12705659866333008,
|
||||
0.14937379956245422
|
||||
],
|
||||
"min" : [
|
||||
-0.1420515477657318,
|
||||
-1.257744312286377,
|
||||
-1.9783165454864502
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 17,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 18,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"max" : [
|
||||
0.9689376950263977,
|
||||
0.12705659866333008,
|
||||
0.14937379956245422
|
||||
],
|
||||
"min" : [
|
||||
-0.1420515477657318,
|
||||
-1.4092154502868652,
|
||||
-1.7750303745269775
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 19,
|
||||
"componentType" : 5126,
|
||||
"count" : 276,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 20,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"min" : [
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 21,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 22,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView" : 23,
|
||||
"componentType" : 5123,
|
||||
"count" : 186,
|
||||
"type" : "SCALAR"
|
||||
},
|
||||
{
|
||||
"bufferView" : 24,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
0,
|
||||
0.5201449394226074,
|
||||
0
|
||||
],
|
||||
"min" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 25,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 26,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
5.200448989868164,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"min" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 27,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 28,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"min" : [
|
||||
0,
|
||||
0,
|
||||
-1.9945937395095825
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 29,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 30,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"min" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 31,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 32,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"min" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 33,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 34,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"max" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"min" : [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 35,
|
||||
"componentType" : 5126,
|
||||
"count" : 148,
|
||||
"type" : "VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView" : 36,
|
||||
"componentType" : 5126,
|
||||
"count" : 60,
|
||||
"max" : [
|
||||
2.5
|
||||
],
|
||||
"min" : [
|
||||
0.041666666666666664
|
||||
],
|
||||
"type" : "SCALAR"
|
||||
},
|
||||
{
|
||||
"bufferView" : 37,
|
||||
"componentType" : 5126,
|
||||
"count" : 60,
|
||||
"type" : "VEC3"
|
||||
}
|
||||
],
|
||||
"bufferViews" : [
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 0
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 3312
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 2208,
|
||||
"byteOffset" : 6624
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 552,
|
||||
"byteOffset" : 8832
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 9384
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 12696
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 16008
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 19320
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 22632
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 25944
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 29256
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 32568
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 35880
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 39192
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 42504
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 45816
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 49128
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 52440
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 55752
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 3312,
|
||||
"byteOffset" : 59064
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 62376
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 64152
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1184,
|
||||
"byteOffset" : 65928
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 372,
|
||||
"byteOffset" : 67112
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 67484
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 69260
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 71036
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 72812
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 74588
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 76364
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 78140
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 79916
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 81692
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 83468
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 85244
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 1776,
|
||||
"byteOffset" : 87020
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 240,
|
||||
"byteOffset" : 88796
|
||||
},
|
||||
{
|
||||
"buffer" : 0,
|
||||
"byteLength" : 720,
|
||||
"byteOffset" : 89036
|
||||
}
|
||||
],
|
||||
"buffers" : [
|
||||
{
|
||||
"byteLength" : 89756,
|
||||
"uri" : "cube.bin"
|
||||
}
|
||||
]
|
||||
}
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:36c83fcf7f31a08420f487bb7f722a4b92728e53158b76e3764f0ee304db832d
|
||||
size 20259
|
||||
|
||||
3
example/assets/eloise.glb
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:51bf0fae302aebf5db6f96a1d950951d347de9de036f2446ffe7c03ef7e45d90
|
||||
size 15782592
|
||||
@@ -1,185 +1,3 @@
|
||||
material {
|
||||
name : ubershader_gpu,
|
||||
requires : [ uv0, uv1, color ],
|
||||
shadingModel : lit,
|
||||
blending : transparent,
|
||||
depthWrite : true,
|
||||
doubleSided : true,
|
||||
flipUV : false,
|
||||
specularAmbientOcclusion : simple,
|
||||
specularAntiAliasing : true,
|
||||
clearCoatIorChange : false,
|
||||
vertexDomain: world,
|
||||
parameters : [
|
||||
|
||||
{ type : float3, name : specularFactor },
|
||||
{ type : float, name : glossinessFactor },
|
||||
|
||||
// Base Color
|
||||
{ type : int, name : baseColorIndex },
|
||||
{ type : float4, name : baseColorFactor },
|
||||
{ type : sampler2d, name : baseColorMap },
|
||||
{ type : mat3, name : baseColorUvMatrix, precision: high },
|
||||
|
||||
// Metallic-Roughness Map
|
||||
{ type : int, name : metallicRoughnessIndex },
|
||||
{ type : float, name : metallicFactor },
|
||||
{ type : float, name : roughnessFactor },
|
||||
{ type : sampler2d, name : metallicRoughnessMap },
|
||||
{ type : mat3, name : metallicRoughnessUvMatrix, precision: high },
|
||||
|
||||
// Normal Map
|
||||
{ type : int, name : normalIndex },
|
||||
{ type : float, name : normalScale },
|
||||
{ type : sampler2d, name : normalMap },
|
||||
{ type : mat3, name : normalUvMatrix, precision: high },
|
||||
|
||||
// Ambient Occlusion
|
||||
{ type : int, name : aoIndex },
|
||||
{ type : float, name : aoStrength },
|
||||
{ type : sampler2d, name : occlusionMap },
|
||||
{ type : mat3, name : occlusionUvMatrix, precision: high },
|
||||
|
||||
// Emissive Map
|
||||
{ type : int, name : emissiveIndex },
|
||||
{ type : float3, name : emissiveFactor },
|
||||
{ type : sampler2d, name : emissiveMap },
|
||||
{ type : mat3, name : emissiveUvMatrix, precision: high },
|
||||
|
||||
// Cleat coat
|
||||
{ type : float, name : clearCoatFactor },
|
||||
{ type : float, name : clearCoatRoughnessFactor },
|
||||
{ type : int, name : clearCoatIndex },
|
||||
{ type : sampler2d, name : clearCoatMap },
|
||||
{ type : mat3, name : clearCoatUvMatrix, precision: high },
|
||||
{ type : int, name : clearCoatRoughnessIndex },
|
||||
{ type : sampler2d, name : clearCoatRoughnessMap },
|
||||
{ type : mat3, name : clearCoatRoughnessUvMatrix, precision: high },
|
||||
{ type : int, name : clearCoatNormalIndex },
|
||||
{ type : sampler2d, name : clearCoatNormalMap },
|
||||
{ type : mat3, name : clearCoatNormalUvMatrix, precision: high },
|
||||
{ type : float, name : clearCoatNormalScale },
|
||||
|
||||
// Reflectance
|
||||
{ type : float, name : reflectance },
|
||||
{ type : int3, name: dimensions },
|
||||
{ type : float[255], name:"morphTargetWeights" },
|
||||
{ type: sampler2dArray, format: float, name:"morphTargets" }
|
||||
],
|
||||
}
|
||||
|
||||
fragment {
|
||||
void material(inout MaterialInputs material) {
|
||||
highp float2 uvs[2];
|
||||
uvs[0] = getUV0();
|
||||
uvs[1] = getUV1();
|
||||
|
||||
if (materialParams.normalIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.normalIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.normalUvMatrix).xy;
|
||||
material.normal = texture(materialParams_normalMap, uv).xyz * 2.0 - 1.0;
|
||||
material.normal.xy *= materialParams.normalScale;
|
||||
}
|
||||
if (materialParams.clearCoatNormalIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.clearCoatNormalIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.clearCoatNormalUvMatrix).xy;
|
||||
material.clearCoatNormal = texture(materialParams_clearCoatNormalMap, uv).xyz * 2.0 - 1.0;
|
||||
material.clearCoatNormal.xy *= materialParams.clearCoatNormalScale;
|
||||
}
|
||||
|
||||
prepareMaterial(material);
|
||||
material.baseColor = materialParams.baseColorFactor;
|
||||
|
||||
if (materialParams.baseColorIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.baseColorIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.baseColorUvMatrix).xy;
|
||||
material.baseColor *= texture(materialParams_baseColorMap, uv);
|
||||
}
|
||||
|
||||
material.baseColor *= getColor();
|
||||
material.baseColor.rgb *= material.baseColor.a;
|
||||
|
||||
|
||||
material.roughness = materialParams.roughnessFactor;
|
||||
material.metallic = materialParams.metallicFactor;
|
||||
|
||||
// KHR_materials_clearcoat forbids clear coat from
|
||||
// being applied in the specular/glossiness model
|
||||
material.clearCoat = materialParams.clearCoatFactor;
|
||||
material.clearCoatRoughness = materialParams.clearCoatRoughnessFactor;
|
||||
|
||||
if (materialParams.clearCoatIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.clearCoatIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.clearCoatUvMatrix).xy;
|
||||
material.clearCoat *= texture(materialParams_clearCoatMap, uv).r;
|
||||
}
|
||||
if (materialParams.clearCoatRoughnessIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.clearCoatRoughnessIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.clearCoatRoughnessUvMatrix).xy;
|
||||
material.clearCoatRoughness *= texture(materialParams_clearCoatRoughnessMap, uv).g;
|
||||
}
|
||||
|
||||
material.emissive = vec4(materialParams.emissiveFactor.rgb, 0.0);
|
||||
|
||||
if (materialParams.metallicRoughnessIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.metallicRoughnessIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.metallicRoughnessUvMatrix).xy;
|
||||
|
||||
vec4 mr = texture(materialParams_metallicRoughnessMap, uv);
|
||||
material.roughness *= mr.g;
|
||||
material.metallic *= mr.b;
|
||||
}
|
||||
|
||||
if (materialParams.aoIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.aoIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.occlusionUvMatrix).xy;
|
||||
material.ambientOcclusion = texture(materialParams_occlusionMap, uv).r *
|
||||
materialParams.aoStrength;
|
||||
}
|
||||
if (materialParams.emissiveIndex > -1) {
|
||||
highp float2 uv = uvs[materialParams.emissiveIndex];
|
||||
uv = (vec3(uv, 1.0) * materialParams.emissiveUvMatrix).xy;
|
||||
material.emissive.rgb *= texture(materialParams_emissiveMap, uv).rgb;
|
||||
}
|
||||
}
|
||||
}
|
||||
vertex {
|
||||
vec3 getMorphTarget(int vertexIndex, int morphTargetIndex) {
|
||||
// our texture is laid out as (x,y,z) where y is 1, z is the number of morph targets, and x is the number of vertices * 2 (multiplication accounts for position + normal)
|
||||
// UV coordinates are normalized to (-1,1), so we divide the current vertex index by the total number of vertices to find the correct coordinate for this vertex
|
||||
vec3 uv = vec3(
|
||||
(float(vertexIndex) + 0.5) / float(materialParams.dimensions.x),
|
||||
0.0f,
|
||||
//(float(morphTargetIndex) + 0.5f) / float(materialParams.dimensions.z));
|
||||
float(morphTargetIndex));
|
||||
return texture(materialParams_morphTargets, uv).xyz;
|
||||
}
|
||||
|
||||
void materialVertex(inout MaterialVertexInputs material) {
|
||||
// for every morph target
|
||||
for(int morphTargetIndex = 0; morphTargetIndex < materialParams.dimensions.z; morphTargetIndex++) {
|
||||
|
||||
// get the weight to apply
|
||||
float weight = materialParams.morphTargetWeights[morphTargetIndex];
|
||||
|
||||
// get the ID of this vertex, which will be the x-offset of the position attribute in the texture sampler
|
||||
int vertexId = getVertexIndex();
|
||||
|
||||
// get the position of the target for this vertex
|
||||
vec3 morphTargetPosition = getMorphTarget(vertexId, morphTargetIndex);
|
||||
// update the world position of this vertex
|
||||
material.worldPosition.xyz += (weight * morphTargetPosition);
|
||||
|
||||
// increment the vertexID by half the size of the texture to get the x-offset of the normal (all positions stored in the first half, all normals stored in the second half)
|
||||
|
||||
vertexId += (materialParams.dimensions.x / 2);
|
||||
|
||||
// get the normal of this target for this vertex
|
||||
vec3 morphTargetNormal = getMorphTarget(vertexId, morphTargetIndex);
|
||||
material.worldNormal += (weight * morphTargetNormal);
|
||||
}
|
||||
mat4 transform = getWorldFromModelMatrix();
|
||||
material.worldPosition = mulMat4x4Float3(transform, material.worldPosition.xyz);
|
||||
}
|
||||
}
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4e5abbab543615b9933bcc271430ceb6b934811c98704700b409f3ae9c990d1e
|
||||
size 8651
|
||||
|
||||