background

フィギュア番号と連動記述

2007年01月22日(Mon)

Macintosh版Poser 6J SR2-122において。

  1. フィギュア番号とは、フィギュアに対し現在開かれているシーン(=メモリ上)にロードされた順番に付加される番号である。
  2. この番号は、シーンファイルが閉じられ該当のメモリがクリアされるまで保持される。
  3. ロードされたフィギュアにERCなどの連動記述がある場合、連動先の指定はロードされる前(CR2ファイル内)の連動先パートのフィギュア番号が自身と同じであれぱ自身に付加された新しいフィギュア番号で上書きされ、異なる番号であればロード直前に選択されていたフィギュアのフィギュア番号で上書きされる。
  4. 3の条件に加え、CR2ファイルまたはPZ3ファイル内に連動元フィギュアと連動先フィギュアを含む複数のフィギュアが保存され、なおかつ1によりフィギュア番号の繰り上がりが発生する場合、連動先のフィギュア番号は元の連動の関係を維持する形で上書きされる。
  5. 連動先のフィギュアに該当のパートまたはパラメータが存在しない場合、自分自身が連動先になる。自分自身にも該当のパートまたはパラメータが存在しない場合、連動記述は削除される。
  6. 連動記述におけるフィギュア名は無効のパラメータであり、フィギュアがロードされた時点で、決定した連動先に応じて新しく命名される。

そして。

あるフィギュアにおける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でクロストークという現象は起こるのか。

誰か知ってたら教えて下さい(←ここだけ低姿勢)。

……まいこーよん待ちかなー。



Comments

\(・o・)/ワア! いっぱい書いてある~(笑)
フィギュア番号って、チャットで…ほら(笑)
お話したじゃないですか~
1年近く前かも?(爆)
 
連動は、また見ておきますね。
ちょうど見ているのですけれども(笑)
Mudbox のダメージが大きくて(爆爆)....(o ><)o
ちょっと…つらひ(苦笑)

Name
kirakira #E9NqROVM
Site
URL
Post Date
2007-01-22
Post Hour
23:25:10

Edit

>kirakiraさん
おお、優れたテキストの書き手がいらっしゃいました(爆)
あれは……チャットでしたっけ。……ログが……(><)
なんか画像もなくダラダラ長くなってしまって恐縮です。
最近短い文章が書けなくてちょっとイヤンなのです。
ダ、ダメージですか~(^^;
なんというか、御愁傷様です。(え? 違う?:笑)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-01-23
Post Hour
01:16:29

Edit

長いワリには情報ナシなコメンツ

 ポーザー4の無印が動く環境はないうえに記憶を頼りに書いている都合上、信じないでくださいませませ。連動パラメータの挙動は、史上初の"ERC"を使用したフィギュア、"Nerd super conforming halter top"のドキュメントを確認すると
 
a)ERCを使用したフィギュアはターゲットフィギュアの直後にロードしなければならない
b)ERCを利用したフィギュアは2つ以上ロードできない(2つめからは正しく動かない)。
 
 という制限が書かれており、なおかつこれは2000年の記述ですので、2000年前後のP4では「一つ前にロードされていたフィギュア」に連動するってルールだったのは間違いかと思われます。
 これが選択されているフィギュアになったのはP5からだったはずです(もしかしたらPPPだったかも知れません)。P5のインフォメーションが出たときにnerdさんがレンダロのフォーラムに「クロストークバグを下手に直されちゃうとスーパーコンフォーミングが出来なくなっちゃうよ」と書いていたのを覚えているので、これは間違いないかと。
 つまりERCは、フィギュアを超えてパラメータ参照出来てしまう…といういわばP4の仕様バグを利用してユーザーが実装しちゃったもんだったってことだと思いますです。
 で、あまりに便利でユーザーが使うようになったことと、JCMを多用したVickyの登場によって「ないとやってらんない」ものになっていったってことではないかと(初期のビッキーの服とか、JCMに連動しなくて破れまくりだった記憶があります)。
 なもんで、もともとのクロストークはこんときnerdさんが使った意味だったと思います。
 現在のクロストークは、意味合い的には「JCMやERCの連動先の対象が意図したものと違うモノになる、もしくはリンクが破断する」という意味で、現在のERCの仕様を考えれば、普通にロードするだけでは起こらない現象になっているはずです(仮にクロストークを起こしたとユーザーが思っていても、それは多分最後に選択していたフィギュアを間違っていたせいのはず)。
 ではどーいうときに今では起こるのかというと、具体的にはポーズファイル。
 ポーズファイルは実に乱暴な仕様で後先考えずメモリの中身を置き換えちゃうとんでもない代物なので(だからインジェクションが成り立つんですが(笑))、ポーズファイルの設定によっては内部的に設定されているフィギュア番号が変更されちゃう場合があるっぽいんですね。
 で、この問題を解決するためにV4ではマグネタイズポーズが用意されているってことだと思いまっする…
 …と超長いわりには自信なしのコメンツですた。

