possum_doublecrossum wrote:Anx wrote:possum_doublecrossum wrote:So I'm pretty inexperienced with this, but I've recently been converting/exporting .fbx models to .mesh with noesis and I've run into a weird problem. Most models export fine, but some come out... invisible, I guess? They preview fine in noesis, but after exporting, loading them in XPS gives me a bone list, but no visible or usable model. I have no idea why this is. The textures are in the right folder and assigned correctly in the .mesh file, and I've tried with three different versions of noesis just to see if it's a bug related to that, but there's been no change. Anyone have any idea why this happens and how to fix it?
I have contacted XNAaraL (author of this script) to resolve this issue. The response time is usually 2 weeks.
To crack the problem, please provide us with a Generic_Item.mesh.ascii file, from a model that appears invisible. Textures are not needed. The .mesh.ascii is sufficient.
Here's one of them:
https://www.sendspace.com/file/gyyc16
Textures are included anyway, as well as the original .fbx file, just because.
Thanks.
I have make some test with this files. Perhaps it will help XNAaraL to crack the problem.
At first, I have converted the FBX with noesis as .mesh.ascii; using "File->Export" and "File->Export from Preview". The result files are identical to the uploaded .mesh.ascii file.
My findings:
1) Loading the .mesh,ascii in XPS. no matter if using "Drag&Drop" or "Modify->Load"
- No waning
- Bone list is almost plenary in "Control Window".
Missing is the "root ground" bone! Later more.
- Render Group Number, textures and vertex colors are fine.
-
Mesh is invisible.
-
All bone positions are on the same location on the center of the ground plane!
2) Invoke "Shader->Display Normals"
- Model is tiny
- Vertex position and Normals are fine.
3) Examine .mesh.ascii data
- The head joint is 0.0378 above the ground. Should be around 1.6 meter above the ground. Very tiny.
4) Scale it with factor 42 to see the tiny model
- It change nothing
5) Examine .mesh.ascii data (skinning)
I know, the scale is a part of the World Matrix, and the vertex positon on the screen is calculated in the shader.
Something like the multiplication World * View * Projection * vertex position * bone weight * bone index * pose tranformation matrix
If one part is zero, then result is zero. So the whole model is just a single point (Yes, I have read your "SinglePointFace tutorial)
- Bone weights are fine
- bone indices are fine
- XNALara shader required exactly 4 values. The .mesh.ascii contains just one value (but if I extend it to 4 values, it change nothing)
6) Examine .mesh.ascii data (root ground rule)
I know, the "root ground" is also a part of the World Matrix
- First bone is not the root of the armature. parent index of "finger41" is 30 and not -1
7) 6) Examine .mesh.ascii data, searching the root of the armature.
Starting with the pelvis bone, if found "e01 201" as root bone.
-
Parent index is not -1 !!
-
the bone "e01 201" (root of the armature) point to itself !!!
-
No bone has as parent the value -1 !!!!
8) "Modify->Clean armature" with "Scale: 42"
- Mesh no longer tiny.
- Vertex positions and Normals are fine
- Mesh still invisible
- All bone positions still on position 0,0,0
-" Clean armature2 is no solution there
9) Make the bone "e02 201" as root of the armature, by setting is parent i to -1
- Success. Everything works perfectly.
19) Noesis test with
FBX file
- Root with self reference
11) Noesis with fixed Generic_Item.mesh.ascii file
BTW:
Trying to save the original FBX file with Noesis as new FBX (using this
defect FBX model) result in
freezing Noesis.
Code: Select all
Noesis export as FBX (no response; hanging; freeze; have to kill Noesis with taskmgr)
Output extension has set output file type to:.fbx - Autodesk FBX
Detected file type: Autodesk FBX
Loading scene with FBX library.
FBX version number for this FBX SDK is 7.5.0
FBX version number for file is 7.1.0
Traversing scene nodes.
Loading materials.
Generating meshes.
Take 0: global_take_0
Cleaning up FBX library.
Generating final model.
Performing RichPGeo::Optimize on 11856 verts and 3952 triangles...
Finished with 3384 verts and 3952 triangles in 0.00 seconds.
Creating skeleton.
Constructing mesh list.
I have to kill Noesis with the taskmgr.exe
Now, Noesis cannot start again !!!!!! I have to reboot my System to bring Noesis to start.
This defect FBX model crash my computer.