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