是否可以将几个动画对象放入Three.js场景?

时间:2017-07-20 07:48:50

标签: javascript three.js particle-engine

我对WebGL很陌生,我试图用动画蜡烛制作蛋糕。所以,我发现了这个例子:https://stemkoski.github.io/Three.js/Particle-Engine.html带有蜡烛火焰,并试图根据我的任务(蛋糕)改变代码。但我努力在同一个场景中创建几个火焰(我发现了一些如何创建立方体或球体的信息,但遗憾的是在这种情况下它没有用)。 据我所知,动画火焰显示在代码中:

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);
 }

但是当我尝试将不同的示例(从示例中冒烟)设置为一个实例时,所有其他实例的参数也已更改。无法弄清楚如何在不影响其他实例的情况下单独更改每个实例。

0 个答案:

没有答案