読者です 読者をやめる 読者になる 読者になる

Lattice in the Lettuce

The monologue of a scientist.

DarkStorm Copybot Viewerのメモ 2

社会

その1はこちら
http://d.hatena.ne.jp/lettuce_chan/20140527/1401150001

ずいぶんと間が空いたが、メモその2を書いてみる。
既に日本人でSecondlifeしてるのが皆無であり、今更こんなものを日本語で書いても何の意味もないのかもしれないが。

DarkStorm Copybot Viewerのその後

KingGoon Forumを見てる限り、アップデートは皆無。既存のFirestorm変造ビルドが今でも使える(expiry dateを誤魔化す・Firestormサイトに繋がらないようにする等は必要だが)ので、特にアップデートする必要がないのかもしれないが。

ただ、リグ入りMeshをボーンごと落としてくる事が出来ない・及びコンパイル前のLSLが抜けないのは非常に面倒なのでどうにかして欲しい。

当該機能はSecondlifeに元々存在していないため、やるとしたら自分でコード書くしかないが、リグの場合、COLLADAXMLフォーマットの理解等も必要で厄介。少なくともプログラマですらない私には無理だ。誰かやってくれないものだろうか・・・。LSLの方は、一般のリバースエンジニアリング同様に逆アセンブルして再構築という作業になるので、まずやれる人間は皆無かも知れないが。

OSGridやJOGへのアップロード

Open sim gridや、Japan open gridなど、Secondlife互換の公開Open grid(OpenSimulatorを使って自宅や学校等のサーバ内にシミュレータを開設したもの、以下OSGとする)は、Secondlife本体と違って、データアップロードにコストが不要、つまり金がかからないといったメリットがある。

そこで多くのクリエイターは、Secondlifeにアップロードする前に、まずOSGにアップして、Blenderだけでは分からないMeshの動きや陰影の付き方などを確認する。

当然OSGには、Secondlife同様にアバターが必要となるが、Secondlifeでは金(リンデンドル)使えば他のクリエイターが作った物を買ってきてアバター作成出来る。

また、Secondlifeの仕組みとして、すべてのオブジェクト(アバターを含む)及びテクスチャ、アニメーション、音楽コンテンツには、自体を識別するコードとしてUUIDがあり、オブジェクト以外はUUIDをコールすることで実データを得る操作が可能なため、同じGridであれば、UUIDコールによって画像等を拾ってくる事が出来る。

OSGで厄介な事は、Secondlifeのような店もマーケットも存在せず、またGridが違うためUUIDコールしてもSecondlifeのデータを取り出せない事だ。

当然、Reuploadが必要となる。まぁCopybot Viewerでちまちま作業すれば良いのだが、

Reuploadの厄介さ

UUIDコールで実データを呼べるコンテンツ(画像と音とアニメ)は、Copybot Viewerでデータ丸ごとダウンロード出来るため、local scriptが存在しないCopybot Viewerでちまちまやる面倒臭さはあるものの、時間かけてやればなんとか出来る。

実際のコンテンツで言うと、スキン・頭部スキン・ウェア・アルファ・シェイプ・目玉・AO(LSLを除く)は、問題なく抜いて再構築可能だ。

リグ入りでないMeshオブジェクトもCOLLADAのReuploadと画像数枚で行けるので大した手間ではない。

あとはリグ入ってる服・髪のMeshオブジェクトだが、BlenderやAVAstarの使い方を知ってる(持ってる)のはクリエイターとしての前提なので、あまり問題にはならない。

厄介なものが2つある。

一つはMeshではないノーマルオブジェクトの靴。いわゆるSculpted Primsで作られたもの。Sculpted textureで形状変形したオブジェクトの積み重ねで作られているもので、Mesh登場以前のSecondlifeでもっとも作りにくかったものの一つだ。

なぜ厄介かといえば、Sculpted textureを一枚一枚Reuploadして、XMLで位置情報を吐いて再構築しておいた靴に貼り、さらに表面テクスチャを貼らなければならないという3度手間があるからだ。大抵の靴はSculpted textureの数が10枚程度、オブジェクト数が10〜15程度あり、この一つ一つを再構築していかなくてはならないので時間がかかる。靴は素直にMeshの物をReuploadした方が良いと思う・・・。

話が少々横道に外れるが、Sculpted Primsという言葉を作ったバカは死ぬべきだ。どう考えてもSculpted objectだろう。Primはprimitiveから来ている、Secondlifeシミュレータへのimpactの単位なので、オブジェクト自体を示さない。なのにこういう言葉が存在するために、オブジェクトの呼び名がPrimだと思っている奴が腐るほど発生してしまった。
Secondlife自体は、描画コスト=オブジェクトコストという、非常に理に適った設計になっているのに、なぜSculpted Primsなんて造語を作ったのか、非常に腹立たしい。

と、それはさておいてもう一つの厄介なもの。

それはMeshアバターだ。Meshアバターは単一のMeshオブジェクトをリグで変形させているわけではなく(一昔前にはそういうのもあったが)、複数(およそ100個)のオブジェクトを個別にリギングして動かしているため、再構築に物凄く時間がかかる。

どうしてそんな高コストな事をしているかといえば、Meshオブジェクト一つのコスト(トライアングル数)に上限があるため、自由なオブジェクト設計をするためには複数に分割しなければならない事と、もう一つはコピー販売するバカを防止するためである。

長くなったので続きはまた今度。