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