我有一个很大的网眼。完全在屏幕上渲染需要3-4秒。有没有一个three.js回调函数可以在渲染网格时调用?
const fbxLoader = new FBXLoader();
const model = await fbxLoader.load('xxx.fbx');
scene.add(model);
//
model.onRenderedCallback = () => { // do something } // callback like this ?发布于 2020-11-18 17:07:19
FBXLoader有一个内置的回调,用于在加载资源时进行回调。请看源代码of this demo
loader.load(
'models/fbx/Samba Dancing.fbx',
function ( object ) {
// This is your callback, add actions here
scene.add( object );
}
);然而,解析和上传FBX数据和纹理资源到GPU也可能需要一些时间,并且遗憾的是,当数据完成上传到GPU时没有回调。有一些方法可以缓解此延迟,您可以预编译材质和纹理,而不是等到第一帧:
WebGLRenderer.compile()将使用摄影机编译场景中的所有材质。这对于在第一个rendering.WebGLRenderer.initTexture()初始化给定纹理之前预编译着色器非常有用。用于预加载纹理,而不是等到第一次渲染https://stackoverflow.com/questions/64889269
复制相似问题