を移動し、私は一度、内部の私のJSONを読み込む場合は、頂点threejs私はthree.jsに新たなんだと私はパーティクルオブジェクト をロードする必要が二あまりに
に粒子を追加した場合、動作するようです2つの異なるロード呼び出しを使用し、それぞれが3つのオブジェクトを構築する場合は、各オブジェクトを個別に移動することができます。
これは私の関数です。私はアニメイトの中で呼び出すこと
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;
}
それは私が同じオブジェクトを2回ロードしてそのうちの1つを移動する必要があることは奇妙に思えます
私の機能ではテストと移動を凍結しますが、私は粒子を揺することです私はこの私が正しく質問を理解していれば、あなたはおそらくメッシュ上.clone()
オブジェクトを使用する必要が
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