background

ExPの実際。

2008年03月17日(Mon)

それでは、実際にVictoria 4.2でExPがどのように使われているかを見ていこう。一つ断っておかなければならないのは、Victoria 4.1と4.2ではExPのしくみそのものが少し変化しているという点である。それはすなわち、今後もアップデートによって動作が変わることは充分あり得る、ということだ。あくまでも以下の内容は、現時点での動作を追っているものなので要注意。

Victoria 4.2をインストールすると、Runtime>Libraries>!DAZフォルダ下にVictoria 4フォルダが作成される。この中にはパーツ名のついたフォルダや、ポーズファイルがズラズラと並んでいる。ところがこのポーズファイル、実はインストール直後には存在していない。前回も書いたインストールの最後に出てくるイニシャライズ処理を行うことによって、初めて生成されるのである。

080316-01

つまりこれらのポーズファイルが、前回書いたV4のキャラクターファイルで最初に読み込まれる外部ファイル(一次ファイル)に該当するわけだ。もし仮にV4のインストールでイニシャライズを行わなかった場合、PoserはV4をロードしたときに延々とこの一次ファイル群を検索する羽目になる。イニシャライズは必ず行うようにしよう。

それでは、実際にVictoria 4.2をロードしてみよう。Victoria 4.2.cr2を最初から読んでいくと、最初にreadScript文が登場するのは2度目の「actor BODY:1」の部分である。

080316-02

まず最初に呼び出される外部ファイルはV4BODYGrps.pz2である。これはパラメータパレットの並びを定義するgroupsチャンネルの中で呼び出される。

080316-03

V4BODYGrps.pz2を開いてみると、デフォーマ強度やMaleモーフなどV4に最初から組み込まれているダイアルと、旧来のINJ/REM方式用の空きチャンネルをグループ化して折り畳む記述だけが書かれている。これが最初のreadScript文の行にそのまま挿入されるわけである。

次に、groupsチャンネルの記述が終わったところで今度はV4BODYChnnls.pz2が呼び出される。

080316-04

V4BODYChnnls.pz2を開くと、今度はRuntime>Libraries>!DAZ>Victoria 4フォルダ下のBODYフォルダ内にある、00-ps_pe069_DAZ_Chnnls.pz2と00-ps_pe069inj_Chnnls.pz2の2つのファイルを呼び出すよう書かれている。これらはそれぞれ、V4に最初から組み込まれているパラメータダイアルと、旧来のINJ/REM方式用の空きチャンネルを記述している。

080316-05

以下同じように、各パートにおいて「パラメータパレットのグループ化を定義する部分」のファイルと「その実際のチャンネルを記述している部分」のファイルが繰り返し呼び出される。そして全パートを定義し終わった後、フィギュア定義部の直前で、今度はV4ERC.pz2とRuntime>Libraries>!DAZ>Victoria 4>Deltasフォルダ下のInjDeltas.V4BaseAll.pz2が呼び出される。

080316-06

V4ERC.pz2を開いてみると、今度は大量にreadScript文が書かれている。それぞれ、BODYを除く各パートの名前の付いたフォルダの中から、「~ERC.pz2」というファイルを呼び出せということらしい。

080316-07

ここで、各パーツのMaleモーフやJCMなどのモーフチャンネルにERCの記述が組み込まれる。また、InjDeltas.V4BaseAll.pz2も大量の外部ファイルを呼び出している。こちらはDeltasフォルダ下のBaseフォルダ内にある、モーフ本体とも言うべきモーフデルタ(差分情報)を実際にインジェクションする部分だ。この段階で、ようやくV4に最初から組み込まれている表情や発音モーフ、またMaleモーフなどが動作するようになるわけだ。

080316-08

最後に、フィギュア情報の定義部でV4LnkPrms.pz2が呼び出される。これもまたreadScript文で該当パーツのフォルダ下にある「~LnkPrms.pz2」を呼び出す。

080316-09

linkParmは過去のPoserで使用されていた機能で、あるパラメータに指定されたパラメータの値をそのまま参照するよう指定する。これはPoser 6以前のバージョンでFBM等の値をPoseファイルに保存できるようにする、いわば小細工的な仕組みである。

