gpt4 book ai didi

three.js - 如何使用 Three.js 版本 54 隐藏/显示对象?

转载 作者:行者123 更新时间:2023-12-04 06:38:56 26 4
gpt4 key购买 nike

我已经将这个问题作为 Huge question 的一部分提出来,但建议分部分提出。这是我上一个问题的一部分。我之前的问题是:Here

我一直在使用 Three.js Release 50 并且能够在以下帮助下显示/隐藏对象(在我的应用程序中,它是一个网格子对象):

THREE.SceneUtils.traverseHierarchy(mesh,function(child){
var z = document.getElementById("cameras").selectedIndex*5 -10;
if (z === -10){
child.visible = true;
} else if (child.position.z !== z){
child.visible = false;
} else {

child.visible = true;
};
});

但是在使用release 54的时候,据说要使用,object.traverse却发现很难一样。如何使用版本 54 替换上述代码?我在使用 54 版时遇到的错误是:

enter image description here

请帮我解决这个问题。

最佳答案

您正在发送“traverseHierarchy”函数的“mesh”变量是 Object3d 吗?
如果是这样,您是否尝试过“mesh.children”,它应该返回一个子对象数组,或者您可以在网格对象上使用 traverse 函数。

见:http://mrdoob.github.com/three.js/docs/54/#Reference/Core/Object3D

mesh.traverse(function(child) {
var z = document.getElementById("cameras").selectedIndex * 5 - 10;
if (z === -10) {
child.visible = true;
} else if (child.position.z !== z) {
child.visible = false;
} else {
child.visible = true;
};
});

关于three.js - 如何使用 Three.js 版本 54 隐藏/显示对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14122919/

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