フィギュア番号と連動記述
2007年01月22日(Mon)
Macintosh版Poser 6J SR2-122において。
- フィギュア番号とは、フィギュアに対し現在開かれているシーン(=メモリ上)にロードされた順番に付加される番号である。
- この番号は、シーンファイルが閉じられ該当のメモリがクリアされるまで保持される。
- ロードされたフィギュアにERCなどの連動記述がある場合、連動先の指定はロードされる前(CR2ファイル内)の連動先パートのフィギュア番号が自身と同じであれぱ自身に付加された新しいフィギュア番号で上書きされ、異なる番号であればロード直前に選択されていたフィギュアのフィギュア番号で上書きされる。
- 3の条件に加え、CR2ファイルまたはPZ3ファイル内に連動元フィギュアと連動先フィギュアを含む複数のフィギュアが保存され、なおかつ1によりフィギュア番号の繰り上がりが発生する場合、連動先のフィギュア番号は元の連動の関係を維持する形で上書きされる。
- 連動先のフィギュアに該当のパートまたはパラメータが存在しない場合、自分自身が連動先になる。自分自身にも該当のパートまたはパラメータが存在しない場合、連動記述は削除される。
- 連動記述におけるフィギュア名は無効のパラメータであり、フィギュアがロードされた時点で、決定した連動先に応じて新しく命名される。
そして。
あるフィギュアにおけるERCが記述されたパラメータは、そのフィギュアがロードされる直前に選択されていたフィギュアの該当パーツの該当パラメータに着用/非着用に関わらず連動する。
多分これでいいと思う。
ERCを調べるなら、その前にフィギュア番号について把握することが重要だ。フィギュア番号については以前優れたテキストが存在した(ような気がする)のだが、ネット上には現存していないようなのでイチから調べてみた。
まず1。
フィギュア番号は必ず1から始まり、フィギュアがロードされた順番に1ずつ増加していく。元のCR2やPZ3に記述されていた番号は無視される。従って、元のCR2ファイル内でフィギュア番号が2番となっていようが10番となっていようが、最初にロードされたのなら1番になる。
次に2。
フィギュア番号はシーンを開いている間は保持されている。一度シーンファイルを閉じたり別のシーンファイル(新規作成含む)を開くとクリアされる。なので、たとえば1番・2番・3番とフィギュア番号が振られた後で、2番のフィギュアを削除したとき、次にロードされるフィギュアのフィギュア番号は4番である。
1と2から。
「CR2やPZ3」と書いたように、このフィギュア番号の付加はシーンファイルを開いた場合にも実行されている。つまり、一度保存されたPZ3ファイルを開いたり、新規作成をした時にもフィギュア番号はロードされた順に1番から振られていくのである。
たとえば先程のケースでフィギュア番号1番・3番・4番が存在するシーンファイルを保存したとき、次にそのシーンファイルを開くと、フィギュア番号はロードされた順番(=PZ3ファイルに記述されている順)に1番・2番・3番とナンバリングされる。3番が2番に、4番が3番に繰り上がるのだ。
シーンファイルはロードされただけで内容が変わっているのである。
ついでに。
「フィギュアの追加」ではなく「フィギュア変更」でフィギュアをロードした場合、フィギュア番号は変更前のフィギュア番号を継承することになる。この時、フィギュア名も変更前のフィギュア名をそのまま使用する。ただし、これにはちょっと奇妙な動作があって、フィギュア番号の継承は「フィギュア変更」した段階では実行されておらず、次に別のフィギュアをロードした段階でようやく整理されるようである。例えばフィギュアを2体ロードし、2番のフィギュアと「フィギュア変更」する形で3体目のフィギュアをロードすると、3体目のフィギュアはフィギュア名が2番のもので、フィギュア番号が3番になっている。これは実害はないものの、おそらくバグであると思われる。次に4体目のフィギュアをロードすると、3体目のフィギュアのフィギュア番号は3番から本来継承されるべき2番へと更新され、4体目のフィギュアに3番が振り当てられる。
3について。
元々のフィギュア番号はロードされた時に必ず書き替わる。その時、連動記述内のフィギュア番号は、自分自身と一致しているかどうかで書き替えられる内容が変わる。例えば、CR2ファイル内でのフィギュア番号が5番のフィギュアを3番目に読み込んだ場合、連動先として指定されたフィギュア番号が5番なら自分の新しい番号である3番になり、5番以外であればロード直前に選択していたフィギュアのフィギュア番号が与えられる。
4について。
たとえばフィギュア番号が1番・3番・4番で、4番のフィギュアが3番に連動しているシーンファイルを開いたとする。この場合、3番と4番のフィギュアはそれぞれ繰り上がって2番と3番になるが、新しく3番に繰り上がったフィギュアの連動先は、3番ではなくちゃんと2番に書き替えられている。
5により、連動先のフィギュアを削除すると、連動記述が削除される。また、1番目にロードされたフィギュアの連動先は必ず1番である。
6はつまり、連動記述にフィギュア名は関係ないということだ。もともとフィギュア名はPoser上でいくらでも変更可能な外部名「的」パラメータである。同じ名前が重複したときに初めて半角スペース+1が付加されることからも、フィギュア番号とはまったく別の管理がされている事は明白である。
連動記述におけるフィギュア名は、元の名前に関わらず、ロードされた時点で『フィギュア+(半角スペース)+[連動先のフィギュア番号]』になる。英語版なら『Figure+(半角スペース)+[連動先のフィギュア番号]』である。連動先は前述3の規則によって決定する。たとえ『Figure 2』と書いていようとも『Clothing』と書いていようとも、日本語版で一番目にロードしたなら『フィギュア 1』に書き替えられているのだ。
さらにいくつか。
自分以外のフィギュアに対する連動記述を持つフィギュアをライブラリに保存した場合、連動記述のフィギュア番号は着用/非着用関係なくそのまま保存される。
CR2ファイル内にフィギュア番号が記述されていないフィギュアも正常に動作する。その場合もロードされた時点でフィギュア番号が振り当て直され、連動記述も同じ規則によって上書きされる。この場合、連動バートに番号の記述がなければ自分自身であり、なんらかのフィギュア番号が付加されていれば自分以外となる。
はたして。
あと検証しなければならない要素はあるだろうか。もーヤなんだけどなー。
上記の内容は、自分が簡易モデルを用いてCR2やPZ3とにらめっこしながら実際に観測した結果と、そこから導き出されたPoserの法則についての仮説である。検証過程を逐一保存していたら、自分で何が何だかわからなくなってしまうので画像などは残していない。というか面白みの無い画像が延々続くことになるので割愛した、というべきか。
これらの法則性は仮説であるので、これを覆す実例が観測されれば当然修正を余儀なくされる。世の中の物理法則が全て仮説と観測結果から成り立っているのと同様である。他環境、他バージョン、または同一環境における検証を求めたいところだ。もちろん「○○だったハズ」「××と言っていた」「△△という現象を経験したことがある」などというのは却下である。「自分が」「今」「実際に」やってみた結果であるのだから、「あなたが」「今」「実際に」やってみた結果以外は単なる参考資料の域を出ない。
自分が今までに検証結果やTipsなどで公開している内容は、ちょっとした動作のもたつきや予想外の現象などの実例を多く観測した中で感じた、「なーんとなくこのヘン怪しいような気がするな~」「ひょっとしてこうなのかな~」という非常に曖昧な感覚から生まれたものがほとんどである。自分は理路整然と物事を考えるのが苦手なのだ。
そんな自分の感覚が、「な~んか納得できないな~」と告げているものの一つがERCである。以前一度だけ、P4使いの方が「連動先フィギュアを選択してからロードしたら連動した」と発言されたことが、自分にとっては無視できないファクターなのだ。まあ、P5以前の検証はするつもりもないしできないけど、自分の目で確認した以外の情報は不確定だと思っているけれども、それでも既存の全てを疑ってみるだけの価値はあると思っている。
さて、ここで。
クロストークとは厳密にどういう現象であるのか。
クロストークの問題とは一体「何がどう想定外の動作をするために」問題なのか。
そもそもPoser 6でクロストークという現象は起こるのか。
誰か知ってたら教えて下さい(←ここだけ低姿勢)。
……まいこーよん待ちかなー。