我需要有选择地显示/隐藏1000行不同的大小,位置和颜色.
我的第一次尝试制作了一个THREE.Geometry,每个都有一个名字.隐藏/显示我迭代场景并隐藏/显示每个基于名称和我的启发式.这看起来非常慢 – 大约50Hz,大约1000线.
我使用类似的方法进行了测试,但只使用一个THREE.Geometry来保存所有的线条.那要快得多,但当然我只能将一种材料应用到所有不合适的线上.我可以在应用程序运行时设置正确的标志并更新行的位置.
最好的方法似乎是使用THREE.BufferGeometry.我做了一个非常快的测试,并按照预期的方式进行初始设置,但之后我无法改变每一行的位置/可见度和颜色.我做了一个JS小提琴,说明了它 – http://jsfiddle.net/SSnKk/ – 但是调用buffer_geometry.dynamic = true;和buffer_geometry.verticesNeedUpdate = true;似乎没有帮助.
解决方法
你需要打电话
buffer_geometry.attributes.position.needsUpdate = true; buffer_geometry.attributes.color.needsUpdate = true;
更新小提琴:jsfiddle.net/hjx3rLmt/1
three.js r.76