Name
ほげほげ #-
Site
URL
Post Date
2007-01-23
Post Hour
15:57:12

Edit

ふーむふむふむ

>ほげほげさん
いや、貴重な情報をありがとうございます~。とすると、P6では怪しげなポーズファイルを適用しない限り、クロストークなるものは起こらないと考えて良さそうですね。
 
ちょっとだけ試したところ、P5ではERCは連動先に着用しないと機能しないみたいですね。あまり意味のない制限だと思いますので、P6で変更されたのは良いことだと思います。というかむしろ、ERCは初めから意図的に用意された仕様なんじゃないかと勘繰ったりもして……(穿ちすぎかな)。MATファイルと同じく、開発側がドキュメントを用意することはないでしょうけども。実際に調べてみれば、JCMもERCも非常に明解で簡潔な仕様だと感じました。
御紹介頂いた注意書き、状況を限定すればP6用に立てた仮説と矛盾はしないんですよね……。う~ん。
 
それにしてもポーズファイルは盲点でした。よくよく考えてみればポーズファイルってフィギュア番号入ってますからねー(^^;
また気合いが入った時にでも調べてみることにします。っていうか多分M4待ちです(笑)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-01-23
Post Hour
23:42:10

Edit

JCMはもともとP4時代に入ったFBMの流用ですから、極めてシンプルなのはわかります。単にパラメータ制限がなかったってことで。
キャラクタを超えてアクセス出来る(ERC)も結局FBMのパラメータを制限すんのが面倒だったから出来ちゃったんでしょうねえ(笑)
で、出来ちゃったもんだから仕様にして細かく直した、つーのが正解だと…当時から生きているポーザーユーザーは思います(笑)

Name
ほげほげ #-
Site
URL
Post Date
2007-01-24
Post Hour
23:40:03

Edit

>ほげほげさん
そうですねー。初めから明確な仕様にしてたら、もうすこし制限のあるものになっていたのだろうと思います。poseファイルはどうも、INJファイルでモーフを注入するあたりがまずいみたいですね。詳しくケース分けして調べてみないとなんとも言えませんが……。開発側が外部バイナリファイルINJ方式を用意したのも、A3以降INJ/REM方式が廃止されたのも、この辺関係してるのかなと思います。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-01-25
Post Hour
23:57:44

Edit

> 開発側が外部バイナリファイルINJ方式を用意したのも
> INJ/REM方式が廃止されたのも
このあたりを詳しく~ (ノ_・、)しくしく(笑)

Name
kirakira #E9NqROVM
Site
URL
Post Date
2007-01-26
Post Hour
02:40:54

Edit

>kirakiraさん
♪泣かないで~ひと~りで~(笑)
いえその、全然調べたわけじゃないので確実でもなんでもないのですが。
DAZはA3/H3からモーフは内蔵方式に戻したじゃないですか。INJの中身って、フィギュア番号指定した連動記述がそのまま含まれてますし、それが良くないのかな~?と。DAZもイーフロ米も、それを認識してたのかな~と。それに、P6ではポーズファイルの命令文で空チャンネルとか無くても外部バイナリモーフの中身を追加できますし。ただ外部バイナリモーフ自体フィギュア番号の参照が怪しいこと、実際にINJ適用してもフィギュア番号は一応ちゃんと書き替えられてるっぽいことなど、まだまだ謎は多いです。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-01-26
Post Hour
14:24:10

Edit

ありがとうございます <(_ _*)>ペコリ
 
(・o・)ぉぉぉぉぉ~~!!
_ψ(‥ *) かきかき。。。
ん~、まだまだ調べることがいっぱいです~ ....(o ><)o(笑)

Name
kirakira #E9NqROVM
Site
URL
Post Date
2007-01-26
Post Hour
17:57:21

Edit

Post Comment

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


Trackback

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

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/192-3d6ba503



Menu

Profile

Kyotaro

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

Categories

Calendar

10 | 2023/11 | 12
- - - 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 - -

Comments

Archives

Track back

RSS feed

Links

Search

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

※Internet Explorer非推奨。