【问题标题】:Java script preload contents three.jsJavascript 预加载内容three.js
【发布时间】:2014-04-09 00:35:58
【问题描述】:

只是我想用一个栏或任何在我的three.js项目或JavaScript中真正的内容预加载内容应该没问题,我熟悉动作脚本来完成这项任务,但似乎无法管理这个javascript:

代码如下:

    var loader = new THREE.OBJMTLLoader(); 
    loader.load( 'myobject.obj', 'myobject.mtl', function ( object ) {
    for(k in object.children){
        object.children[k].position.z =-5;
        console.log("position Changed");
     }
     scene.add( object );
     console.log("the item is loaded");

我已经查看了加载程序示例与 three.js 示例文件有关,但我真的没有很好地遵循它,有没有办法检查文件大小与收到的文件字节并用上面的方法实现它,我试过了,但是回报欠佳。也欢迎使用 Jquery

【问题讨论】:

  • 尝试:loader.load( url, mtlurl, onLoad, onProgress, onError ) 并查看相关问题stackoverflow.com/questions/21655100/…
  • 我一直在尝试使用它,但它无法实际显示模型,对象函数没有按预期执行

标签: javascript jquery three.js


【解决方案1】:

我也有类似的问题。我创建了一个Array 来预加载和存储所有对象。传递并返回currentId,以便之后能够存储它们。在Objects3DListJson 我把Paths 的信息放在了

for (var curobj = 0; curobj < Objects3DListJson.length; curobj++) {
    loaderMTL.load(curobj, ObjPath, mtlPath, function (object, currentID) {
        var obj3D = new Obj3D(Objects3DListJson[currentID].ObjectName, object)
        objects3D.push(obj3D);
    }
}

当然,我更改了OBJMTLLoader 以返回当前 ID。我希望这对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    相关资源
    最近更新 更多