2014-12-12

重なったテクスチャーのチラチラの解決例

この記事は「セカンドライフ技術系 Advent Calendar 2014」に参加しています
12/24までまだまだ記事を募集していますので小ネタをお持ちの方、エントリーお待ちしております


テクスチャーを貼ったプリムを重ねて置くとチラチラしますよね
この現象はセカンドライフでは定番中の定番のストレスでもはやデフォの域なんですが
これがなかなかイライラする・・・

というわけで、今回はこの「テクスチャーのチラチラについての解決例」を2つ書いてみようと思います



今回は下のようなモノを例として使ってみようと思います



背景テクスチャーの手前に猫の柄の透過テクスチャーが重ねてある、といったオブジェクトです
(背景の2枚がテクスチャーアニメで切り替わっているのは、猫と背景のテクスがそれぞれ別物であることを伝えやすくするためです 本題とは関係ありません)


①同じ形のプリム同士の場合=リンクする


全く同じプリムを2つ作り、片方のプリムに背景テクスチャーを、もう一方のプリムに透過テクスチャーを貼ります


2つのプリムをぴったり同じに重ねてみます


案の定テクスチャーが干渉し合ってとってもチラチラしてしまいます


ここで、2つのプリムをリンクしてみましょう


するとテクスチャーがチラチラしなくなります(※注1)
びっくりするほどとっても簡単な解決法です しかしどういう原理なのかはまったくわかりません


2つのプリムの形が少しでも違うとテクスチャーはチラチラしてしまいます


また、同じ形に見えたとしても中心が違うとやはりテクスチャーはチラチラします
この方法を使うには2つのプリムが全く同じ形/大きさ/中心である必要があるようです


②違う形のプリム同士の場合=スクリプトを入れる


形・大きさ・中心が違う2つのプリムをリンクして1つのオブジェクトにしたものを用意しました


この場合も、表面をぴったり重ねると案の定テクスチャーがチラチラします


チラチラを回避するために猫柄のプリムをx方向に少し(0.01)ずらし、背景の面とぴったり重ならないようにしました
これでチラチラしなくなりました(※注2) と思いきや、


近くで見てる時は平気だったのに離れて見てみるとテクスがチラチラします


かといって離れて見た時にチラチラしなくなるほど背景と猫のプリムをずらすわけにもいかない・・・
そんな時は、


透過のプリムのほうにとあるスクリプトを入れてみます


テクスチャーがチラチラしなくなりました


遠くから見てもチラチラしません 原理はよくわかりません


さてこのスクリプトですが内容は「定期的に猫のプリムのサイズを変える」といういたって簡単なものです
(read more にテキスト記載)
今回はx方向に0.01のサイズ変更ですが、その時時で見た目に最も影響のない方向のサイズを変更すれば良いと思います
だだし、そもそも元のオブジェクトが小さい場合は少しのサイズ変更でも目立ってしまうのでこの方法は不向きかもしれません
またタイマーの間隔については、今回はテストなので30秒毎にセットしましたが頻繁に人が入れ替わり目に触れるオブジェクトでなければもっと間隔を伸ばすほうが良いかもしれません


以上、
重なったテクスチャーのチラチラの解決例2つ、
①同じ形のプリム同士の場合=リンクする
②違う形のプリム同士の場合=スクリプトを入れる でした


※注1:公式/firestormビューワーで確認 リログしてもサブアカから見ても有効でした
※注2:リンクした瞬間にチラチラしなくなる場合がありますが、リログしたりコピーを取ったりするとチラチラが復活するので注意です

2014-12-03

*partition_C

[NEW RELEASE]






[ ridi-ludi-fool ] *partition_C (red, black)


- 中華風 間仕切り

- メッシュ、1ランドインパクト

- 6タイプセット

- コピー可・編集可


2014-12-02

*partition_B

[NEW RELEASE]






[ ridi-ludi-fool ] *partition_B (red, black)


- 中華風 間仕切り

- メッシュ、1ランドインパクト

- 6タイプセット

- コピー可・編集可


2014-12-01

*partition_A

[NEW RELEASE]






[ ridi-ludi-fool ] *partition_A (red, black)


- 中華風 間仕切り

- メッシュ、1ランドインパクト

- 6タイプセット

- コピー可・編集可


TOP