我遇到了three.js的问题。我有两个似乎相互冲突的粒子系统设置。
第一个场景加载没有问题,但是当第二个场景加载时,第一组粒子消失。如果第一个场景的其余部分仍然出现在整个场景中,那么这不会太混乱。
是否有一种简单的方法可以重命名或调用两组粒子?
我环顾四周但却无法找到答案。
我认为可能导致这种情况的一件事是PARTICLE_COUNT调用 - 这两个脚本都有这个功能......
一个是
var PARTICLE_COUNT = 15000;
var MAX_DISTANCE = 1500;
var IMAGE_SCALE = 5;
接着是
for(var i = 0; i < PARTICLE_COUNT; i++) {
geometry.vertices.push(new THREE.Vertex());
var star = new Star();
stars.push(star);
}
和第二个
AUDIO_FILE = 'songs/zircon_devils_spirit',
PARTICLE_COUNT = 250,
MAX_PARTICLE_SIZE = 12,
MIN_PARTICLE_SIZE = 2,
GROWTH_RATE = 5,
DECAY_RATE = 0.5,
BEAM_RATE = 0.5,
BEAM_COUNT = 20,
GROWTH_VECTOR = new THREE.Vector3( GROWTH_RATE, GROWTH_RATE, GROWTH_RATE ),
DECAY_VECTOR = new THREE.Vector3( DECAY_RATE, DECAY_RATE, DECAY_RATE ),
beamGroup = new THREE.Object3D(),
particles = group.children,
colors = [ 0xaaee22, 0x04dbe5, 0xff0077, 0xffb412, 0xf6c83d ],
t, dancer, kick;
接着是
dancer = new Dancer();
kick = dancer.createKick({
onKick: function () {
var i;
if ( particles[ 0 ].scale.x > MAX_PARTICLE_SIZE ) {
decay();
} else {
for ( i = PARTICLE_COUNT; i--; ) {
particles[ i ].scale.addSelf( GROWTH_VECTOR );
}
}
if ( !beamGroup.children[ 0 ].visible ) {
for ( i = BEAM_COUNT; i--; ) {
beamGroup.children[ i ].visible = true;
}
}
},
offKick: decay
});
dancer.onceAt( 0, function () {
kick.on();
}).onceAt( 8.2, function () {
scene.add( beamGroup );
}).after( 8.2, function () {
beamGroup.rotation.x += BEAM_RATE;
beamGroup.rotation.y += BEAM_RATE;
}).onceAt( 50, function () {
changeParticleMat( 'white' );
}).onceAt( 66.5, function () {
changeParticleMat( 'pink' );
}).onceAt( 75, function () {
changeParticleMat();
}).fft( document.getElementById( 'fft' ) )
.load({ src: AUDIO_FILE, codecs: [ 'ogg', 'mp3' ]})
Dancer.isSupported() || loaded();
!dancer.isLoaded() ? dancer.bind( 'loaded', loaded ) : loaded();
在大海捞针中丢失了一针#34;我知道......
但也许有人可以看到我的方式错误!
我已经尝试更新three.js的修订版,但是r47是最新的,因为我可以得到它 - 我对three.js和dancer.js的了解非常有限......
我也尝试创建一个jsfiddle - 但是最早的版本就是r54 jsfiddle在我把它放在一起时工作了......只显示了整个事情的一部分......而不是工作版本。 ..
但也许只是裸骨可能是......
这一个http://jsfiddle.net/wwfc/3L5z5mx ...... 用于文件min。&#39; s(驱动从一种形状到另一种形状的动画/移动粒子......
这一个http://jsfiddle.net/wwfc/v96L3kq ...... 是调用和设置音频反应粒子的那个...... 这是一个粒子(不是光束只是粒子)从最小的时候消失的。...
我可以看到两个脚本在哪里创建了冲突的粒子,但不知道如何解决它: - (
有什么明显的东西我需要解决吗?