gpt4 book ai didi

javascript - 如何在 Three.js 中加载 3D .obj 模型?

转载 作者:行者123 更新时间:2023-11-28 03:42:28 24 4
gpt4 key购买 nike

我是 Three.js 初学者。我在 Three.js 中创建了 3D obj 模型文件。如何将对象(3D .obj)返回到另一个函数?以及如何原始颜色可见 .obj 3D?

Javascript

this.draw3DObj = function (startX, startY, endX, endY, objType) {
switch (objType) {
case "window":
var loader = new THREE.OBJLoader();
var material = new THREE.MeshNormalMaterial({
color: 0xbcb9b1,
side: THREE.DoubleSide
});
loader.load('model/window.obj', function(object) {
object.traverse(function(child) {

if (child instanceof THREE.Mesh) {
child.material = material;
}

});
scene1.add(object);
object.position.x = width;
object.position.y = depth;
object.position.z = height;
},

function(xhr) {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},

function(error) {
console.log('An error happened');
}
);
break;
}
return object; // How to return?
};

最佳答案

不能直接返回对象,因为加载是异步的。传递给 loader.load 的第一个参数是一个回调,在加载对象时调用。在该函数的末尾,您可以调用另一个函数并传递该对象。

关于javascript - 如何在 Three.js 中加载 3D .obj 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48824687/

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