さて、このようにしてV4は何度も外部ファイルの読み込みを行うわけだが、それではMorph++やAiko 4などをインストールすると、これらの外部ファイルの何が変わるのだろうか。

Morph++やAiko 4をインストールすると、Runtime>Libraries>!DAZ>Victoria 4フォルダ下の各パーツ名の付いたフォルダの中に、新たなファイルが増える。

080316-10

これらはBaseのファイルと同様、「~Chnnls.pz2」と付いていればチャンネルの記述が入ったファイルだし、「~ERC.pz2」という名前ならFBMA4AikoBodyなどのERCを組み込むファイルである。そして、インストール後にイニシャライズを行うと、それらのファイルを読み込むように一次ファイルが変更されていることがわかる。

080316-11
080316-12

このため、Victoria 4.2.cr2を読み込むと、Morph++やAiko 4用の空きチャネルを備えたV4がロードされるわけだ。つまり、Victoria 4.2 BaseしかインストールしていないVictoria 4.2.cr2とMorph++やAiko 4をインストールした後のVictoria 4.2.cr2では、その内容が変わっているわけである。

080316-13

上記のファイルはそれぞれの場合にVictoria 4.2.cr2をロードして、そのままライブラリに保存したものである。追加される空きチャンネルはざっと600kB程度の容量を占めているわけだ。

ところで、イニシャライズを行うプログラムは、当然新しく追加されるモーフ製品のファイル名を把握しているわけではない。ということは、追加されたファイルを参照して一次ファイルを生成しているわけである。ならば、手動で適当なファイルを作って放り込んでやれば、一次ファイルにその適当なファイルが組み込まれてしまうことになる。

というわけで実験。

080316-14

各パーツの名前が付いたフォルダの中に、上記のようなファイルを用意する。で、イニシャライズを実行。すると、一次ファイルの中身が書き替えられる。

まずはRuntime>Libraries>!DAZ>Victoria 4フォルダ下のV4(パーツ名)Grps.pz2。これはチャンネルのグループ化の情報がそのまま記述されているファイルだが、ちゃんとテストファイルの中身を読んでいることがわかる。

080316-15

読んでいるのはtest_Grps.pz2のみで、testGrps.pz2の方は読んでいない。どうやら、ファイルの末尾に「_Grps.pz2」とついていればグループ定義のファイルだと認識してくれるらしい。また、V4(パーツ名)Chnnls.pz2には、新しく作ったファイルを読み込むreadScript文が追加されている。

080316-16

その他、V4ERC.pz2やV4LnkPrms.pz2にもテストファイルが組み込まれている。ファイルの末尾に_Chnnlsや_ERC、_LinkPrms、_Grpsと付けておけば、ちゃんと認識してもらえるようだ。

もちろん、実際にExP対応製品としてリリースする場合にはDAZが定めた命名規則(と言っても製品番号を振りなさい、ぐらいの事らしいけど)に従う必要がある。でないと製品同士で、チャンネル番号ではなく今度はファイル名の衝突が起こってしまうからだ。ExPについてはArtZone(要登録)に詳細が記載されているので、興味のある人はリンク先を一読してみるといいだろう。



Comments

考えただけで^^;

(PoserはV4をロードしたときに延々とこの一次ファイル群を検索する羽目になる。)
うわー!!考えただけで怖いですね・・・
実際試されたのでしょうね・・・今回此処が一番印象的でした。
文面からV4.2のインストールも幾度か繰り返して検証されたように思うのですが。

Name
sannzi #u2lyCPR2
Site
URL
Post Date
2008-03-18
Post Hour
23:26:50

Edit

>sannziさん
やりましたねー(笑) いや、実際には「あっ、しまったそうか!」と気付いた時にはPoserを強制終了させてたんで、実際に最後まで検索すると何分かかるかは知らないのですが(^^;
おっしゃる通り、今回の検証のために何度かV4.1とV4.2をあちこちにインストールしております。そのお陰で気付いたことなどもあるのですが、それはまた次回に……

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2008-03-20
Post Hour
13:29:43

Edit

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/306-7138f527



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。