Visualization of a custom model does not work as expected
I have built a custom model of a simplified fixed-wing aircraft using Blender. See here for a screenshot showing a representative view of the model in Blender.
When I export the model as a Collada file (with .dae extension), and set up a Gazebo model (see this SDF file, the visualization I see in Gazebo is not what I would expect. Not all faces of the object are visible and the faces that are visible are a function of the viewing angle. I have tried changing the material thickness in Blender and adding a texture (in meshlab), but the same problem persists. What am I missing here? I couldn't find much online to help me with this issue, so I am hoping that the Gazebo community will have some valuable insights to share, perhaps there are some links/project references that I have missed thus far.
I'm using the gazebo sim I apt-installed for Ubuntu 22.04. Here is the python file I used to generate the meshes.
Thanks!
The image links seem broken. Other than that: maybe try to open the file in some other program, e.g. Meshlab and see if that works fine. And/or try as an .obj file instead of collada?
Is there any warning/error showing if you run gazebo with verbose option? My guess now (since I can't see the images as mentioned above) is to check the face orientation and triangulation. Right-click on the model in Gazebo and view the wireframe to see if the triangulation looks correct or not. In Blender you can show the normal of the faces. Make sure they are pointing outside since Gazebo loads the visuals single-faced by default.
I have updated the image files and have verified they are as I would expect. Thanks for catching this @jrtg.
@Veerachart, the screen cap with verbose output doesn't flag any warnings or errors when I load the model. Looking at the wireframe shows that, indeed, the triangulation is not what I expect. What could be causing this? I built the mesh using the Blender python API.
Thanks for your help with this!
Thanks for the update. I'm not using .dae files that much, so I'm not sure how the triangulation may work on that. The model looks too simple to be messed up by Gazebo auto triangulation though. It should not have problem with quads. Exporting file to .obj format has the option to triangulate faces. Maybe there is something similar for .dae format exporter.
I've tried with both .obj and .dae and the outcomes were the same. I selected "Triangulate faces" for both export processes and the wireframes in Gazebo are still incorrect. I have attached the python file I used to create the meshes just in case I did something incorrect there. Anything else I should try? Is there a better approach I should be using to create such a simple object?