Potrzebuję selektywnie pokazywać/ukrywać ponad 1000 linii o różnych rozmiarach, pozycjach i kolorach.Modyfikowanie wierzchołków w obiekcie THREE.BufferGeometry
Moja pierwsza próba uczyniła THREE.Geometry z nazwą dla każdego. Aby ukryć/pokazać, powtarzam po scenie i ukrywam/pokazuję na podstawie nazwy i mojej heurystyki. Wydawało się to bardzo powolne - około 50 Hz dla ~ 1000 linii.
Wykonałem test z podobnym podejściem, ale używając tylko jednego TRZECIA.Geometry do przechowywania wszystkich linii. To było znacznie szybsze, ale oczywiście mogę zastosować tylko jeden materiał do wszystkich linii, co nie jest dobre. Udało mi się ustawić odpowiednie flagi i zaktualizować pozycje linii podczas działania aplikacji.
Najlepszym podejściem wydaje się użycie TRZECH.BufferGeometry. Zrobiłem test, który był bardzo szybki i działał zgodnie z oczekiwaniami w początkowej konfiguracji, ale nie byłem w stanie zmienić pozycji/widoczności i koloru każdej linii później. Zrobiłem skrzypce JS, które to ilustrują - http://jsfiddle.net/SSnKk/ - ale wywołanie buffer_geometry.dynamic = true;
i buffer_geometry.verticesNeedUpdate = true;
nie sprawdziło się.
To działało idealnie - dziękuję Zachodni Langley. – speedwell
Po tym - chciałbym, aby linie zaczynały się od początku. Kiedy zmieniam lokalizację początkową, nie widzę tego, czego oczekiwałbym. Czy możliwe jest użycie geometrii bufora z zestawem linii na dowolnych pozycjach? Przykład: http://jsfiddle.net/9nVqU/ – speedwell
Proszę napisać nowy post z nowym pytaniem. – WestLangley