LSL(Linden Scripting Language)允许使用llParticleSystem函数进行各种粒子效果。为了使一个不动的基于粒子的图像悬停在prim上,有哪些正确的参数赋予该函数?
(今天在Script Academy讨论组中提出了这个问题。我在这里重新发布问题和答案,以帮助更多LSL用户进入Stack Overflow。)
答案 0 :(得分:4)
以下脚本将使用prim中内容中的第一个纹理,从粒子中创建一个静止的悬停图像。
ParticleImage(string tex, vector scale)
{
list params;
//set texture and size
params += [PSYS_SRC_TEXTURE, tex];
params += [PSYS_PART_START_SCALE, scale];
//make particles follow source
params += [PSYS_PART_FLAGS, PSYS_PART_FOLLOW_SRC_MASK];
//use drop pattern, which has no velocity
params += [PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_DROP];
llParticleSystem(params);
}
default
{
state_entry()
{
//make the prim invisible
llSetAlpha(0.0, ALL_SIDES);
if (llGetInventoryNumber(INVENTORY_TEXTURE))
{
string tex = llGetInventoryName(INVENTORY_TEXTURE, 0);
ParticleImage(tex, <1.0, 1.0, 0.0>);
}
}
}