3

LSL(Linden 脚本语言)允许使用 llParticleSystem 函数实现各种粒子效果。为了使基于粒子的非移动图像悬停在 prim 上,该函数的正确参数是什么?

(今天在 Script Academy 讨论组中提出了这个问题。我在这里重新发布问题和我的答案,以帮助更多 LSL 用户加入 Stack Overflow。)

4

1 回答 1

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>);
       }
   }
}
于 2009-06-19T20:31:00.247 回答