我为Three.js使用ShaderParticleEngine库来创建粒子发射器。Three.js/ShaderParticleEngine - SPE.Group.tick错误的三角参数?
我在互联网上挑选了几个代码片段,使其具有工作发射器。首先,我认为这是行不通的。
但事实上,发射器显示在地图上,但一个静止的粒子在屏幕上。 经过一番调试,我发现粒子在移动,但无限缓慢。我需要使用tick(delta * 1000)
来查看运行中的发射器。结果是相当丑陋(充满空白,单独的粒子)。 我没有低FPS的问题。
我发现的唯一解决方案是删除tick函数调用中的delta参数:particleGroup.tick()
。
结果是改善了,但自己还是欺骗,法官:
在线发射编辑:
我的结果:
我无法理解。我使用库示例中提出的相同代码,并在发射器编辑器中使用导出功能。 如果我尝试其他变化(例如,对粒子寿命/速度),我在我的游戏中得到了非常不同的结果,也许粒子寿命计算不正确,因为没有给出三角参数?
我的游戏循环:
30.0000010000003385357559 9.999985195463523e-7 30.0000020000006770715117 0.0000010000003385357559 30.0000020000006770715117 0.0000010000003385357559 0.0000020000006770715117 30.0000010000003385357559:
var animate = function() {
requestAnimationFrame(animate);
render();
stats.update();
};
var render = function() {
time = ctx3d.clock.getElapsedTime();
delta = ctx3d.clock.getDelta();
particleGroup.tick(delta);
if(ctx3d.move)
{
ctx3d.ship.position.z += delta * 500 * 3000;
//ctx3d.camera.position.x = ctx3d.ship.position.x;
//ctx3d.camera.position.z = ctx3d.ship.position.z;
}
ctx3d.renderer.render(ctx3d.scene, ctx3d.camera);
}
三角洲循环值循环0.000002999999196617864 0.0000010000003385357559 9.999985195463523e-7 0.000002999999196617864 0.0000010000003385357559 0.000001999998858082108 0.0000010000003385357559 20.0000020000006770715117 9.999985195463523e-7 0.0000010000003385357559
对不起,我没有适合您的解决方案。但是如果点从左向右移动,底部的将是一个很棒的'脉冲喷射'粒子发射器。你可以在任何地方窥视它吗? – gnarbarian 2014-11-03 21:40:41
哈哈:) 你能重新表达你的最后一句话吗? (我是法国人,我的英语有点差。) 如果我明白你想在网上看到它?恐怕图形结果取决于很多机器,这是时间和增量的问题。 – 2014-11-03 21:51:57
你完全理解。无论如何,我仍然喜欢在jsfiddle或其他东西上看到它。 :)你在使用什么在线发射器编辑器? 你在做什么? – gnarbarian 2014-11-03 22:17:07