alt=
> HOME > 2013年04月

  

Posted by at

1プリメッシュのコツ

2013年04月29日

すっかり暖かくなってきまして、もう昼間だと暑いぐらいですねー^^
そんな訳で、1プリを狙ったメッシュの作り方をざっとまとめて
おこうかと思います。
とりあえずなんとか1に収めたい、、あたりの部分です。

【 仕上がり寸法の設計 】
2x2x2mぐらいの立方体はすでに厳しいと思います。
ある程度の大きさから換算値がどんどん上がってしまうため、
大物は基本無理。。というのが現実だと思います。


【 リンク数 】
サーバ負荷に起因し、最大2プリムまでの構造が考えられます。
3になるとサーバ負荷が0.5×3=1.5となり、
換算値2以上が確定してしまいます。

2プリム構造の場合であってもサーバ負荷の制約があり、
スクリプト数が1以下でなければなりません。

スクリプト数1: 0.5*2 + 0.3 = 1.3
スクリプト数2: 0.5*2 + 0.3 + 0.2 = 1.5

各負荷は小数点第一位の四捨五入であり、DL、物理、サーバ、
いずれかの負荷が1.5に達した時点でアウトです。

ポリゴン1枚であっても、1万頂点のオブジェクトであっても、
一律0.5ってのはいささか詐欺臭い感じがしないでもないですが、
オブジェクトレコードの数で言えばまぁ同じなので、完全な詐欺とも
言い切れない感もありますので、神ことリンデン様の仰せに従う他
なさそうですw

もちろん各プリムの頂点数が多すぎるとかは論外ですので、
2個合わせて多すぎにならないように作らないといけません。


【 UP時の調整 】
多少の崩れは覚悟して、LOD1、0にはできるだけ
頂点数を割り当てないようにします。

できるだけゼロに近いほうが良いですが、Generateで
0を指定してもあまり小さくならない場合は、代替オブジェクトを
作って、それをアップロード時に指定します。

代替オブジェクトはマテリアルの構造がオリジナルと同一でないと
ビューアがバグったりするため、元のオブジェクトをコピーして
各マテリアルから1ポリゴンずつ使うようにして作るのが間違いありません。

バウンドボックスがオリジナルと同じサイズになるようにスケーリング
されるため、法線を反転して裏向きにすると良いです。

物理負荷が1.5以上になる場合は、「最低」で自動生成すると
まずOKです。
たまにえらく大きい値が見える場合がありますが、実際にUPして
Rezしてみると0.4とかで、なーんだw ってのが多いです。
(つまり、アップロード画面はまだバグってます)


【 番外編 スカルプは重いのか? 】
スペック的な部分に注目して、色々な観点からメッシュと
スカルプを比較してみましょう。

・シミュレータによる頂点データの保持
 スカルプ: なし
 メッシュ: あり(形状定義用に展開されたメッシュを保持)
 保持するメモリ、デコードに使うCPU、どちらもメッシュのみに
 存在する負荷であり、比較的にはメッシュは重いと言えます。

・当たり判定
 スカルプ: 形状に関係なく球体固定
 メッシュ: データに依存し、havokのメッシュコライダを使用
 CPU的に、メッシュのほうが遥かに重いです。

・DLサイズ
 スカルプ: 平均3KB程度
 メッシュ: ものにもよりますが、圧縮状態で200KBなど
 メッシュは60倍も大きいですね。

・テクスチャの転送量
 スカルプ: 1画像
 メッシュ: 最大8画像
 メッシュだと最大8倍の負荷を生み得ます。

・1プリあたりの頂点数
 スカルプ: 1024固定
 メッシュ: 軽く4000以上
 メッシュのほうが数倍重いです。

恐ろしく明白ですが、どっちが重そうでしょうか?
誰が見てもメッシュのほうが重そうですよねw
そりゃそうです。
メッシュになって表現の質が格段に上がったのは事実ですので、
それなりに重くないとバランス的におかしいですよねw


では、これだけメッシュが重い要因が満載であるにも関わらず、
メッシュは軽くてスカルプは重いという現実はどこから来ている
のでしょうか?
64x64ピクセル程度のpng画像のダウンロードがサーバにとって
致命的な負荷でないのは明白であり、遅い現実があるならそれは
仕様や作り的なレベルに問題があると考えるのが自然です。
一切視界に入らないオブジェクトを必死でダウンロードしておいて
遅いとか、ほとんどジョークの域ですw

現代のWEB系技術では細かい大量のダウンロードを的確に捌く
手法はいくらも確立されており、スケーラビリティの確保に成功
している事例はたくさんあります。
それらをやらずして スカルプ=悪 メッシュ=良 のようにアピールした
リンデンの狙いは何でしょう?
僕自身はズバリ、
 ・プリム消費の安定化を図り、利益構造を確実なものとする
であろうと考えています。
まぁ普通の営利企業ですし問題ないですけどw


まぁそうは言いましてもデータ由来でスカルプが極端な負荷を生む
ケースもない訳ではなく、その顕著な例はサイズ詐称によるものです。
見た目は数mのオブジェクトであっても、実はバウンドボックスが
256mもあったり。。とかその類ですね。

