首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >three.js中的错误:-资料[json.type]不是构造函数

three.js中的错误:-资料[json.type]不是构造函数
EN

Stack Overflow用户
提问于 2016-10-26 12:28:09
回答 1查看 1.5K关注 0票数 0

我正在工作的网页应用程序,将渲染三维动画模型。这些模型是由“玛雅2016”制作的。我正在导出这些模型使用three.js (r81)‘玛雅出口商插件’(你可以在这里查看玛雅出口商插件)。链接,当我使用以下代码加载这个导出的json模型时:

代码语言:javascript
运行
复制
var objectLoader = new THREE.ObjectLoader(manager);
objectLoader.load( 'assets/New-Heart/full_heart.json', function (object) {            
    scene.add(object);
}, onProgress, onError );

然后给出了以下错误:Uncaught TypeError: Materialsjson.type不是three.js库文件中的构造函数 (var =新材料json.type ;),它位于第31381行。

请帮我解决这个问题。任何建议都是值得赞赏的。

EN

回答 1

Stack Overflow用户

发布于 2016-10-26 16:01:21

今天早些时候我遇到了这个错误。最后,我检查了我传递的json对象中的json.type是什么,以确定它是否与材料对象中的任何类型相匹配。这是一个来自R72的旧对象文件,它返回的类型是"MeshFaceMaterial“。但是这种类型在R82中不再存在。下面是带有ThreeJs R82中的材料列表的对象。如果您的类型不在这里,这就是您得到错误的原因。

代码语言:javascript
运行
复制
var Materials = Object.freeze({
    ShadowMaterial: ShadowMaterial,
    SpriteMaterial: SpriteMaterial,
    RawShaderMaterial: RawShaderMaterial,
    ShaderMaterial: ShaderMaterial,
    PointsMaterial: PointsMaterial,
    MultiMaterial: MultiMaterial,
    MeshPhysicalMaterial: MeshPhysicalMaterial,
    MeshStandardMaterial: MeshStandardMaterial,
    MeshPhongMaterial: MeshPhongMaterial,
    MeshNormalMaterial: MeshNormalMaterial,
    MeshLambertMaterial: MeshLambertMaterial,
    MeshDepthMaterial: MeshDepthMaterial,
    MeshBasicMaterial: MeshBasicMaterial,
    LineDashedMaterial: LineDashedMaterial,
    LineBasicMaterial: LineBasicMaterial,
    Material: Material
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40262324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档