我正在尝试使用.mtl文件中的纹理比例。在记事本中打开文件,我可以看到它有以下功能 map_Kd -s 4.000000 4.000000 1.000000 crate_diffuse.ds。
我正在尝试下面的代码,但它返回aiReturnFAILURE。
for (UINT j = 0; j < material->GetTextureCount(type); j++)
{
aiString str;
material->GetTexture(type, j, &str);
aiUVTransform uvTransform;
if (material->Get(AI_MATKEY_UVTRANSFORM(aiTextureType_DIFFUSE, j), uvTransform) == aiReturn_FAILURE)
{
std::cout << "Failed\n";
}
texture_diffuse = std::string(str.C_Str());
std::cout << texture_diffuse << '\n';
}
当你的材料没有存储uvTransform时,这种情况会发生。如果没有任何uvTransform,你的缩放将是1.0。