gpt4 book ai didi

javascript - Three.js 无后台导入gltf

转载 作者:行者123 更新时间:2023-11-29 22:46:53 25 4
gpt4 key购买 nike

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)。

它可以在代码中注释“背景”行以查看我的对象而不是背景,但应该没有必要加载背景纹理。当我评论/删除更多内容时,我的对象没有纹理。

我怎样才能看到 Helm /音箱(示例场景“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;
}
} );

但是,由于环境贴图是场景中唯一的(间接)光源,因此执行此操作时 Helm 会或多或少变暗。然后您可能想要添加环境光和平行光或点光。

three.js R109

关于javascript - Three.js 无后台导入gltf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com