gpt4 book ai didi

javascript - THREE.JS GLTFLoader,使用工作灯加载 blender 场景

转载 作者:行者123 更新时间:2023-12-03 17:31:03 24 4
gpt4 key购买 nike

我刚开始使用新的 blender 导出器 here 测试来自 THREE.js 的 GLTFLoader ,并且我能够添加具有(至少相同颜色) Material 的模型,并且当我将导入的场景添加到 THREE.js 场景时,网格被很好地导入,当我将它记录到控制台时,我也看到了还导入了默认 blender 场景中的相机和灯光。

但是,我必须手动添加一个 THREE.js 灯才能看到任何东西,所以导入的灯似乎只被识别为 3D 对象。是否有某种方法可以自动使导入的灯光工作,或者您是否必须以编程方式在导入的“灯光”对象的位置添加三个.js 灯光?如果是这样,有没有办法匹配来自 blender 的太阳光和点光源,并让它们面向正确的方向?还是有一些内置的方法可以做到这一点?

顺便说一句,这是我必须到目前为止的代码(仍然没有添加所有灯光支持):

function automaticallyAddLightsTo(inputScene) {
inputScene.children.forEach((x) => {
var light = new THREE.DirectionalLight( 0xffffff, 0),//placeholder
isActuallyALight = false;
if(x.name.includes("Sun")) {
light = new THREE.DirectionalLight( 0xffffff, 1);
isActuallyALight = true;
} else if(x.name.includes("Point")) {
light = newTHREE.PointLight( 0xffffff, 1, 100);
isActuallyALight = true;
} //etc for other lights
light.position.copy(x.position);
light.rotation.copy(x.rotation);
light.scale.copy(x.scale);
light.quaternion.copy(x.quaternion);
if(isActuallyALight)
s.add(light);
});
}

但我如何检测强度?

最佳答案

也许这有助于 blender 灯:

renderer.physicallyCorrectLights = true;

关于javascript - THREE.JS GLTFLoader,使用工作灯加载 blender 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54002975/

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