使用 assimp 的 .X 文件中的 UV 纹理映射问题

问题描述 投票:0回答:1

描述错误 .X 文件中的 UV 纹理映射问题,有时可以完美加载,但在极少数情况下会发生。

重现 重现该行为的步骤:

尝试加载 Land_Objects_WareHouse.zip .x 文件。

预期行为 在所有情况下它都应该完美加载。

截图 如果适用,请添加屏幕截图以帮助解释您的问题。 仓库材质问题

平台(请填写以下信息):

操作系统:Windows 版本5.0.1 enter image description here

它应该在所有情况下都能完美加载,可能的解决方案是什么

Assimp::Importer imp;
fiuint loadHierarchy = 0;
if (false == _bLoadHierarchy)
{
loadHierarchy |= (aiProcess_PreTransformVertices | aiProcess_OptimizeGraph);
}
//else
// loadHierarchy |= aiProcess_GenSmoothNormals; //for quality /not performance
imp.SetPropertyInteger("AI_CONFIG_PP_RVC_FLAGS", aiComponent_CAMERAS | aiComponent_COLORS | aiComponent_LIGHTS);
//imp.SetPropertyBool(AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS, false);

    const aiScene* pScene = imp.ReadFile(newfile.c_str(),
        aiProcess_ConvertToLeftHanded
        | aiProcess_RemoveComponent
        | aiProcess_LimitBoneWeights
        | aiProcess_Triangulate
        | aiProcess_JoinIdenticalVertices
        | aiProcess_ValidateDataStructure
        | aiProcess_ImproveCacheLocality
        | aiProcess_RemoveRedundantMaterials
        | aiProcess_FindInvalidData
        | aiProcess_GenUVCoords
        //| aiProcess_GenNormals
        
        //| aiProcess_TransformUVCoords
        | aiProcess_FindInstances
        | aiProcess_OptimizeMeshes
        | aiProcess_SortByPType
        | aiProcess_CalcTangentSpace
        | aiProcess_SplitLargeMeshes
        | loadHierarchy
        /*  aiProcessPreset_TargetRealtime_Quality*/
        );
visual-c++ directx-11 assimp
1个回答
0
投票

如果您可以尝试将 Asset-Importer-Lib 更新到最新版本(版本 5.3.1),那就太好了。

您使用的版本已过时,不会从我们这边获得任何更新。您可以从头开始构建它或检查多个包管理器提供的预构建二进制文件。

© www.soinside.com 2019 - 2024. All rights reserved.