gpt4 book ai didi

javascript - 如何从 gltf 对象获取几何图形

转载 作者:行者123 更新时间:2023-11-30 19:28:28 29 4
gpt4 key购买 nike

我用three.js通过gltfloader得到一个gltf,我想创建一个粒子系统。我需要获取几何对象,如何获取

function initModel() {

var planeGeometry = new THREE.PlaneGeometry(100, 100);
var planeMaterial = new THREE.MeshLambertMaterial({color: 0xaaaaaa,
side: THREE.DoubleSide});
var plane = new THREE.Mesh(planeGeometry, planeMaterial);
plane.rotation.x = -0.5 * Math.PI;
plane.position.y = -.1;
plane.receiveShadow = true;
scene.add(plane);

var loader = new THREE.GLTFLoader();
loader.load('./../model/scene.gltf', function (gltf) {
gltf.scene.scale.set(10,10,10);
//how to get the geometry?

});


}

最佳答案

您可以遍历模型来查找网格,或者在知道名称时使用 getObjectByName(MeshName),然后从网格中选取几何体。有点像

var geometry = getObjectByName('Plane001').geometry;

如果网格名称是Plane001

我有一个简单的辅助方法可以从一个对象中找到一个类型的所有子对象

findType(object, type) {
object.children.forEach((child) => {
if (child.type === type) {
console.log(child);
}
this.findType(child, type);
});
}

然后我会从加载程序调用 findType(gltf.scene, 'Mesh') 打印出模型中的所有网格

关于javascript - 如何从 gltf 对象获取几何图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56680582/

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