Blender 2.93.1 - Exported .glb/.gltf models have no textures
Hi, I've been trying to export different combinations for my custom character created in Blender. It's a simple robot with a principled shader applied using diffuse, roughness, normal, and metallic .PNG textures applied. I've attached images of how it looks on Blender and how it looks when uploaded using "custom character upload" on DeepMotion.
I've tried different combinations:
glb/gltf with path relative "Texture" folder.
glb/gltf with same directory textures (no folder all files are at the same directory level)
Fbx with path relative and root level textures.
None of these combinations worked when uploaded to DeepMotion.
I think this is a bug, since I can upload to https://sandbox.babylonjs.com/
and the model looks perfect (materials and textures work correctly).
Please let me know how to proceed in order to upload my custom .glb/.gltf model from Blender into DeepMotion with textures.
After re-importing the animation from DeepMotion back to Blender, I see that the VERTEX colors are interpreted inside DeepMotion platform as the "base color". Which is wrong. And you can see that is reflected on the animation of the character while the previewer playback on DeepMotion's site.
As I mentioned before, I tried to export an .fbx version so all faces will be normalized, and the mesh would be represented correctly. In all of the times I uploaded (7 in total) nor the mesh representation or the material was correct on DeepMotion's site.
This was the 7th iteration for this character in the platform, making sure I exported all normals facing outwards (no inverted normals), and you can see the results on the second picture. The platform interprets the vertex color as alpha. This is not correct.
*** UPDATE ABOUT TRANSPARENT FACES *****
For all other users reading this, you need to make sure before your export your .GLB file from Blender 2.93.1 to go into the material options and uncheck "Show backface". Either when reconstructing the material or when exporting, please make sure you have this unchecked.
Thanks for reporting this issue! We will definitely take a look. We are doing some conversions during processing with some third party libraries, and the issue may happen there.
Meanwhile, just out of curiousirt: why do you use the .glb to upload instead of the .fbx file? Is there some problem with the fbx process?
Hi Pierre, we looked into the issue and here's our findings.
We are converting glb to fbx in our backend for unified processing, and during this process the fbx converter can not convert the materials for this character correctly. I tried to manually import your glb file into blender and convert to fbx, and it also doesn't have any texture.
To avoid all the conversion error, I suggest that you treat our result file just as the source of the animation. You can have your source character in the scene, then import the file containing the Animate3D result animation, and copy the animation keyframes back to your source character, which you have already set up the materials and have the good mesh.
The video attached shows how to do it in Blender:
1. Have both your original character (not animated) and the Animate3D output animation (may have bad material/mesh) in the scene. As you can see, one character is animated and one is not.
2. Select the animated character armature. Go to pose mode. Press 'A' to select all the bones.
3. In the Dope Sheet, select all the keyframes, Ctrl+C to copy.
4. Switch to Object mode, and select your original character armature (not animated).
5. Press 'A' to select all the bones. Right click to insert animation on the Whole Character.
6. In the Dope Sheet, Ctrl+V to paste the animation data. You can then see your original character animated.
We are sorry for the issues that you've encountered and is very willing to work with you to improve this process. Please let us know how it goes and we will try to make this workflow easier for all the Blender users.