我正在使用Assimp 4.1.0加载OBJ文件。某些文件可能引用了丢失的材料文件,如果Assimp无法正确找到它们,我想给材料提供我自己的默认值。
提供文档:
aiMaterial* mat = .....
// The generic way
if(AI_SUCCESS != mat->Get(<material-key>,<where-to-store>)) {
// handle epic failure here
}
它应该扔东西,但不是。即使没有材料文件,它也会返回aiReturn_SUCCESS。有人对此有任何解决方法吗?
谢谢!
答案 0 :(得分:0)
当示例中的材料不存在时,它将为nullptr类型,并且您的应用程序将崩溃。当没有导入基于obj的材料(带有mtl-extension的文件)时,会创建基础材料,我想这个材料文件将用于获取您要查找的键。
首先请确保您使用的材质实例正确。然后,API将按照API文档中的描述进行工作。
请问是否还有一些未解决的问题。如果您直接使用项目端:-),则会得到更快的答案。
金