モーフのクロストーク その1:仕組み

Category : Tips
前回の記事にてフィギュアと着衣のモーフを連動させる仕組み「クロストーク(cross-talking)」があるとお話ししました。これのおかげで、モーフパラメータを操作する手間が半分になっている便利な仕組みです。そしてこれの元になっているのがERCという仕組みです。ただ、このERCについてはPoserとDAZ Studio(以下DS)ではその制約や着用の仕様の違いから、Poserでは動作してもDSではそうでない場合が多々あります。
具体的には、DAZ3Dで販売されているV4用の服ではほぼすべてDSでもクロストークが働くのですが、Renderosityなどの他のサイトで販売されている製品ではベンダーによって対応がまちまちです。
そこで今回は、ERCについて解説するとともに、Poser、DS両方でクロストークがどのように働くのかをまとめたいと思います。

この記事を書くにあたって、次のサイトを参考にさせて頂きました。ありがとうございます。
 流転四界ぶろぐ:フィギュア番号と連動記述
 trashcan:JCMとERC再び
 Forum3D:DAZ studio で起こる靴下等の不具合について
 豆腐アラモード:Poserとの互換性について

crosstalk SS

※DSのクロストーク図について補足しました。
※DSでクロストークが働く条件について追記しました。

■ERCの記述

ERCはオブジェクトのパラメータを連動させるための仕組みです。

CR2ファイル内ではERC(Delta Addタイプ)は次のように記述されます。

valueOpDeltaAdd
Figure
BODY
FBMVoluptuous
deltaAddDelta 1


これはフィギュアの各部位のモーフチャンネルに対して記述されます。
このERCにより、

(1行目がERCの宣言です)
どのオブジェクトの
どの部位の
どのパラメータが1変化した時に
どれだけこのパラメータが変化するかを

決定しているわけです。

上の例だと
フィギュアのBODYパーツのFBMVoluptuousというモーフが1増えた時に、このモーフの値を1増やす
という事になります(値は比率ですので、0.1でも変化します)。


■ERCの確認

どのパラメータがERCによってどこへリンクしているのかはアプリケーション上で確認することができます。
DSの場合、Parametersタブでモーフチャンネルの名前の部分をダブルクリックすると開く設定ダイアログのControllers欄に、ERCの参照が表示されます。
crosstalk パラメータタブ DS
crosstalk ERC確認 DS

Poser 8では、パラメータパレットのモーフダイアルの右にある◎+こんなアイコンをクリックすることで開くダイアログのDependent Parameters欄にERC参照がリストアップされます。
crosstalk パラメータパレット Poser
crosstalk ERC確認 Poser


■フルボディモーフ

ERCの用途として一番分かりやすいのがフルボディモーフ(FBM)です。
フィギュアの腕や足などの各部位にはそれを変形させるモーフが仕込まれています。例えば全身を筋肉質にするモーフなどの場合、複数の部位に同じ名前のモーフを仕込みます。しかし、全身にあるモーフを一つ一つ操作するのは手間がかかります。そこで、それらをまとめて操作できるようにしたのがフィギュアのルート(BDOY)にあるFBMです。
ERCにより、FBMの値を変化させると全身(または限定された部位)のリンクしたモーフを同じ分変化させる、という記述がされています。
FBMはPoserであれば簡単に作成できます。Figureメニューの「Create Full Body Morph」を実行すれば、現在の状態をFBMとして作成します。

服のFBMはこのような記述になっています。

valueOpDeltaAdd
Figure 2
BODY:2
FBMVoluptuous
deltaAddDelta 1


2と番号の付いているのはフィギュア番号です。Poserではフィギュアはこのフィギュア番号で識別され管理されます。一般的にはベースフィギュアが1番で服は2番以降が割り振られることになるようです。上の例ではフィギュア番号2の服のものですので、自分自身を指していることになります。


■モーフのクロストーク

Victoria 4フィギュアにおけるクロストークについては、『Victoria 4.2 Base』のReadMeに書かれています。

*Note: If you are using Poser, be sure that the correct Victoria4 figure is selected in the scene before loading the clothing item for that figure, to ensure proper "cross-talking".

("Cross-talking" means the settings for all of the morphs, that both the clothing item and figure have in common, will be copied from the figure to the clothing item. Only the settings in the morphs that are common will be applied to the clothing item - it does not gain morphs from the base figure.)


フィギュアと服に共通のモーフが存在する時、フィギュアから着用した服へモーフ設定がコピーされる。とあります。

モーフのクロストークは前述のFBMに少し手を加えることで実現されます。
通常なら服の各パーツと服のBODYのモーフチャンネルをリンクさせるところを、服の各パーツとベースフィギュアのBODYのモーフチャンネルをリンクさせてしまうのです。

クロストークする服(フィギュア番号2)のFBM記述は次のようになっています。

valueOpDeltaAdd
Figure 1
BODY:1
FBMVoluptuous
deltaAddDelta 1


本来なら:2となるところを:1とすることでベースフィギュアを指しているのです。
こうすることで、ベースフィギュアのFBMを変化させると着衣のそれにリンクしたモーフが変化します。

ところが、この記述ではPoserではクロストークが働きますがDSではそうなりません。どうやらDSではERCはそのフィギュア内で完結しなければいけないという制限があるらしいのです。
ではどういう書き方ならPoserでもDSでもクロストークが働くようになるのでしょうか。その方法は『Victoria 4.2 Morphs++』に付属している「Victoria 4 Developer Kit」のReadMeに書かれています。

Morphs:
Any morphs you have created will need to be added to the clothing item. Any morphs that coincide with those of Victoria 4 may also need ERC declarations added to create a connection to those morphs in the conformed-to figure. Also, those ERC declarations should not include instances (:1, :2, :3, etc.). This will allow the morph to ‘connect’ and follow when a value is applied to the coincidental morphs in the wearing figure.


