首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >three.js中的JSONLOADER

three.js中的JSONLOADER
EN

Stack Overflow用户
提问于 2017-04-18 12:28:05
回答 1查看 298关注 0票数 0

我使用JSONloader在three.js中加载模型,它工作得很好,唯一的问题是步骤或甚至文档,这将帮助我预先加载纹理(这是图像),以便我创建一个交互(用鼠标点击切换图像)。

代码语言:javascript
运行
复制
var loader = new THREE.JSONLoader(),
    callbackKey = function(geometry,materials) {createScene(geometry,materials,0, 0, 0, 25)};
    loader.load("3dmodel/Converse_obj/converse_obj.js", callbackKey);

    window.addEventListener('resize', onWindowResize, false);


}


function createScene(geometry,materials, x, y, z, scale) {

    zmesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));
    zmesh.position.set(x, y, z);
    zmesh.scale.set(scale, scale, scale);
    meshes.push(zmesh);
    scene.add(zmesh);


}
EN

回答 1

Stack Overflow用户

发布于 2017-04-19 10:15:56

解决这个问题的方法有很多,可能与three.js没有太多关系。

LoadingManager类包含三个类,我相信它是这样的:

代码语言:javascript
运行
复制
function onAllMyTexturesLoaded () {...}
function onSingleTextureLoaded() {...}
myTextureManager = new THREE.LoadingManager( onAllMyTexturesLoaded , onSingleTextureLoaded , onError )

myTextureLoader = new THREE.TextureLoader( myTextureManager ) 

加载完所有纹理后,即可开始加载网格。通过这个加载器加载的任何东西都应该触发这些回调。

你也可以把纹理id放在字典里,当它们进来的时候把它们标记为true,遍历键,看看它们是否都是真的,然后触发一个事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43463579

复制
相关文章

相似问题

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