You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Three.js中ColladaLoader的parse方法如何正确使用?

Three.js ColladaLoader.parse() 无法加载模型的解决方法

问题出在你用json_encode()处理DAE文件内容的方式上:DAE是XML格式的文本文件,json_encode会对字符串进行JSON转义(比如将双引号转成\"),导致parse()接收到的不是有效的XML内容,自然无法正确解析。

修正后的代码

// 直接输出原始DAE内容,不要用json_encode处理
let fileContents = `<?= $decryptedContent; ?>`;
const loader = new ColladaLoader();
        
loader.parse(fileContents, function (collada) {
    const avatar = collada.scene;
    console.log(avatar);
    avatar.scale.set(1, 1, 1);
    avatar.position.set(0, 0, 0);
    scene.add(avatar);
});

关键说明

  • ColladaLoader.parse()要求传入原始的XML字符串,和load()方法从网络加载到的文件内容完全一致
  • 使用模板字符串`包裹PHP输出的内容,可以避免XML中的换行、引号等特殊字符破坏JS语法结构
  • 确保$decryptedContent是未经过转义的纯DAE文件原始内容

内容的提问来源于stack exchange,提问作者Andrey Lastovetskiy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:30:03