我需要选择性地显示/隐藏 1000 多条不同大小、位置和颜色的线。
我的第一次尝试制作了一个 THREE.Geometry,每个都有一个名称。要隐藏/显示,我会根据名称和我的启发式遍历场景并隐藏/显示每个场景。这似乎很慢 - 大约 50Hz 约 1000 行。
我使用类似的方法进行了测试,但只使用了一个 THREE.Geometry 来保存所有线条。那要快得多,但当然,但我只能将一种材料应用于所有不好的线条。我能够在应用程序运行时设置正确的标志并更新线条的位置。
最好的方法似乎是使用 THREE.BufferGeometry。我做了一个非常快的测试,并且在初始设置中按预期工作,但之后我无法更改每条线的位置/可见性和颜色。我做了一个 JS fiddle 来说明它 - http://jsfiddle.net/SSnKk/ - 但是打电话buffer_geometry.dynamic = true;
并buffer_geometry.verticesNeedUpdate = true;
没有帮助。