THREE.js JSONLoader 回调

2024-02-24

在 THREE.js 中,如果我多次调用 JSONLoader 来加载多个对象,如下所示(简化示例):

function init() {    
  var loader = new THREE.JSONLoader();    
  loader.load("mesh1.js", createScene);    
  loader.load("mesh2.js", createScene);
}    

function createScene( geometry ) {    
  if (geometry.filename == "mesh1.js") {    
    mesh1 = new THREE.Mesh( geometry, material );
    scene.add( mesh1 );    
  } else if (geometry.filename == "mesh2.js") {    
    mesh2 = new THREE.Mesh( geometry, material );
    scene.add( mesh2 );
  }
}

如何确定回调时返回了哪些网格,特别是当它们经常无序到达时?

我正在尝试使用单个通用回调函数处理多个返回的网格。返回的几何图形中是否有某些属性指示我可以测试的原始文件名?

或者也许有更优雅的方式?也许为每次调用创建一个新的 THREE.JSONLoader 对象将有助于回调函数确定哪个网格已到达?

我感谢任何帮助/想法!谢谢!


嗯,有一种比 WestLangley 提出的更通用的方法。

loader.load( "mesh1.js", meshloader("mesh1.js")); 
loader.load( "mesh2.js", meshloader("mesh2.js"));

then

function meshloader(fileName){
    return function(geometry){
        ...
    }
}

这样,您可以在每个加载的文件上添加标识符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

THREE.js JSONLoader 回调 的相关文章

随机推荐

  • 如何使用纯 CSS 自动调整图像大小以实现响应式设计?

    我尝试使用 CSS 属性自动调整图像大小max width 但它在 IE7 和 IE8 中不起作用 有没有办法在 IE7 和 IE8 中使用纯 CSS 自动调整图像大小 Use width inherit 使其能够在 IE8 中使用纯 CS
  • 检查环境变量是否已设置[重复]

    这个问题在这里已经有答案了 我正在编写一个shell脚本 我必须检查是否设置了环境变量 如果没有设置则必须设置它 有什么方法可以检查 shell 脚本是否已经设置了环境变量 有条件地分配变量 无论是否在环境中 的标准解决方案是 VAR fo
  • 在以下情况下最终会发生什么情况?

    如果我有以下代码 try some code catch Exception e some code finally 在以下情况下 finally 块会发生什么情况 如果发生任何已检查的异常 如果 System exit 被调用 如果发生任
  • 从 C 读取串行数据 (OSX /dev/tty)

    我正在尝试使用 C 从蓝牙条形码扫描仪 KDC300 读取数据 这是我到目前为止的代码 并且该程序成功建立了与扫描仪的蓝牙连接 但是当扫描条形码时 上没有显示任何输入屏幕 最终将用数据完成更多工作 但我们必须首先让它工作 对吧 这是程序 i
  • 如何使用 POI 解析 Excel 文件中的 UTF-8 字符

    我一直在使用 POI 成功解析 XLS 和 XLSX 文件 但是 我无法从 Excel 电子表格中正确提取特殊字符 例如中文或日文等 UTF 8 编码字符 我已经弄清楚如何从 UTF 8 编码的 csv 或制表符分隔文件中提取数据 但对 E
  • Twitter Bootstrap 嵌套网格放置列

    这可以在 Twitter Bootstrap 中使用相同的标记通过操作行 列类来完成吗 我已经为不同的尺寸设置了单独的标记 理想情况下 我想要一个标记 并使其针对较小的屏幕适当折叠 大视野 Two One
  • 支持作业批处理的排队系统(例如,一名工人同时处理多个作业)

    我正在寻找一个可以支持以下场景的排队系统 客户端添加一个作业 检查某个特定 url URL1 有多少 Facebook 点赞 客户端添加了另一个作业 检查 URL2 的相同信息 一名工作人员从队列中选取 1 到 50 个工作 网址 例如 如
  • VS Code Code Runner 不适用于 virtualenvs

    我无法让 Code Runner 扩展与 virtualenvs 一起使用 每当我尝试运行导入仅安装在 virtualenv 中而不是全局 Python 安装中的库的代码时 我都会收到导入错误 在终端中运行完全相同的代码是可行的 我使用的是
  • 生成 BKS 密钥库并存储应用程序密钥

    我应该创建一个 BKS 密钥库并存储一个私有应用程序密钥 该密钥是一个 48 个字符长的字符串 我还有一个 JCEKS 密钥库 其中已包含此密钥值 如果我尝试使用 portecle 工具转换为 BKS 类型密钥库 则密钥条目会丢失 我是 J
  • 为什么我的程序集需要按特定顺序加载?

    我正在编写一个简单的插件并偶然发现contractType IsAssignableFrom pluginType https msdn microsoft com en us library system type isassignabl
  • 为 nltk 解析树生成语法规则

    如果我有这句话 Mary saw a dog 以及以下内容 pos tags NNP VBD DT NN 是否可以生成这句话的语法规则 以便可以生成解析树 下面的语法是使用的语法规则nltk parse cfg sent Mary saw
  • R 中的 strptime 错误:输入字符串太长

    我似乎无法将数据从 csv 转换为正确的日期类 我使用的是包含 1033 个日期的 csv 我已将 CSV 保存为 YYYYMMDD 格式 这是我导入 csv 的代码 似乎有效 bd lt read csv birthdaysExample
  • 用其内容替换组件 - 角度 2 [重复]

    这个问题在这里已经有答案了 我正在寻找一种方法来拥有仅以其内容呈现的组件 例如 给定组件 Component selector my cmp template div my cmp div class MyComponent 使用 angu
  • Google Analytics 缺少analytics.js 脚本

    我被困在复制谷歌分析跟踪代码问题上 看起来 Google Tag Assistant 没有考虑我从为网站生成的 GA 跟踪 JS 中复制的代码 该网站位于http www orchid co nz http www orchid co nz
  • 如何让用户保持登录状态?迅速

    我正在使用 firebase 进行登录 我需要知道如何保持登录状态直到注销 我听说过 UserDefaults 但我不确定如何使用它 这是我的登录视图控制器 import FirebaseAuth import FirebaseFirest
  • strip_tags 和 html_entity_decode 组合无法按预期工作

    从昨天起我一直在与这个问题作斗争 不幸的是没有任何效果 不完全是 我找到了某种解决方法 经过一些研究和重读文档后我仍然有点目瞪口呆和困惑 假设有一个丑陋的字符串 它已经有正确的 html 编码的特殊字符 像这样 exampleString
  • 是否可以在没有 Axon Server Enterprise 的情况下扩展 Axon Framework

    是否可以在没有 Axon Server 的情况下扩展 Axon Framework企业 我有兴趣使用 Axon 创建原型 CQRS 应用程序 但最终的可部署系统必须免收许可费用 如果 Axon Framework 无法使用免费软件扩展到六个
  • Java Android 激光条码扫描器

    我正在尝试开发一个能够读取条形码 1d 而不是 qr 的应用程序 真正的问题是 常见的条形码阅读器软件非常有用 但它们似乎太慢 无法作为非常频繁和常见的功能使用 这些条形码相当长 有 20 30 位数字 对于 zxing 等应用程序来说似乎
  • 从java中的plsql函数获取返回的记录类型

    我有一个plsql返回记录类型的函数challan rec create or replace package xx bal api as type challan rec is record challan number varchar2
  • THREE.js JSONLoader 回调

    在 THREE js 中 如果我多次调用 JSONLoader 来加载多个对象 如下所示 简化示例 function init var loader new THREE JSONLoader loader load mesh1 js cre