ソラマメブログ
< 2024年05月 >
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Mail

2007年05月06日

ちらつくパーティクルの原因

ちらつくパーティクルの原因

ギャラリーの2Fで配布しているparticleProjector(しつこいPOPプロジェクター)に、場合によってチラチラと
断続的に画像が消えてしまう現象が確認されたので
原因はなんだろうと思い調べてみました。

ちらつくパーティクルの原因
(画面はイメージです。パーティクル表示が消えた時は画面上に何の絵もなくなります。)

どうやらこの現象は近くで他のパーティクルの描画が
派手めに行われている場合に起こるようです。
ちらつくパーティクルの原因
preferencesのDraw distanceの値を256など大きめの値にしてみると
画像のちらつきがかなり増えました。
最低の64にするとほぼなくなります。

lslWikiパーティクルページにこのような説明がある事から

Most clients are configured to display 4096 particles within their draw distance (default: 96 m). If the number of particles within your client's draw distance is close to the limit, you may not see your particles or only see it sporadically.


このちらつき現象は、設定された描画エリア内で4096近くのパーティクルが
表示されている事が原因でおきているのではないかと思われます。

激しくパーティクルを作りまくるとご近所さんに迷惑がかかるということですね。
自分の島であれば問題ないと思われますが…。

演出で瞬間的にパーティクル数を消費するのはしょうがないとして、
llListenの使いすぎ同様、継続的なパーティクル描画を行う演出は
控えたほうがよさそうです。

島の土地が16区画の分割なのであれば
自分の土地での同時発生パーティクルは
4096個/16区画=256個/区画
という事で256個程度まで、といったあたりがガイドラインとする事ができるでしょう。
(島全部のプリムを描画可能にしている人はそうはいないと思われますが。)

このparticleProjectorについては、5秒毎に1つのパーティクルしか
表示しない処理になっているので、
パーティクル数はほとんど消費していないはず、です。

particleProjectorでの画像ちらつきを防ぎたい場合は、
StableParicleモジュールのコードを変更することになりますが
パーティクルの寿命(PSYS_PART_MAX_AGE)を、
パーティクルの発射間隔(PSYS_SRC_BURST_RATE)の何倍かに設定し
同時に表示されるパーティクルの数を近所の迷惑がかからない程度…
3~10程度でしょうか…に増やすと良いと思います。

↓こんな感じに変更
//about a ptcl
float lifetime = 1.0;
dat += [PSYS_SRC_BURST_RATE,lifetime];
dat += [PSYS_PART_MAX_AGE,lifetime*3];// multiplied by 3.



同じカテゴリー(研究)の記事画像
とどまるパーティクル注意点
Tempオブジェクトの寿命
同じカテゴリー(研究)の記事
 とどまるパーティクル注意点 (2007-05-09 21:11)
 Tempオブジェクトの寿命 (2007-05-01 06:42)
Posted by harayoki at 02:07│Comments(2)研究
この記事へのコメント
よりにもよってイメージ画像コレカイ
Posted by mina jun at 2007年05月06日 03:31
ちょうどコレがキャプチャされまして…。
2枚目は違うでしょ?
Posted by harayoki at 2007年05月06日 04:11
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。