I'm not a model designer so I have no idea why they don't work.
However I managed to reasonably set it in LibGDX.
First you need to load the obj. As the don't have a default material you need to load the texture for separated.
After loading the texture you need to flip the Y axis by wrapping it in a texture region.
Then you must apply the texture to all the model materials:
Code:
// Load model and texture.
AssetsManager assets = new AssetsManager();
assets.load("aegis.obj", Model.class);
assets.load("aegis-mmo_diffuse_512.png", Texture.class);
assets.finishLoading();
// Prepare texture.
TextureRegion region = new TextureRegion(assets.get("aegis-mmo_diffuse_512.png"));
region.flip(false, true);
TextureAttribute texture = new TextureAttribute(TextureAttribute.Diffuse, region);
// Prepare model.
ModelInstance model = new ModelInstance((Model)assets.get("aegis.obj"));
// Add texture to model.
for (Material material : model.materials) {
material.set(texture);
}
Result: