【问题标题】:Three.js - Problems loading multiple scenes with SceneLoaderThree.js - 使用 SceneLoader 加载多个场景时出现问题
【发布时间】:2015-01-09 18:08:24
【问题描述】:

我正在使用 SceneLoader 加载从 Blender 导出的对象。每个对象都作为自己的场景导出,因为它们每个都有多个网格和每个网格的材质。当我使用单个 Blender 导出测试 SceneLoader 时,它运行良好。但是,当我多次使用 SceneLoader 进行多次导出时,有时会出现以下错误:

Uncaught TypeError: Cannot read property 'opacity' of undefined    SceneLoader.js:1122

我没有在每个对象上都收到错误,但每次我刷新页面时,都会发生相同的对象。 当我为每个对象创建一个新的 SceneLoader 时,甚至会发生这种情况。我意识到它可能不打算加载多个场景,但如果可以的话,我希望它。

任何想法为什么会发生这种情况?

【问题讨论】:

  • 看起来这是一个 Chrome 问题。 Chrome 正在缓存 AJAX 请求,因此它正在加载我的 Blender 导出的旧版本。有什么方法可以强制 SceneLoader 加载文件,即使 Chrome 已经缓存了它?

标签: three.js


【解决方案1】:

有两种方法可以禁用评论中报告的问题的缓存:

  1. 使用隐身模式(不缓存)

  2. 在 Chrome 开发者工具(带有控制台等的东西)中,有一个选项可以在控制台打开时禁用缓存。

我们在做three.js开发时通常使用隐身模式。我认为更可靠,因为我至少有时会在开发时关闭并重新打开开发工具,但倾向于保持相同的窗口。隐身模式看起来不同,所以不要犯错误,以免意外地再次开始在缓存设置中工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多