У меня есть PointCloud, называемый «облаком» с центром в (0,0,0) с примерно 1000 вершинами. Позиции вершин обновляются с помощью вершинного шейдера. Теперь я хотел бы распечатать каждую позицию вершины на консоли каждые несколько секунд из цикла визуализации.Вершины вершин PointCloud всегда верны (0,0,0)
Если я осмотреть вершины точки помутнения, используя
console.log(cloud.geometry.vertices[100])
в визуализации цикла, я всегда получаю вершину со всеми нулями, которые я могу видеть все частицы проносясь вокруг не так.
Я смотрел на эту аналогичную должность: How to get the absolute position of a vertex in three.js? и попытался
var vector = cloud.geometry.vertices[100].clone();
vector.applyMatrix4(cloud.matrixWorld);
который еще дал мне вектор всех нулей (для всех вершин). Использование scene.matrixWorld
вместо cloud.matrixWorld
тоже не сработало.
Я также пробовал использовать cloud.updateMatrixWorld()
и scene.updateMatrixWorld()
. Наконец, я попытался установить cloud.geometry.vertexNeedsUpdate = true
.
До сих пор все советы, которые я видел, использовали выше, но никто из них не работает для меня. У меня такое ощущение, что массив просто не обновляется с правильными значениями, но я не знаю, почему это так. Есть идеи?
Я задавался вопросом об этом. Делает совершенный смысл. Благодарю. – tschie