gpt4 book ai didi

javascript - 三个js从导入的模型中获取子对象

转载 作者:行者123 更新时间:2023-11-29 15:17:05 26 4
gpt4 key购买 nike

我导入了一个包含几个子对象的 3D 模型,现在我想要一个特定的子网格。

当我使用 .getObjectByName("Cylinder", true) 时,我总是返回 undefined,尽管模型有一个具有指定名称的子对象:

enter image description here

有没有办法获取子对象?

最佳答案

一段代码会很有用,但有一个很常见的 issue当您尝试在实际加载之前访问模型属性时发生。

在模型实际加载之前,您无法访问它的属性。

我建议监听 model-loaded 事件,gltf-model , 和 obj-model .它应该像这样工作:

<script>
AFRAME.registerComponent("modelhandler", {
init:function() {
this.el.addEventListener("model-loaded", (e)=>
let child = obj.getObjectByName( "Cylinder", true );
console.log(child);
});
}
</script>

<a-entity gltf-model="url(/path/to/model.gltf)" modelhandler></a-entity>

如果这不起作用,您也可以尝试将超时设置为 5 秒(99% 的立方体和球体将在 5 秒内加载),然后尝试抓取子对象。尝试在组件中放置类似这样的内容:

setTimeout(()=>{
let child = obj.getObjectByName( "Cylinder", true );
console.log(child);
}, 5000});

否则,至少您会知道问题与加载无关。

关于javascript - 三个js从导入的模型中获取子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48059965/

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