2013-12-09

メッシュ:省ランドインパクトの一例




これは セカンドライフ 技術系 Advent Calendar 2013 用に書いた記事です

----------------------------------------------------------------------




メッシュは造形の自由度が高くテクスチャーを貼る面も好きに設定できるのでモノヅクリに重宝します

しかし通常のプリムの「土地の負荷(ランドインパクト)」が1プリム=1であるのに対し、
メッシュの「土地の負荷(ランドインパクト)」は1プリム=1とは限りません

今回は、複雑な形や大きい物をを作ると大きくなってしまうメッシュのランドインパクトをなるべく小さくする『省ランドインパクト』の一例を書いてみようと思います






サンプルとして「天井付きのアーチ」みたいなもの(上図)をblenderで作りSLにupしてみます
※いずれもviewerはFirestorm、「描画詳細度(Level of Detail)の中(Medium)を最高に設定



まず作ってみたオブジェクト

①アップロード画面では「土地の負荷は 6.422」です



実際rezしてみると小数点以下は四捨五入され
「土地の負荷は 6」になります














アーチの天井部分を平たくしてみます
blenderで手を加えアップロードします

②アップロード画面では「土地の負荷は 8.239」です

実際rezしてみると小数点以下は四捨五入され
「土地の負荷は 8」になります


形を少し複雑化するだけでも土地の負荷に影響を与えることがわかります










さらに、天井部分に穴を開けてみます
blenderで手を加えアップロードします

③アップロード画面では「土地の負荷は 11.814」です
実際rezしてみると小数点以下は四捨五入され
「土地の負荷は 12」になります




形はこれで完成としましょう

これにテクスチャーを貼って出来上がり!
・・・とはなりません






メッシュオブジェクトにこのままテクスチャーを貼っても上手くいきせん
テクスチャーを貼るためには、blender上で面を設定しなければなりません
(本題と逸れるのでここでは面の設定方法は省略します)



では、blenderで面を設定しオブジェクトを再アップロードしてみます

④アップロード画面では「土地の負荷は 15.860」になっています

そう、面を設定すると負荷が大きくなってしまうようなのです

実際rezしてみると小数点以下は四捨五入され
「土地の負荷は 16」になってしまうことでしょう




ランドインパクト(土地の負荷)が16・・・ 

これが大きいと感じるか妥当だと考えるかは分かれるところですが、
もう少しランドインパクトが小さくなったほうがいいと思ったときは
以下のように「分割する」という手段もあります



blenderで④のオブジェクトを1/4にカットしたパーツを作りアップロードしてみます

⑤アップロード画面では「土地の負荷は 2.566」です
実際rezしてみると小数点以下は四捨五入され
1オブジェクトの「土地の負荷は 3」、
形になるようにコピーを3つ作り並べてみると
4オブジェクトで「土地の負荷は 12」になります

この段階でオブジェクト1つで作るより
ランドインパクトが4減ります
さらに、4つのオブジェクトをリンクしてみます

すると「土地の負荷は 10」になります

これは「土地の負荷2.566x4個=10.264(小数点以下四捨五入)≒10となったためではないかと思います

結果として、1オブジェクトで作るより4オブジェクトで作ったほうが
ランドインパクトが6減ったことになります








あとはテクスチャーを貼って完成です


































以上、
「メッシュは小さいオブジェクトのほうがランドインパクトが小さい」という特徴と
「リンクするとランドインパクトが減る可能性がある」という特徴をを使って
省ランドインパクトする方法でした







2013-12-06

素プリム1個なのにランドインパクトが




ちまちまと新しい本店を作ってる最中、変なことに気がついたので記録



どれくらいプリム使ったか調べてみると―――600プリムを超えてる?!

150プリムを目安に作ったはずなのにこれはおかしい、そんなはずがない
メッシュも使ってないのに、単純な造形なのに、600プリム超えはありえない・・・
いったい何が原因でそんなことになった???



というわけで調べてみることに




「土地の負荷は 604」となっている

どう見ても150プリムも使ってなさそうなのになぜ・・・

原因を探るべく一部のリンクを外しプリム1個ずつ調べてみると
いくつかのプリムのLI(ランドインパクト)が尋常じゃない値だった

使っているのは素プリムなので本来ならプリム1個あたりのLIも1であるはずなのに

これはおかしい・・・




そこでサンプル用意

赤いのがおかしいプリム
(作りかけの本店からコピーしたもの)

なのが正常のプリム
(新しいプリムで赤いのと同じ形に作ったもの)


赤い方は LI=12 もある 1プリムなのに

緑の方は LI=1

これが普通 のはず

サイズを小さくしてみる

LI=18 に増えた


さらにz方向に小さくしてみる

LI=28 になった
緑の方はもちろん LI=1
サイズを大きくしてみる

LI=7 に減った









大きくすればLIが減るのかと思いきや、
さらにサイズを大きくしてみると

LI=46 に増えた

法則がまったくわからない
緑の方はもちろん LI=1
小さくするとLIが増え大きくするとLIが減るという順序的なはなしかと思ったがそうでもないようだ

小さくしてみたけど LI=9 に減った
サイズだけでなく、中空などをいじってもLIが変わるもよう

LI=43になった

1プリムなのに







穴寸法とプロフィールカットをいじったらなんと!

LI=413 に!?!?

413はない! どういうこと?ww

こ れ は ひ ど す ぎ る wwww



緑の方はもちろん LI=1
















それで


これはなんとかしなければいけないと思いあちこちアレコレいじってみたところ

おかしいLIを正常化することができ、なんとなくの原因が掴めた



LIを正常化する方法は以下



「材質」タブの「凸凹(Bumpiness)」を選択
「凸凹」で何かを選択

カットストーンでも明るさでも木目でもなんでもOK

すると土地の負荷が1になる
負荷が1になったところで凸凹を「なし」に

これでLIが正常のまま保たれる












さて、方法がわかったので1つ1つプリムのLIを正常化してみると


全体を選択してプリム数を調べてみたところ

126プリムで「土地の負荷 126」

LIが正常になった



やれやれ。。










以下考察




・LIがおかしくなった原因としては「凸凹(Bumpiness)」をいろいろいじったからかもしれない
マップを作ってUPして貼ったり、ローカルからテストで貼ったり、「Advanced Lighting Model」じゃなくても見えるデフォの凸凹使ってみたりした間になんだかおかしくなったのかもしれないかもしれない

・公式viewer以外(FirestormとNirans)では上記の方法を使ってLIを正常化できなかった
とにかく困ったときは公式viewerを使うのが1番かもしれない
とはいえ公式viewer自体がなかなか困ったヤツかもしれない

・自作のバンプマップを建物に使うのは時期尚早なのかもしれない
マップをテクスチャに手軽に揃えることができなくて設定するのがめんどくさいし、
「Advanced Lighting Model」を普段使いする人が多いと思えないし、
なんだかこんな変なことが起こる可能性があるし、
今はまだ使うのやめとこーって思っちゃったかもしれない





以上


TOP