標準PRIM→MESHでblenderを使って躓くこと(3/3)

Blenderだけっていう制約で後になってよく見たら何か変だなぁと感じたこと、それはノーマルマップでのチラツキでした。上記画像の真ん中なのですが、これは先の投稿の(2/3)で単純に2つのオブジェクトを結合した物です。一番奥の元のSecondLifeのプリム物や手前のオブジェクトと見比べて妙な描画になっているのが分かると思います。なんでかなーと調べたら消したと思っていた頂点が残っている状態だったのです。普段はダイレクトにBlenderに持ってこないので気付かなかったことでした。


■要らない頂点を削除しよう

Blenderでdaeファイルをインポート後に
メッシュの整理で限定的溶解とか
三角面から四角面への変換を実施した後に
重複頂点を削除」を実行します


さくっと要らない頂点が消えたようです

これでアップロードしたMESHが
最初の画像の一番手前の物です
妙なチラツキは消えているでしょ

オブジェクトの編集とかするのであれば
インポート直後の四角面への変換直後に
重複頂点を削除した方がいいでしょうね



■要らない面を削除しよう
隠れた面が残っていればその分ポリゴン増えるので不要な面は削除
ま、やらなくてもそんなに激しくは変わらないけれど、あとあとLI(ランドインパクト)がぁ~
という状況の時にでも見直せばいいかと・・・

このオブジェクトの場合は
この部分が全く隠れてしまうので
不要でしょう

面を選択して
 編集の邪魔になるオブジェクトは
非表示にするといいかも
右のバネルで目玉みたいなアイコンで
対象の表示/非表示を切り換えられます
(ショートカットのHでも出来ます)

削除はメニューから辿るかXキーを押します

こちらのオブジェクトも
この部分は要らないので
削除してしまいます

 こうして出来上がったのがこちら
隠れた面がなくてすっきりしています




■ノーマルマップの問題
Blender上で弄っている間はBlenderちゃんがレンダリングしてくれますが、SecondLifeに持ち込んだらレンダリングの担当はSecondLifeのビュワーです。もちろんSecondLife側でも、このプリムのマップはコレですよと個別に独自の物を割り当てることも可能になっていますが、まずはアップロード時にノーマルマップを自動生成することができる機能もあるので単に表面を滑らかにするだけならコレで充分いけますが微妙に結果が異なるので注意すべきでしょう。

上記画像の(奥の2つは無視して)
真ん中のオブジェクトは重複頂点削除後に単に2つのオブジェクトを結合したものです
元プリムでの接合部が滑らかに繋がっているのが見て取れます。
手前の2つは更に接合面の不要面と頂点を削除した物です。
面がサックリと無くなっている為に妙な継ぎ目のような陰影がはっきりと見て取れます。
まぁ、濃い色系とかのテクスチャ貼ったりしたら目立ちませんけどねw

また、手前から2つ目はデフォルトの角度75度で処理した物で、下部の先端に妙な影があります
一番手前は影を消すために角度65度で処理した物です。下部の影は消えたもののトーラス部分に上下に分かれ目のような影をくっきりと発生してしまっています。

たとえ先端に妙な影があっても、どこかに少し埋めて使うような扱いであれば問題になることもないでしょう。 また逆に平面のみで構成されているようなオブジェクトとかカクカクした感じをあえて楽しむならならノーマルマップ生成無しでも構わないですからねぇ。使いどころと使い分けも必要ってこと。


ノーマルマップの生成は
アップロード画面に
ちょこっと付いているこの部分です




■ランドインパクト(LI)の考慮
思うようにモデリング出来た。
マテリアル(テクスチャ)も貼れた。
そしてSecondLifeに持ち込むと次に直面する問題はランドインパクト(LI)でしょうね。
衣類なら全く気にせず、そのまま持ち込んでアホみたいに高ポリゴンの物体があったりしますが置物であればLI数を気に掛けなくてはなりません。


このオブジェクトの場合
何も弄らず、そのままアップロードすると・・・

LIは2.840と算出されます


LOD=最低の部分の数値を最低にして
その時の三角面=2まで下げてみると・・・

ダウンロードコストが激減したけど
LIは変わらずですねぇ

物理の部分をなにもしていないので
おそらくは物理=高で処理されているから
設定を全て初期化してから
物理の設定を物理=最低に設定してみると・・・

LIは1.720と算出されました

