Three.js 无后台导入gltf
Three.js Importing gltf without a background
Three.js(我正在使用)上有 2 个示例场景,正在教授如何导入 gltf 模型。
两者都使用 RGBELoader 函数,它会初始化背景。
new RGBELoader()
.setDataType( THREE.UnsignedByteType )
.setPath( 'textures/equirectangular/' )
.load( 'venice_sunset_2k.hdr', function ( texture ) {
var cubeGenerator = new EquirectangularToCubeGenerator( texture, { resolution: 1024 } );
cubeGenerator.update( renderer );
//background = cubeGenerator.renderTarget;
var pmremGenerator = new PMREMGenerator( cubeGenerator.renderTarget.texture );
pmremGenerator.update( renderer );
var pmremCubeUVPacker = new PMREMCubeUVPacker( pmremGenerator.cubeLods );
pmremCubeUVPacker.update( renderer );
envMap = pmremCubeUVPacker.CubeUVRenderTarget.texture;
pmremGenerator.dispose();
pmremCubeUVPacker.dispose();
我现在想要在不加载该背景的情况下获得一个空背景(或只是一个地面或 smth)。
注释代码中的 "background" 行可以看到我的对象而不是背景,但应该没有必要加载背景纹理。当我 commenting/deleting 更多东西时,我的对象没有纹理。
如何才能看到 helmet/boombox(示例场景中的示例对象 "gltf loader")并摆脱背景?
我知道这与 "envmap"..
有关
but it should be unnecessary to load the textures for the background.
立方体纹理也用于 glTF 模型的环境贴图。所以如果你真的要删除它,你必须删除webgl_loader_gltf中的以下代码部分。
gltf.scene.traverse( function ( child ) {
if ( child.isMesh ) {
child.material.envMap = envMap;
}
} );
但是,这样做时头盔会或多或少变暗,因为环境贴图是场景中唯一的(间接)光源。然后您可能想要添加环境光和平行光或点光。
three.js R109
Three.js(我正在使用)上有 2 个示例场景,正在教授如何导入 gltf 模型。
两者都使用 RGBELoader 函数,它会初始化背景。
new RGBELoader()
.setDataType( THREE.UnsignedByteType )
.setPath( 'textures/equirectangular/' )
.load( 'venice_sunset_2k.hdr', function ( texture ) {
var cubeGenerator = new EquirectangularToCubeGenerator( texture, { resolution: 1024 } );
cubeGenerator.update( renderer );
//background = cubeGenerator.renderTarget;
var pmremGenerator = new PMREMGenerator( cubeGenerator.renderTarget.texture );
pmremGenerator.update( renderer );
var pmremCubeUVPacker = new PMREMCubeUVPacker( pmremGenerator.cubeLods );
pmremCubeUVPacker.update( renderer );
envMap = pmremCubeUVPacker.CubeUVRenderTarget.texture;
pmremGenerator.dispose();
pmremCubeUVPacker.dispose();
我现在想要在不加载该背景的情况下获得一个空背景(或只是一个地面或 smth)。
注释代码中的 "background" 行可以看到我的对象而不是背景,但应该没有必要加载背景纹理。当我 commenting/deleting 更多东西时,我的对象没有纹理。
如何才能看到 helmet/boombox(示例场景中的示例对象 "gltf loader")并摆脱背景? 我知道这与 "envmap"..
有关but it should be unnecessary to load the textures for the background.
立方体纹理也用于 glTF 模型的环境贴图。所以如果你真的要删除它,你必须删除webgl_loader_gltf中的以下代码部分。
gltf.scene.traverse( function ( child ) {
if ( child.isMesh ) {
child.material.envMap = envMap;
}
} );
但是,这样做时头盔会或多或少变暗,因为环境贴图是场景中唯一的(间接)光源。然后您可能想要添加环境光和平行光或点光。
three.js R109