LSL(Linden 脚本语言)允许使用 llParticleSystem 函数实现各种粒子效果。为了使基于粒子的非移动图像悬停在 prim 上,该函数的正确参数是什么?
(今天在 Script Academy 讨论组中提出了这个问题。我在这里重新发布问题和我的答案,以帮助更多 LSL 用户加入 Stack Overflow。)
LSL(Linden 脚本语言)允许使用 llParticleSystem 函数实现各种粒子效果。为了使基于粒子的非移动图像悬停在 prim 上,该函数的正确参数是什么?
(今天在 Script Academy 讨论组中提出了这个问题。我在这里重新发布问题和我的答案,以帮助更多 LSL 用户加入 Stack Overflow。)
以下脚本将使用在 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>);
}
}
}