さらにLOD=最低の部分の数値を
指定して三角面=2まで下げて
物理も最低で設定してみると・・・

LIは0.500まで減りました

でも物理の形状が妙な三角形になってますねw

オブジェクト1つあたりの最低値が0.5LIとされてるルールあるので、これ以上頑張って下げても無駄になります。そして残念なことに土地上でのカウントは1プリム単位なので0.5プリムであってもそれは1プリムの扱いを受けます。このため売り物などで「1LI (または1プリム)」と表記してあっても、実際には0.5LIかも知れないし、0.9999LIであるかも知れません。

この端数部分はSecondLife上でプリムとしてリンクさせたときに結果が変わってきます。
簡単な足し算です、
0.5LI + 0.5LI = 1.0LIですから、すなわち1プリム扱い
0.9LI + 0.9LI = 1.8LIであるなら、四捨五入して2プリム扱い

そーなんです、この部分は端数切り上げじゃなくて四捨五入なのです。
だからこれが
0.7LI + 0.7LI = 1.4LIであったなら、四捨五入して1プリム扱いになります
このためうまく省ランドインパクトとなるようにギリギリの線を狙ってアレコレと組み合わせて完成品とするという妙なSecondLifeならではの儀式がありますw

ただしスクリプトを内包するプリムの場合は0.5の扱いは受けず1.0換算になります



ランドインパクトの細かな数値は
公式ビュワー以外なら見る機能があるはず。

参考ですが左図の一番左はスカルプトで
残りの2つはMESHです。


■綺麗に物理をだしてかつ省ポリゴンにする
単純に減らすだけならLOD=最低のところを最低値にセットして、物理の方も最低を指定すれば数値としては確かに最低な物が作れますが肝心の物理での面が変な形になっているのが気に入らないと思います。

◆まずは自動計算でやってみる

なにもLOD設定のところを変えていない状態で
Step1:物理=最低をセットしただけのとき
三角面の数は=25の扱いで
形状にある程度沿った形が出ています


さらに
Step2:分析 を行ったところ
頂点数=42とでました


最後に
Step3:単純化 を行うと
頂点数=15で外殻1と判断されました

この物理計算はSecondLifeのみの項目なのでOpenSIM系のビュワーにはこの機能はありません。言い換えるとHAVOKのためのものです。故に公式ビュワーを使うか、HAVOKに対応したTPVでないとできません。ちゃんと使えば便利な機能なんでしょう・・・ねぇ。たぶん景観用オブジェクトとか作るのであれば使うことになるのではないかなぁ。

ま、私の場合は、とりあえず物理が減らせて、かつ、外側の四角どおりに判定できればOKだったのでHAVOKさんは無視しちゃいましたw



◆物理形状を別のMESHを使って指定してしまう
自動生成ではなく別のMESHで指定することにより綺麗な形でかつ省ポリゴンとすることもできます。
例1
普通のデフォの立方体から
底面だけ残して他を削除したものを作成し
DAEにエクスポートします
 物理の設定の所で「ファイルから」を選び
作成したDAEを指定すると・・・

ペッタンコな平面が貼り付いています
ちょうどオブジェクトの中心で
幅と長さもオブジェクトと同じサイズになってます
そして三角面は=2
例2
普通のデフォの立方体から
全面削除して斜めに面を追加したものを作成し
DAEにエクスポートします
 物理の設定の所で「ファイルから」を選び
作成したDAEを指定すると・・・

ペッタンコな平面が貼り付いています
対角に面が出てますね
使い処はあるのかな?
階段とかに使えるかもね
そして三角面は=2

例3
普通のデフォの立方体そのまま
物理の設定の所で「ファイルから」を選び
作成したDAEを指定すると・・・

外殻をすっぽりと包む四角形が
綺麗に出来ています
三角面はその分増えて
三角形=12




そんなところで物理の所に少し触れてみました。
こうしなければならないとかの決め事は無いので
いろいろやってみる参考になればと思います。



標準プリムからMESHにするという内容で
駆け足で3連投してみましたが如何でしたか?
間違っている所もあるかも知れませんが
あくまでも「きっかけ」になればとの狙いです。
私自身も素人ですから質問とかには答えられませんし
正しい回答が出来るはずもありませんから
聞かないでね♪

おひねりは、いつでもWelcomeですw







0 件のコメント:

コメントを投稿

Popular Posts of the Month