2007年06月23日
光源はプリムをどう照らすのか
まず、前置きを。
光源の表示は、OSやハード(ビデオカード等)に依存する部分が大きいので
人によって見え方が違う場合があります。
この記事と同じ検証を行っても、すべての人が「同じ結果を得られる」という確証はありませんので
あらかじめご了承ください。
というわけで、本題です。
光源数の制限に関する検証を行おうと、そのための装置を作っていて
光源からの「プリムの照らされ方」にムラがあることに気づきました。
フェイスライトを作っているときにも「どの設定値が照明効果にどのような影響をもたらすのか」が
イマイチわかりにくかったので、光源数の制限に関する検証を始める前に、単体光源について
基本的な情報を集めてみることにします。(・・・かなり大雑把ですが
光源の表示は、OSやハード(ビデオカード等)に依存する部分が大きいので
人によって見え方が違う場合があります。
この記事と同じ検証を行っても、すべての人が「同じ結果を得られる」という確証はありませんので
あらかじめご了承ください。
というわけで、本題です。
光源数の制限に関する検証を行おうと、そのための装置を作っていて
光源からの「プリムの照らされ方」にムラがあることに気づきました。
フェイスライトを作っているときにも「どの設定値が照明効果にどのような影響をもたらすのか」が
イマイチわかりにくかったので、光源数の制限に関する検証を始める前に、単体光源について
基本的な情報を集めてみることにします。(・・・かなり大雑把ですが
まず最初に作った装置がコレ(A)。

ボックスプリムから横幅10Mの白い板をつくって、1Mごとに目盛となる棒状のプリムを配置
したものです。これによって自分から光源プリムの距離とその明滅を確認しようという、簡単なもの。

で、実際に1個の光源プリムを10M離れた距離から1M毎に近づけてみると、画像(B)のように
「明らかに照らされ方にムラがある」ということがわかりました。
これはおそらく、この10Mの板を作成するために、もっともポリゴン数(平面のみで構成されている
ためサブディビジョンでもほとんど分割されない)の少ないボックスプリムを使ったことが原因だろう
と思います。(おそらく分割面の頂点が照明効果の基点になっているため)
※このムラの発生、SLworld内での光源そのものの位置が原因である可能性も考えられたので
光源を固定して「板のほうを動かす」方法でも確認してみましたが、結果はBとまったく同じでした。
多くの皆さんは、SL内での建築物作成にボックスプリムによる板を使用しているでしょうから、
もう少しこの「板の照明効果のムラ」について確認することにしました。
(曲面をもったプリムの場合はここまで照明効果のムラは出ないだろうと予測できますが
今回はその点の確認はスルーで^^;)
とりあえず、この確認のために使用した環境を列挙。
●4x4mのボックスプリムから作成した板(1m間隔で棒状のプリムを縦横に配置)
●光源1個(xyzすべて0.1m/テクスチャなし/プリム色=白/光源色=黄/強度1/半径1/弱さ0)
●環境光(=夜の明るさ)0
●公式の標準Viewer(1.17.0.12)
●WinXP Home SP2
●DX9世代のGeForce

Cの画像は、左側が光源の無い状態の確認用装置。
右側が光源を置いた状態です。(装置の形がわかるように、トーンカーブをいじって画像加工してます)

Dの画像は、板と光源の距離による照明効果の比較。
1個の光源を縦横1Mずつ数値入力で移動させてSSを撮り、後でPhotoShopのレイヤーとして
すべて取り込み、レイヤー特性を「比較(明るい)」に変更して合成したものです。
(合計25個の照明を一度に当てることは出来ませんからね^^;)
このDの一番右側の画像、もっとも顕著にムラが出ていますね。
板の中央(縦横の真ん中の目盛が交差している部分)のそばに光源が置いてあるのに
板はそれほど明るくなっていません。
このことから、照明効果を発揮する場所が「光源から一番近いプリムの面」ではないことが
わかります。

Dの一番右の画像の「明るく照らされている箇所」をさらにわかりやすくするために、トーンカーブを
いじってみたものがEの画像です。
縦横に3等分された箇所が明るくなっていることがわかります。
この記事の最初のほうで述べた「おそらく(サブディビジョンの)分割面の頂点が照明効果の
基点になっている」という仮説が正しいのではないかと思われます。
(つまり、光学的な計算で照明効果を表現しているのではなく、いわゆる頂点シェイダーを
利用しているということですね。)
今回わかったことは・・・
照明効果の対象となるプリムに光源を近づければ近づけるほど、「面上に点在する各頂点」と
「光源」との距離に差ができるのでムラがでやすい。
逆に言うと、対象のプリムから光源を離し、光源そのものの強度等を上げることでムラをでにくく
することができる、ということでした。
次回は、光源の各設定値による照明効果の違いを確認してみたいと思います。

ボックスプリムから横幅10Mの白い板をつくって、1Mごとに目盛となる棒状のプリムを配置
したものです。これによって自分から光源プリムの距離とその明滅を確認しようという、簡単なもの。

で、実際に1個の光源プリムを10M離れた距離から1M毎に近づけてみると、画像(B)のように
「明らかに照らされ方にムラがある」ということがわかりました。
これはおそらく、この10Mの板を作成するために、もっともポリゴン数(平面のみで構成されている
ためサブディビジョンでもほとんど分割されない)の少ないボックスプリムを使ったことが原因だろう
と思います。(おそらく分割面の頂点が照明効果の基点になっているため)
※このムラの発生、SLworld内での光源そのものの位置が原因である可能性も考えられたので
光源を固定して「板のほうを動かす」方法でも確認してみましたが、結果はBとまったく同じでした。
多くの皆さんは、SL内での建築物作成にボックスプリムによる板を使用しているでしょうから、
もう少しこの「板の照明効果のムラ」について確認することにしました。
(曲面をもったプリムの場合はここまで照明効果のムラは出ないだろうと予測できますが
今回はその点の確認はスルーで^^;)
とりあえず、この確認のために使用した環境を列挙。
●4x4mのボックスプリムから作成した板(1m間隔で棒状のプリムを縦横に配置)
●光源1個(xyzすべて0.1m/テクスチャなし/プリム色=白/光源色=黄/強度1/半径1/弱さ0)
●環境光(=夜の明るさ)0
●公式の標準Viewer(1.17.0.12)
●WinXP Home SP2
●DX9世代のGeForce

Cの画像は、左側が光源の無い状態の確認用装置。
右側が光源を置いた状態です。(装置の形がわかるように、トーンカーブをいじって画像加工してます)

Dの画像は、板と光源の距離による照明効果の比較。
1個の光源を縦横1Mずつ数値入力で移動させてSSを撮り、後でPhotoShopのレイヤーとして
すべて取り込み、レイヤー特性を「比較(明るい)」に変更して合成したものです。
(合計25個の照明を一度に当てることは出来ませんからね^^;)
このDの一番右側の画像、もっとも顕著にムラが出ていますね。
板の中央(縦横の真ん中の目盛が交差している部分)のそばに光源が置いてあるのに
板はそれほど明るくなっていません。
このことから、照明効果を発揮する場所が「光源から一番近いプリムの面」ではないことが
わかります。

Dの一番右の画像の「明るく照らされている箇所」をさらにわかりやすくするために、トーンカーブを
いじってみたものがEの画像です。
縦横に3等分された箇所が明るくなっていることがわかります。
この記事の最初のほうで述べた「おそらく(サブディビジョンの)分割面の頂点が照明効果の
基点になっている」という仮説が正しいのではないかと思われます。
(つまり、光学的な計算で照明効果を表現しているのではなく、いわゆる頂点シェイダーを
利用しているということですね。)
今回わかったことは・・・
照明効果の対象となるプリムに光源を近づければ近づけるほど、「面上に点在する各頂点」と
「光源」との距離に差ができるのでムラがでやすい。
逆に言うと、対象のプリムから光源を離し、光源そのものの強度等を上げることでムラをでにくく
することができる、ということでした。
次回は、光源の各設定値による照明効果の違いを確認してみたいと思います。
Posted by VoidLing at 22:09│Comments(6)
│Prim&Object
この記事へのコメント
こんにちは、ようやく見失ってたURLが発掘できました。
wikiではなくてKnowledgebaseを見ていたようです。
#SLのお陰でよくPCが落ちるのですが、私のFireFoxはトランザクションの回復がどうもバギーでうまく回復できないことが多いのです^^;
http://secondlife.com/knowledgebase/article.php?id=069
あらためて見てみると下のほうに 5. Light Priority という項目もありました。
ライトのリストを生成して、それぞれの Intensity で順位を付けてるようですね^^;
しかも毎フレーム計算してる、光の問題だから仕方ないのでしょうけど・・。
とりいそぎ、ご報告まで
wikiではなくてKnowledgebaseを見ていたようです。
#SLのお陰でよくPCが落ちるのですが、私のFireFoxはトランザクションの回復がどうもバギーでうまく回復できないことが多いのです^^;
http://secondlife.com/knowledgebase/article.php?id=069
あらためて見てみると下のほうに 5. Light Priority という項目もありました。
ライトのリストを生成して、それぞれの Intensity で順位を付けてるようですね^^;
しかも毎フレーム計算してる、光の問題だから仕方ないのでしょうけど・・。
とりいそぎ、ご報告まで
Posted by Asimon Jacks at 2007年06月24日 12:33
おおお、貴重な情報をありがとうございます!
公式の資料は英文なので避けていた(^^;)のですが、
そのものずばりの情報があったのですね。
この資料を簡単にまとめたエントリーをさっそく書きます^^
公式の資料は英文なので避けていた(^^;)のですが、
そのものずばりの情報があったのですね。
この資料を簡単にまとめたエントリーをさっそく書きます^^
Posted by Void Ling at 2007年06月24日 19:15
頭が痛くなりましたwww
すごいですね~、勉強になりますです^^
すごいですね~、勉強になりますです^^
Posted by Hisa Ihnen at 2007年06月27日 10:07
ヒサさん、お久しぶりです^^
いろいろあって、Qooを本拠地にすることになりそうです。
文京区の発展に協力できなくて、ホントにゴメンなさいm(_ _)m
いろいろあって、Qooを本拠地にすることになりそうです。
文京区の発展に協力できなくて、ホントにゴメンなさいm(_ _)m
Posted by Void Ling at 2007年06月28日 02:27
まぁまぁw
お気になさらず^^
Qooは実際人も多いですしね^^
でも、地下があるせいか、重くないデツカ??(ノДT;)
今日遊びに行ったんだけど、どこに何があるかもわからず、VoidPIT様どころか、雪月花すら見つけられずorz
地下に潜ったら天井に頭をぶつけ、階段を駆け上がろうとしたら、禁止事項の看板に顔をぶつけ、オイオイ泣きながらQooを後にしましたwwwww
いつか遊びに行きます&来てくださいね^^
お気になさらず^^
Qooは実際人も多いですしね^^
でも、地下があるせいか、重くないデツカ??(ノДT;)
今日遊びに行ったんだけど、どこに何があるかもわからず、VoidPIT様どころか、雪月花すら見つけられずorz
地下に潜ったら天井に頭をぶつけ、階段を駆け上がろうとしたら、禁止事項の看板に顔をぶつけ、オイオイ泣きながらQooを後にしましたwwwww
いつか遊びに行きます&来てくださいね^^
Posted by Hisa Ihnen at 2007年06月29日 16:00
私自身はそれほど重くは感じないんですが、知人のPCでもちょっと重かったみたいでした^^;
原因が地下にあるのかどうかはわかりませんが、SIMを管理されている方もいろいろお考えのようなので、状況を見守りたいと思っています。
私は逆に、地下があったりモデルハウスがあったり、というQooというSIMのベースとなっているコンセプトに惚れた!っていうか^^
慣れるととても居心地のいい場所なので、めげずに再チャレンジしてください^^
原因が地下にあるのかどうかはわかりませんが、SIMを管理されている方もいろいろお考えのようなので、状況を見守りたいと思っています。
私は逆に、地下があったりモデルハウスがあったり、というQooというSIMのベースとなっているコンセプトに惚れた!っていうか^^
慣れるととても居心地のいい場所なので、めげずに再チャレンジしてください^^
Posted by Void Ling at 2007年06月29日 22:58