Javascript 是否可以将多个动画对象放置到Three.js场景中?

Javascript 是否可以将多个动画对象放置到Three.js场景中?,javascript,three.js,particle-engine,Javascript,Three.js,Particle Engine,我是WebGL的新手,我正在尝试用动画蜡烛制作蛋糕。所以,我找到了这样的例子:使用蜡烛火焰,并试图更改代码,因为我的任务(蛋糕)。但我很难在同一个场景中创建几个火焰(我找到了一些如何创建立方体或球体的信息,但不幸的是,在这种情况下这是没有帮助的)。 据我所知,动画火焰显示在代码中: this.engine = new ParticleEngine(); engine.setValues( Examples.fountain ); engine.initialize(); 但我不知道如何同时创建

我是WebGL的新手,我正在尝试用动画蜡烛制作蛋糕。所以,我找到了这样的例子:使用蜡烛火焰,并试图更改代码,因为我的任务(蛋糕)。但我很难在同一个场景中创建几个火焰(我找到了一些如何创建立方体或球体的信息,但不幸的是,在这种情况下这是没有帮助的)。 据我所知,动画火焰显示在代码中:

this.engine = new ParticleEngine();
engine.setValues( Examples.fountain );
engine.initialize();
但我不知道如何同时创建5个不同的示例

UPD:我终于创建了几个实例,下面是我的代码:

var engines = [];
var coordinates = [
    {x:5, y:105},
    {x:-40, y:115},
    {x:-75,y:111},
    {x:37, y:117},
    {x:68, y:110}
];
coordinates.forEach(function(item, i){
   var params = clone(Examples.candle);
   params.positionBase = new THREE.Vector3(item.x, item.y, 10);
   var engine = new ParticleEngine();
   engine.setValues(instances[i]);
   engine.initialize();

   engines.push(engine);
 }

但是当我尝试将不同的示例(示例中的烟雾)设置到一个实例时,所有其他实例的参数都已更改。无法找出如何在不影响其他实例的情况下分别更改每个实例。

只需创建一个
ParticleEngine
数组,然后调用
new ParticleEngine()
5次即可?这听起来不像是一个与WebGL@UnholySheep谢谢我试着这么做,但不幸的是结果出乎意料——在适当的坐标系中没有5个蜡烛火焰,而是有一个超亮的(如果我模糊地定义它的话,很抱歉)。也许我最好让5个透明场景彼此重叠?您可以创建5个
ParticleEngine
实例,并使用它们的
positionBase
属性为每个实例设置所需的位置,例如:
engine.positionBase.set(0,10,0)@prisoner849,非常感谢!这就是问题所在,我尝试了5个实例,但有一个对象具有参数(不是5个不同的对象,忘记了对象“通过引用”复制)。现在一切按我所想的那样工作)只需创建一个
ParticleEngine
数组并调用
newparticleengine()
5次?这听起来不像是一个与WebGL@UnholySheep谢谢我试着这么做,但不幸的是结果出乎意料——在适当的坐标系中没有5个蜡烛火焰,而是有一个超亮的(如果我模糊地定义它的话,很抱歉)。也许我最好让5个透明场景彼此重叠?您可以创建5个
ParticleEngine
实例,并使用它们的
positionBase
属性为每个实例设置所需的位置,例如:
engine.positionBase.set(0,10,0)@prisoner849,非常感谢!这就是问题所在,我尝试了5个实例,但有一个对象具有参数(不是5个不同的对象,忘记了对象“通过引用”复制)。现在一切都按我所希望的那样进行了)