これは古典的にLODが落ちるのを防ぐ手段であり、崩れ耐性を
上げることが目的でしたが、遠くからでも視界に入ったことに
なってしまう訳で、重さの観点では非常によろしくないです。
LODの判定アルゴリズムが理想的なレベルまで煮詰められなかった
結果がこんな形で皺寄せとして現れています。
とは言っても、これはあくまで一部です。
あらゆるスカルプが64mだったりはしませんし、ヒュージプリムに
貼り付けた構造物も割合で言えばごく僅かでしょう。

長くなったので終わりますw
  


Posted by Yuji at 03:12Comments(2)

プライズ#117 炊飯器2♪ 1L$

2013年04月22日





また炊飯器ですか?w
ハイー♪

という訳で、またしても炊飯器を作りました^^
今回はレトロ感が漂いまくりの一品です。


環境に優しい1プリで、バリエーションは全11色です。

本体をタッチすると、しゃもじが出たりフタが開いたりします。

炊飯スイッチをタッチするとご飯が炊けます♪
白米から玄米、赤飯に炊きこみに松茸ご飯まで、、w


オーナーの長押しで設定ダイアログが出ます。
 ・リサイズ: 10~1000%
   ※メッシュですので、大きくリサイズすると換算値が1プリを
    越えてしまう場合があります

 ・汚れ具合: 3段階
    CLEAN、AGED、DIRTYの3つから選択できます。
    初期状態ではCLEANになっています。


懐かしいものを見てると、その頃の出来事がよぎります。
炊飯器、あなたはどんな想い出が浮かんだでしょうか?^^

がちゃ屋へ行ってみる
  


Posted by Yuji at 04:43Comments(2)

プライズ#116 炊飯器♪ 1L$

2013年04月18日





今風でナウい炊飯器を作りました♪w
環境に優しい1プリで、バリエーションは全11色です。


デジタル時計が付いています。

本体をタッチするとフタが開閉します。

炊飯ボタンをタッチするとご飯が炊けます♪
時々、炊き込みご飯ができたりします^m^

保温設定ボタンを押すとLEDが光ります。(それだけです^^;

予約ボタンを押すとLEDが光ります。(それだけです^^;;;


オーナーの長押しで設定ダイアログが出ます。
 ・リサイズ: 10~1000%
   ※メッシュですので、大きくリサイズすると換算値が1プリを
    越えてしまう場合があります

 ・時差設定: 15分(0.25時間)単位
    初期状態では日本にあわせて9.0が設定されています。


炊きたてのご飯ってキモチまであったかくなりますよね♪

がちゃ屋へ行ってみる

  


Posted by Yuji at 00:11Comments(0)

プライズ#115 コーヒーミル♪ 1L$

2013年04月13日





カフェの超必需品!コーヒーミルを作りました♪
環境に優しい1プリで、バリエーションは全12色です。


タッチすると、
 1.どこからともなく豆が投入されます
 2.引き出しが開いて挽いた粉が出てきます
 3.最初の状態に戻ります
のように状態が変化します^^


オーナーの長押しで設定ダイアログが出ます。
 ・リサイズ: 10~1000%
   ※メッシュですので、大きくリサイズすると換算値が1プリを
    越えてしまう場合があります

 ・金属パーツの色: 3色
   どのバリエーションも同じ3色です。


ぜひ挽きたての豆で、香り豊かな珈琲タイムをお楽しみください♪

がちゃ屋へ行ってみる


ロケ地はコチラ♪おうち屋++HY's++
  


Posted by Yuji at 01:12Comments(0)

プライズ#114 フォトハンガー♪ 1L$

2013年04月10日





なんともありがちなフォトハンガーを作ってしまいました♪
ただ作るのも面白くないので、1プリで貼り付けられる写真の
枚数の限界にチャレンジしてみました^^


環境に優しい1プリで、なんと!15枚の写真を貼ることが
できます。
もちろん、画像を並べた加工テクスじゃないと貼れないとか
実はプリムセイバーでした♪などのインチキはナシですw


バリエーションは洗濯バサミの色で全12色です。

オーナーの長押しで設定ダイアログが出ます。
 ・リサイズ: 10~1000%
   ※メッシュですので、大きくリサイズすると換算値が1プリを
    越えてしまう場合があります

 ・紐の色: 4色
   どのバリエーションも同じ4色です。

 ・リセット
   貼り付けたすべての写真をリセットします。
   (初期状態に戻ります)


写真の貼り付けは、編集で面を選択してから行ってください。


大切な想い出のSSからあーんな写真まで、
お好みで貼りまくってください♪

がちゃ屋へ行ってみる


========================================

軽く技術ネタなど。

15の根拠は7+8です。
1つめのプリムの1面のみで外装を作成し、残り7面を
写真用に割り当てています。
2つめのプリムは8面全てが写真用に割り当ててあります。
これをリンクした場合、DL負荷およびサーバ負荷が1.5未満で
あれば換算値は1となります。

プリムが3個の場合はサーバ負荷が0.5*3=1.5となり、
換算値は必ず2以上となってしまいます。
つまり概算では、リンクするプリム数が偶数の場合に限り
お得になる可能性があります。
(スクリプトの数によってもサーバ負荷が追加されるため、
 実際にはもうちょっと複雑です)

スクリ数とサーバ負荷の関係ですが、微妙にバグってるようなので
注意が必要です。
スクリの追加直後にはサーバ負荷が1.3だったにも関わらず、
そのオブジェクトをテイクしてRezし直した後ではサーバ負荷が
1.5になっているケースがありました。
  


Posted by Yuji at 01:42Comments(0)