Я пытался преобразовать простой куб с помощью libGDX FBX-Converter , но куб не отображается в моем игровом приложении.
Файл FBX создается с помощью blender 2.8
С другой стороны, если я создаю файл FBX с помощью blender 2.76, а затем преобразую его в файл g3dj, он успешно отображается.
Единственное отличие между рабочим и неработающим - это атрибутTEXCOORD0
здесь 2 g3dj
файла, один из которых создан в blender 2.76, а другой - в blender 2.8
Это тот, который работает, FBX создан в blender2,76, а затем преобразуется в g3dj
{
"version": [ 0, 1],
"id": "",
"meshes": [
{
"attributes": ["POSITION", "NORMAL"],
"vertices": [
-1.000000, 1.000000, 1.000000, -1.000000, 0.000000, 0.000000,
-1.000000, 1.000000, -1.000000, -1.000000, 0.000000, 0.000000,
-1.000000, -1.000000, 1.000000, -1.000000, 0.000000, 0.000000,
-1.000000, -1.000000, -1.000000, -1.000000, 0.000000, 0.000000,
1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000,
1.000000, 1.000000, -1.000000, 0.000000, 1.000000, 0.000000,
-1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000,
-1.000000, 1.000000, -1.000000, 0.000000, 1.000000, 0.000000,
1.000000, -1.000000, 1.000000, 1.000000, 0.000000, 0.000000,
1.000000, -1.000000, -1.000000, 1.000000, 0.000000, 0.000000,
1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000,
1.000000, 1.000000, -1.000000, 1.000000, 0.000000, 0.000000,
-1.000000, -1.000000, 1.000000, 0.000000, -1.000000, 0.000000,
-1.000000, -1.000000, -1.000000, 0.000000, -1.000000, 0.000000,
1.000000, -1.000000, 1.000000, 0.000000, -1.000000, 0.000000,
1.000000, -1.000000, -1.000000, 0.000000, -1.000000, 0.000000,
1.000000, -1.000000, -1.000000, 0.000000, 0.000000, -1.000000,
-1.000000, -1.000000, -1.000000, 0.000000, 0.000000, -1.000000,
1.000000, 1.000000, -1.000000, 0.000000, 0.000000, -1.000000,
-1.000000, 1.000000, -1.000000, 0.000000, 0.000000, -1.000000,
-1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 1.000000,
1.000000, -1.000000, 1.000000, 0.000000, 0.000000, 1.000000,
1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 1.000000,
-1.000000, -1.000000, 1.000000, 0.000000, 0.000000, 1.000000
],
"parts": [
{
"id": "Cube.002_part1",
"type": "TRIANGLES",
"indices": [
0, 1, 2, 2, 1, 3, 4, 5, 6, 6, 5, 7,
8, 9, 10, 10, 9, 11, 12, 13, 14, 14, 13, 15,
16, 17, 18, 17, 19, 18, 20, 21, 22, 21, 20, 23
]
}
]
}
],
"materials": [
{
"id": "Material.005",
"ambient": [ 0.000000, 0.000000, 0.000000],
"diffuse": [ 0.800000, 0.800000, 0.800000],
"emissive": [ 0.800000, 0.800000, 0.800000],
"opacity": 1.000000,
"specular": [ 1.000000, 1.000000, 1.000000],
"shininess": 9.607843
}
],
"nodes": [
{
"id": "Cube",
"rotation": [-0.707107, -0.000000, 0.000000, 0.707107],
"scale": [ 1.000000, 1.000000, 0.158538],
"parts": [
{
"meshpartid": "Cube.002_part1",
"materialid": "Material.005"
}
]
}
],
"animations": []
}
И это тот, который не работает, FBX создан с помощью Blender 2.8, а затем преобразован в g3dj
{
"version": [ 0, 1],
"id": "",
"meshes": [
{
"attributes": ["POSITION", "NORMAL", "TEXCOORD0"],
"vertices": [
-1.000000, 1.000000, 1.000000, -1.000000, 0.000000, 0.000000, 0.625000, 0.750000,
-1.000000, -1.000000, -1.000000, -1.000000, 0.000000, 0.000000, 0.375000, 1.000000,
-1.000000, -1.000000, 1.000000, -1.000000, 0.000000, 0.000000, 0.625000, 1.000000,
-1.000000, 1.000000, -1.000000, -1.000000, 0.000000, 0.000000, 0.375000, 0.750000,
1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.625000, 0.500000,
-1.000000, 1.000000, -1.000000, 0.000000, 1.000000, 0.000000, 0.375000, 0.750000,
-1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.625000, 0.750000,
1.000000, 1.000000, -1.000000, 0.000000, 1.000000, 0.000000, 0.375000, 0.500000,
1.000000, -1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.625000, 0.250000,
1.000000, 1.000000, -1.000000, 1.000000, 0.000000, 0.000000, 0.375000, 0.500000,
1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.625000, 0.500000,
1.000000, -1.000000, -1.000000, 1.000000, 0.000000, 0.000000, 0.375000, 0.250000,
-1.000000, -1.000000, 1.000000, 0.000000, -1.000000, 0.000000, 0.625000, 0.000000,
1.000000, -1.000000, -1.000000, 0.000000, -1.000000, 0.000000, 0.375000, 0.250000,
1.000000, -1.000000, 1.000000, 0.000000, -1.000000, 0.000000, 0.625000, 0.250000,
-1.000000, -1.000000, -1.000000, 0.000000, -1.000000, 0.000000, 0.375000, 0.000000,
1.000000, -1.000000, -1.000000, 0.000000, 0.000000, -1.000000, 0.375000, 0.250000,
-1.000000, -1.000000, -1.000000, 0.000000, 0.000000, -1.000000, 0.125000, 0.250000,
-1.000000, 1.000000, -1.000000, 0.000000, 0.000000, -1.000000, 0.125000, 0.500000,
1.000000, 1.000000, -1.000000, 0.000000, 0.000000, -1.000000, 0.375000, 0.500000,
-1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.875000, 0.500000,
-1.000000, -1.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.875000, 0.250000,
1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.625000, 0.500000,
1.000000, -1.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.625000, 0.250000
],
"parts": [
{
"id": "Cube.001_part1",
"type": "TRIANGLES",
"indices": [
0, 1, 2, 1, 0, 3, 4, 5, 6, 5, 4, 7,
8, 9, 10, 9, 8, 11, 12, 13, 14, 13, 12, 15,
16, 17, 18, 16, 18, 19, 20, 21, 22, 22, 21, 23
]
}
]
}
],
"materials": [
{
"id": "Material.002",
"ambient": [ 0.050876, 0.050876, 0.050876],
"diffuse": [ 0.800000, 0.800000, 0.800000],
"emissive": [ 0.800000, 0.800000, 0.800000],
"opacity": 0.000000,
"specular": [ 0.800000, 0.800000, 0.800000],
"shininess": 25.000000
}
],
"nodes": [
{
"id": "Cube",
"rotation": [-0.707107, -0.000000, 0.000000, 0.707107],
"scale": [ 1.000000, 1.000000, 0.081716],
"parts": [
{
"meshpartid": "Cube.001_part1",
"materialid": "Material.002",
"uvMapping": [[]]
}
]
}
],
"animations": []
}
Так есть ли способ опустить этот атрибут в blender 2.8? или даже лучше, чтобы libgdx учитывал этот атрибут?
Я использую материал Diffuse BSDF в блендере 2.8