Я новичок в three.js и мне нужно, чтобы загрузить объект частиц , кажется, работает, если добавить частицы на вершинахthreejs перемещение одного объекта перемещает второй слишком
если я загрузить мой JSon раз и внутри load() я строю 2 разных THREE.Points, когда я перемещаю первый второй, также перемещаюсь, если я использую 2 разных вызова нагрузки и внутри каждого из них я создаю объект THREE.Points, каждый объект может перемещаться отдельно
это i функция которые я вызываю внутри анимированные
function animateParticles(particleSystem, particleSystemOriginal, deltaTime) {
var vertsOriginal = particleSystemOriginal.geometry.vertices;
var verts = particleSystem.geometry.vertices;
for(var i = 0; i < verts.length; i++) {
var vertOriginal = vertsOriginal[i]; // original position
var vert = verts[i]; // cloud position
var vertOriginalY = vertOriginal.y;
var vertY = vert.y;
if (i==1) console.log("vertOriginalY " + vertOriginalY + " vertY " + vertY);
vert.y = vertY - (10 * deltaTime); // move
}
particleSystemOriginal.geometry.verticesNeedUpdate = true;
particleSystem.geometry.verticesNeedUpdate = true;
}
, мне кажется, странно, что мне нужно дважды загружать один и тот же объект, чтобы переместить один из них.
в моей функции i'just тестирование и перемещение голубя облака, но мне хотелось бы пожать частицы, поэтому мне нужно знать частицы исходное положение и установить частицы новое положение
EDIT 1
я загрузить свою модель, как этот
var loader = new THREE.JSONLoader();
loader.load('../3d-models/creati/mymodel-001.json', function(geometry, materials) {
var material = new THREE.MeshNormalMaterial();
var particleModelOriginal = new THREE.Mesh(geometry, material);
var particleModel = particleModelOriginal.clone();
/* build particle THREE.Points */
particleSystemOriginal = new THREE.Points(particlesOriginal, particleMaterial);
particleSystem = new THREE.Points(particles, particleMaterial);
//particleSystem = particleSystemOriginal.clone();
});
Вы также можете указать, как вы загружаете объект? – micnil