在ThreeJS与Matterport中渲染Ready Player Me Avatar质感偏平问题排查
问题:Ready Player Me Avatar导入ThreeJS/Matterport场景后质感偏平
我将Ready Player Me的GLB格式Avatar导入基于ThreeJS的Matterport场景,导入成功但Avatar渲染质感偏平,与Ready Player Me官网及基础GLTF Viewer的效果差异明显。
导入逻辑伪代码如下:
const gltfLoader = new THREE.GLTFLoader(); gltfLoader.load('https://api.readyplayer.me/v1/avatars/63580183b445da7aa57b9ce3.glb', (gltf) => { this.mesh = gltf.scene; const light = new THREE.AmbientLight( 0xFFFFFF, 1 ); light.castShadow = true this.mesh.add( light ); ... }, undefined);
WebGL部分可访问Matterport renderer,相关配置代码:
(renderer, THREE, effectComposer) => { renderer.outputEncoding = THREE.sRGBEncoding renderer.toneMapping = THREE.ACESFilmicToneMapping }
疑问:问题是否与抗锯齿、光照参数、纹理有关?

编辑于2022年11月12日:
感谢@Mugen87,我找到了在Matterport环境中使用GLTFLoader示例中EquirectangularShader的方法,以下代码可正常运行:
let pmremGenerator = new THREE.PMREMGenerator( this.context.renderer ); pmremGenerator.compileEquirectangularShader(); let envMap = pmremGenerator.fromScene( new THREE.RoomEnvironment() ).texture; this.context.scene.environment = envMap;
内容的提问来源于stack exchange,提问作者Jean-Philippe Encausse
相关产品推荐
相关产品推荐