下線を引いた部分がそれです。
ERC記述でBODY:1などとなっている部分をBODYというようにフィギュア番号を指定しないで書くということです。

DAZ販売の服のCR2ファイルを見ると他にも特徴が見られます。
 ・服のフィギュア番号は1
 ・ERC記述には全くフィギュア番号を入れない


■DSとPoserでの違い

※これまで(ERCの確認除く)は、Poserの先駆者達が解明してきた事を私なりにまとめたものです。
ここからは、私自身が実験と推測を繰り返したことをまとめたものですので、間違っていたり、誤解していたりするかもしれません。もっと詳しい情報をご存知の方はコメントをいただけると嬉しいです。

最初に、ERCについてはPoserとDSで制約が違うと書きました。そのため、モーフのクロストークの仕組みが違います。図にするとこんな感じです。青い矢印がモーフ値の伝達の流れを示します。

 ・Poserでのクロストーク
crosstalk リンク構造図 Poser
Poserではフィギュア番号でERC参照先を管理しているため、直接リンク先を指定しているのでこのような図になります。そのため、2体のベースフィギュアを配置して、クロストークを働かせた服をそれぞれ着せた場合、フィギュア間で服を交換してもモーフが連動するのは元に着せていたベースフィギュアとの間です。

Poserでモーフのクロストークが働いている時、服のFBMは働かなくなります。ERCの確認をしてもらうと分かるのですが、服の各部位のモーフはベースフィギュアのFBMとリンクしているので、服のFBMとはリンクしていないのです。そのため、服のFBMを操作して微妙にモーフの具合を調整することはできなくなります。これを嫌い、クロストークさせない人もいるようですね。

 ・DAZ Studioでのクロストーク
crosstalk リンク構造図 DS
DSではERC参照先を自身以外にはできないので、FBMはそのままで、ベースフィギュアのFBMパラメータを着用した服のそれにコピーしている(または服がベースフィギュアのFBMパラメータを参照している)ようです。先ほどのPoserでの服交換実験をDSでした場合、現在来ている服との間でモーフが連動します。クロストークが働くための仕組みを持っていると言えるかもしれません。
ここで注意点があります。DSではベースフィギュアと服のモーフの対応を内部名(Internal Name)で調べているようで、ラベル(Label:CR2ファイルにおけるnameと付いている行です)が同じでも内部名が違えばパラメータのコピーは行われません。

また、このような仕組みから、ERCの参照先が服の方に無い場合はそのERCが働きません。これはボーンのパラメータをERCによって参照するJCMという仕組みに関係してきます。よく見られるのが、スカートのモーフを脚(lThigh、rThigh)の回転に連動させるERCを組んでいて、その服には脚のボーンが存在しない場合です。この時にPoserではフィギュアの脚のボーンの回転を見に行くので動作するのですが、DSでは服の脚のボーンの回転を見に行くので動作しないのです。もっとも、このような場合のJCMは直接フィギュア番号1を指定している場合が多いのでもともとDSでは動作しません。
もう一つ、図を見ると推測できるように、FBMが存在しないモーフはクロストークが働きません

DSで服のモーフのクロストークが働くと、服のFBMでリンクしているものは隠されます。「Show Hidden Properties」でそれらを表示してから操作してもやはり何も反映されません。

※図まで作ってはみたものの、これは実験とDAZの数少ないドキュメントに頼って、DSの着用がこういう仕組みならいろいろと矛盾無く説明できるという見地に立った説なので、間違っているかもしれません。例えば、クロストークが働いた状態で服の各部位のモーフのERC参照先を確認するとベースフィギュアを指します。これはProperty Editorで見るとFBMとして服のBODYとリンクしたままなので、パラメータ設定での表示はクロストークも加味しているのかもしれません。
※DSのクロストークにはFBMが必要という条件ですが、正確な表現としては服に仕込まれたvalueParmチャンネルが着用先ベースフィギュアの同じ部位のモーフパラメータ(valueParmまたはtargetGeom)を参照するということのようです。そのため、BODYでなくてもvalueParmチャンネルがあればクロストークは成立します(Chocolateさん作のNatu3のサイズモーフを見て気付きました)。ただし、同じ部位に同じ内部名のvalueParmとtargetGeomを記述するとダメなようなので、自然とFBMに限定されてしまいます。
※ERCの参照元は同じCR2ファイル内の小道具でも大丈夫です(Chocolateさん作の『AD Cyber Girl Set for Natu Ver 3.0Cyber Girl Set for Natu Ver 3.0』を見て気付きました)。小道具とERCとの関係は改めて調べてみないといけませんね。

このように仕組みが違うクロストークですが、前の項目の通りにERC記述をすれば、両方に対応できるようにアプリケーションが解釈してくれます。


Comment

非公開コメント

著書
カレンダー
05 | 2017/06 | 07
- - - - 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 -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 マテリアル DSシェーダ ライト DS基本 セール Genesis IBL アニメーション タブ解説 iray LuxRender Genesis2 スクリプト ダイナミッククロス ShaderMixer セットアップ Download レタッチ トゥーン バージョンアップ カスタマイズ SSS Photoshop ウェイトマップ NGM D-Form ERC ファー Miki2 IDL M4 大気 物理シミュレーション ボリューム Terrain パーティクル カラーコレクション Genesis3 モーフセット インスタンス アナグリフ V5 カメラ ロボット RAMDisk ダイナミックヘア Hexagon GIMP 3Dプリント SLG モーションキャプチャ Python K4 Linux 日本語訳 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター