Javascript three.js SVGRenderer可以渲染OBJ文件吗?
我正在尝试用三个.js渲染一个OBJ文件 如果我使用WebGLRenderer,一切正常,但如果我尝试使用SVGRenderer或CanvasRenderer,我什么也得不到 我怀疑这与对象是使用网格构建的这一事实有关(请参见和) 是这样吗?有解决办法吗 以下代码段供参考:Javascript three.js SVGRenderer可以渲染OBJ文件吗?,javascript,three.js,Javascript,Three.js,我正在尝试用三个.js渲染一个OBJ文件 如果我使用WebGLRenderer,一切正常,但如果我尝试使用SVGRenderer或CanvasRenderer,我什么也得不到 我怀疑这与对象是使用网格构建的这一事实有关(请参见和) 是这样吗?有解决办法吗 以下代码段供参考: var j = 0; if (j === 0) { renderer = new THREE.WebGLRenderer(); renderer.setSize( r_width, r_height );
var j = 0;
if (j === 0) {
renderer = new THREE.WebGLRenderer();
renderer.setSize( r_width, r_height );
console.log(renderer.domElement );
} else if (j === 1) {
console.log('here');
renderer = new THREE.SVGRenderer();
renderer.setSize( r_width, r_height );
console.log(renderer.domElement );
renderer.setClearColor( 0xf0f0f0 );
renderer.setQuality( 'low' );
console.log(renderer.domElement );
} else if (j === 2){
renderer = new THREE.CanvasRenderer();
renderer.setClearColor( 0xf0f0f0 );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( r_width, r_height );
}
container.appendChild( renderer.domElement );
我显然使用j来切换渲染器。如果j为1或2,则不会渲染任何内容。我没有使用SvgRender,但示例的来源似乎表明它支持与其他渲染器相同的网格。CanvasRenderer也不工作的事实向我表明,您尝试动态更改渲染器的方式是您的问题所在。当页面第一次加载时,尝试使用画布或svg渲染器,看看效果如何。结果表明,场景渲染大约需要10秒——这就是为什么它看起来不起作用的原因。现在我知道了,并且更加耐心地等待。它仍然会完全冻结浏览器。我首先添加了一个setTimeout()