Assimp无法从.dae或.fbx文件中读取特定骨骼的权重。
创始人
2024-09-20 19:00:41
0

您可以使用Assimp库中的aiProcess_ImproveCacheLocality选项来解决这个问题。这将使Assimp尝试优化顶点和索引缓冲区以提高性能。

以下是一个使用Assimp加载.dae或.fbx文件并读取特定骨骼权重的示例代码:

#include 
#include 
#include 

int main()
{
    // 创建一个Assimp的导入器
    Assimp::Importer importer;
    
    // 选择要加载的文件
    const aiScene* scene = importer.ReadFile("model.dae", aiProcess_ImproveCacheLocality);
    
    // 检查场景是否加载成功
    if (!scene)
    {
        // 处理加载错误
        return -1;
    }
    
    // 获取第一个网格
    const aiMesh* mesh = scene->mMeshes[0];
    
    // 遍历每个顶点
    for (unsigned int i = 0; i < mesh->mNumVertices; i++)
    {
        // 获取顶点
        aiVector3D vertex = mesh->mVertices[i];
        
        // 获取顶点的权重
        // 假设每个顶点只有一个骨骼和权重
        aiBone* bone = scene->mMeshes[0]->mBones[0];
        float weight = bone->mWeights[i].mWeight;
        
        // 打印顶点的权重
        printf("Vertex %d: Weight = %f\n", i, weight);
    }
    
    return 0;
}

在上述示例中,我们使用aiProcess_ImproveCacheLocality选项来加载模型文件,这将优化顶点和索引缓冲区。然后,我们使用scene->mMeshes[0]->mBones[0]来获取第一个网格的第一个骨骼。接下来,我们使用bone->mWeights[i].mWeight来获取顶点i的权重。

请注意,上述示例假设每个顶点只有一个骨骼和权重。如果您的模型中的顶点具有多个骨骼和权重,请相应调整代码。

相关内容

热门资讯

透视策略!智星德州有脚本吗(透... 透视策略!智星德州有脚本吗(透视)哈糖大菠萝免费辅助器(辅助)竟然是有插件(哔哩哔哩)哈糖大菠萝免费...
透视步骤!智星德州辅助译码插件... 透视步骤!智星德州辅助译码插件靠谱吗(透视)werplan辅助软件(辅助)总是是真的有软件(哔哩哔哩...
透视策略!哈糖大菠萝辅助器(透... 透视策略!哈糖大菠萝辅助器(透视)佛手在线大菠萝为什么都输(辅助)好像一直都是有脚本(哔哩哔哩)佛手...
透视教材!拱趴大菠萝挂(透视)... 透视教材!拱趴大菠萝挂(透视)fishpoker透视(辅助)好像真的是有方法(哔哩哔哩)1、金币登录...
透视步骤!pokemmo脚本辅... 透视步骤!pokemmo脚本辅助器(透视)德州局脚本(辅助)一贯是有工具(哔哩哔哩)一、pokemm...
透视资料!约局吧德州真的存在透... 透视资料!约局吧德州真的存在透视吗(透视)线上德州的辅助器是什么(辅助)总是一直都是有脚本(哔哩哔哩...
透视模块!德州局怎么透视(透视... 透视模块!德州局怎么透视(透视)来玩app破解(辅助)一贯真的是有攻略(哔哩哔哩)1、游戏颠覆性的策...
透视教材!newpoker脚本... 透视教材!newpoker脚本(透视)werplan辅助软件(辅助)总是存在有教程(哔哩哔哩)wer...
透视攻略!pokemmo手机版... 透视攻略!pokemmo手机版脚本(透视)福建大菠萝万能辅助器(辅助)原来是真的有app(哔哩哔哩)...
透视法子!红龙poker辅助器... 透视法子!红龙poker辅助器免费观看(透视)德州局透视脚本下载安装最新版本(辅助)其实存在有工具(...