Module Particle Systems(粒子(パーティクル)システム)

訳注:

粒子システム・モジュールには、例えば、松明(トーチ)などなら、炎、煙、火の粉、ぼやけ(グロー)のためのレコードがあります。浅瀬を歩く時の水しぶきなども定義されています。その他、銃器の火炎、料理の湯気、雪や雨、海の泡、差しこむ月明り、落ちる葉など。

module_particle_systems.py 冒頭に書かれた指定方法
粒子(パーティクル)システムのレコードには下記の項目がある。
(1) 粒子システム ID。他のファイルから このレコードを特定するために使われる。
    ID の手前に接頭子 psys_ が自動的に付加される。
(2) フラグ群 (int)。指定可能なフラグは header_particle_systems.py を参照のこと。
(3) メッシュ名。
(4) 密度。1 秒間に放射(放出)される粒子の数。
(5) 寿命。各粒子が消えるまでの時間(秒)
(6) 減速度。(空気抵抗などによって減速する度合い。
(7) 重力。重力で落下する効果。(負値なら粒子が浮揚)
(8) 乱気流の範囲。乱数による気流の広さ(m)
(9) 乱気流の強さ。粒子が影響を受ける度合い。

下記 5 つの対は それぞれが「(時間, 度合い)」というキーを 2 つずつ含む。つまり、(a, b),(c, d) という形。例えば、スケール・キーが (0.3, 0.6) なら、各粒子の大きさが時間 0.3 で 0.6 になる。time=0 が生成、time=1 が粒子の終了を意味する。「度合い」は 2 つのキー間で補間され、キーを越えると一定のままになる。ただし、アルファは例外的に常に time 0 の時に 0 から始まる。
(10),(11) アルファ・キー。(不透明度)
(12),(13) 赤キー。
(14),(15) 緑キー。
(16),(17) 青キー。
(18),(19) スケール・キー。(拡縮)

(20) 放射ボックス・サイズ。粒子が放射されるボックスの寸法。
(21) 放射速度。粒子の初速度。
(22) 放射方向乱数性。
(23) 回転速度。粒子の角速度(度/秒)の初期値。
(24) 回転減衰。粒子の回転が時間を追って遅くなる度合い。

module_particle_systems.py (未記入)

フラグ群

粒子システムのレコードには、下記のようなフラグを指定できる。

psf_2d_turbulance (未記入)
psf_always_emit 常に放射(放出)させる。
psf_billboard_2d (未記入)
psf_billboard_3d (未記入)
psf_billboard_drop (未記入)
psf_emit_at_water_level (未記入)
psf_global_emit_dir (未記入)
psf_next_effect_is_lod (未記入)
psf_randomize_rotation (未記入)
psf_randomize_size (未記入)
psf_turn_to_velocity (未記入)

その他の注意点

(要整理)

粒子システムの数字の意味。 fisheye, Modding Q&A

set_position_delta の機能。 bryce777 (credit), Modding Q&A

ミッションの途中での particle_system_add_new。 fisheye, Modding Q&A

グロー発光する(ぼんやりと光る)武器。 Somebody, Modding Q&A

放射速度(Emit velocity)と psf_turn_to_velocity。 ithilienranger (credit), Modding Q&A

ライトセイバーをグロー発光させようとしているが「刃」に沿わない、ほか。psf_billboard_2d と psf_billboard_3d を 0 にしたのでは全ての粒子に影響してしまうので、粒子のレコードから指定を外すのがよい。何人かの投稿。 Modding Q&A

particle_system_burst はサーバ側で使えるが、particle_system_add_new と particle_system_emit は使えない。 cmpxchg8b, Modding Q&A

粒子システムの効果は、指定した場所の周りに様々な(色の)ブレンドと回転を備えた大量のメッシュ(通常は平面)を表示。module_particle_systems.py で定義され、メッシュを参照する(BRF ファイルにメッシュ参照を含めること)。 Somebody, Modding Q&A

「particle_system_add_new と particle_system_emit の両方指定」と「particle_system_add_new だけ指定」の違いはあるのか。 cmpxchg8b, Modding Q&A

粒子システムが「見える」条件。画面内にあることと、LOD でないほうの通常のメッシュを表示していること。 Patta (credit?), Modding Q&A

ixmesh_carry を使えば、装備を外すときにゲームがメッシュをリロードするようになるので、粒子システムが解除される。 質問 Specialist, Modding Q&A、回答 Vornne, Modding Q&A(訳注: 質問の投稿では画像で症状を説明していて、その画像がリンク切れしているので、何をどうしたいのかは想像するしかない。どうやら、トーチ(松明)を手放すと同時に発光を外したいのに外れない、ということらしい。)

粒子システムに関する いくつかの議論。 何人かの投稿。 Fixing Gun Muzzle Effect Particle Systems (HELP)

発砲時の(銃口/砲口からの)閃光と煙。「物品」の「トリガー群」を使って、ti_on_weapon_attack 発火時に (particle_system_burst,"psys_musket_smoke",pos1,10), (particle_system_burst,"psys_firearm_flash",pos1,15) のように命令を記述。 Coal Field (credit?), Modding Q&A

マルチ・プレイヤー時、サーバ側で実行する particle_system_burst 命令は、ネットワーク送信の効率を高めるために充分に近いプレイヤーにのみ送信するようにする。さもないと土埃が上がるたびに 200 人のプレイヤーに送信することになる。 Vornne and cmpxchg8b, Modding Q&A

火の色を変えようとしてテクスチャの色を変えたが効かない。粒子の色を変えるには、粒子システムのレコードで指定する。 Particle system values, jacobhinds, Modding Q&A

カメラの画角内に非常に多く(恐らく 100 以上)の粒子システムがあると、そのうちのいくつかが消えてしまう。数に制限があるとしたら、迂回可能か? 消えるかどうかは、個々の粒子への見通し線ではなく、放射点までの距離(場合によっては見通し)による。 jacobhinds, Modding Q&A, and Somebody, Modding Q&A

粒子システムのキー対の指定方法。赤キーが (0.0, 0.2), (1, 0.2) なら、その粒子の出始めは赤が 20 %、寿命が来た時にも赤が 20 %。質問 Modding Q&A、回答 Docm30 (credit?), Modding Q&A

「寿命」の項目は、各粒子が生まれてから消えるまでの実時間の間隔。 _Sebastian_, Modding Q&A

シーン小道具「city_smoke」の粒子システムは、夜にのみ表示されるようにスクリプト化されたもの。昼バージョンを作ろうと思えば簡単にできる。 Abhuva (credit), Nordous' Sceners Guild