LlMakeFire/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Emblem-important.png 廃止済み
(この関数は廃止されています。代わりに llParticleSystem を使用してください。)

要約

関数: llMakeFire( integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset );

パーティクル状の炎を表現します。

• integer particles
• float scale
• float vel
• float lifetime
• float arc
• string texture
• vector offset

警告

  • この関数は 0.1 秒間、スクリプトを停止します。
  • この関数は廃止されています。代わりに llParticleSystem を使用してください。
All Issues ~ Search JIRA for related Bugs

サンプル

注意点

バージョン 1.14 以降、それまでの llMakeFire によるパーティクルと同等の表現が可能な llParticleSystem が用意されました。

llMakeFire(integer particle_count,
           float particle_scale,
           float particle_speed,
           float particle_lifetime,
           float source_cone,
           string source_texture_id,
           vector local_offset);
fakeMakeFire(integer particle_count, float particle_scale, float particle_speed,
             float particle_lifetime, float source_cone, string source_texture_id,
             vector local_offset)
{
//    local_offset is ignored
    llParticleSystem([
        PSYS_PART_FLAGS,            PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_EMISSIVE_MASK | PSYS_PART_WIND_MASK,
        PSYS_SRC_PATTERN,           PSYS_SRC_PATTERN_ANGLE_CONE,
        PSYS_PART_START_COLOR,      <1.0, 1.0, 1.0>,
        PSYS_PART_END_COLOR,        <1.0, 1.0, 1.0>,
        PSYS_PART_START_ALPHA,      0.50,
        PSYS_PART_END_ALPHA,        0.10,
        PSYS_PART_START_SCALE,      <particle_scale/2, particle_scale/2, 0.0>,
        PSYS_PART_END_SCALE,        <particle_scale, particle_scale, 0.0>,
        PSYS_PART_MAX_AGE,          0.5,
        PSYS_SRC_ACCEL,             <0.0, 0.0, 0.0>,
        PSYS_SRC_TEXTURE,           source_texture_id,
        PSYS_SRC_BURST_RATE,        5 / particle_count,
        PSYS_SRC_ANGLE_BEGIN,       0.0,
        PSYS_SRC_ANGLE_END,         source_cone * PI,
        PSYS_SRC_BURST_PART_COUNT,  1,
        PSYS_SRC_BURST_RADIUS,      0.0,
        PSYS_SRC_BURST_SPEED_MIN,   particle_speed,
        PSYS_SRC_BURST_SPEED_MAX,   particle_speed,
        PSYS_SRC_MAX_AGE,           particle_lifetime / 2,
        PSYS_SRC_OMEGA,             <0.0, 0.0, 0.0>
        ]);
}
//    既知の相違点
//    1) llMakeFire ではパーティクルの表示持続時間はランダムでした。
//       これは llParticleSystem では、それ単体では実現できません。
//    2) llMakeFire ではパーティクルはその表示中、大きくなり続けました。
//       表示持続時間が長い場合、llParticleSystem の限界である 4m よりもさらに大きくなりました。
//    3) llMakeFire ではいくつかの値が語義どおりの意味を持っていませんでした。
//       (例えば '''vel''' は秒速でなく、'''particles''' は本来のパーティクル数からかけ離れていました。)
//       ここで示した例では、近似の表現になるよう一定の比率をあてはめましたが、
//       場合によっては期待通りの表現になっていないかもしれません。
//    4) llMakeFire の設定と llParticleSystem の設定の差分を求めることはできません。
//    5) llMakeFire で使えた 'ポンプ' という手法は llParticleSystem では使えません。
//       すなわち、引数を設定して関数を 10 回呼び出すとパーティクルを 10 倍放出できるという手法は
//       llParticleSystem では使えなくなりました。

特記事項

Search JIRA for related Issues

Signature

function void llMakeFire( integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。