モーフのクロストーク その2:CR2ファイルの修正

Category : Tips
『モーフのクロストーク その1:仕組み』でDAZ Studio(以下DS)でのモーフのクロストークの仕組みについて解説しました。その時は概念の説明だけだったので今回は、実際にDSではクロストークの働かない服(コンフォームフィギュア)を働くようにしようと思います。こういう作業をした方が良い理由は3つあります。

 ・PoserのCopy Morphsスクリプト(D3D)のようにラベルか内部名のどちらかを基準にベースフィギュアと服のモーフパラメータを一致させることができるツールがDSには無い
 ・ERCの記述方法によってはDSではFBMが動作しない上にMorph Followerも空振りしてしまう服になってしまう
 ・DSではJCMも動作していない場合が多い

では、ポイント別に修正方法を見ていきましょう。記事の内容は基本的にDAZのVictoria4フィギュアとそのコンフォームフィギュアを対象にしています。
※CR2ファイルを大胆に書き換えていきますので、オリジナルファイルのバックアップは必ず行っておいて下さい。

crosstalk2 SS

※CR2Builderを使ったFBM、JCMの修正部分により効率的な作業ができるよう追記しました。
※DSでモーフのクロストークが働く服の条件を一つ加えました。

■クロストークが働く条件

前回の記事の内容をまとめますと、DSでモーフのクロストークが働く服の条件は以下のようになります。

 ・FBMが存在する
 ・FBMの内部名がベースフィギュアと一致
 ・各部位のモーフチャンネルのERCのリンク先のフィギュア番号が無いか服自身
 ・ERCのリンク先部位が服自身にも存在する

この中でFBMが無いというのはV4登場以降の服ではまず無いでしょうから今回は省略します。


■チェックポイント

まず、DSでフィギュアに着用してみてクロストークが働くかどうかをチェックします。さすがにDSの販売元であるDAZ3Dで販売しているV4登場以後の服はまず大丈夫ですが、Renderosityなどのサイトで販売している服はベンダーによって対応がまちまちです。Poserでもクロストークが働かないものもあれば、Poserでのみクロストークが働くもの、わざとクロストークが働かないようにしたものなど、さまざまです。
DSでクロストークが働く場合は問題ありませんので、今回の記事の内容は必要ありません。ただその場合でもPoserではクロストークが働かなかったり、DSでJCMが動作しない場合もありますので、そちらのチェックも必要です。

どのようなERCが組んであるかはCR2ファイルを見なければ完全には分かりません。そこで、3MinutesPoserさん『CR2Builder』を使って服のCR2ファイルを確認します。こんな時Contentタブの右クリックメニュー「Browse to file location」を使えば、エクスプローラーでそのアイテムの保存フォルダが開けるので便利ですね。

まず確認するのは服のフィギュア番号です。actor名の後に:2などのようについているのがそれです。
crosstalk2 チェックポイント 服のフィギュア番号

今度は actor BODY > channels > valueParm と適当なFBMをたどります。
crosstalk2 チェックポイント valueParm

valueParmの後に続いて書いてあるのがモーフの内部名(Internal Name)、その次の行のnameの後に続いて書いてあるのがラベル(Parametersタブに表示される名前)です。V4の場合、内部名にFBMかPBMという接頭句が付いていればベースフィギュアと一致します。

続いてメッシュの存在する部位のactorを先ほどのようにモーフチャンネルまでたどります。例えばシャツならchestがいいでしょう。
actor chest > channels > targetGeom を開きました。
crosstalk2 チェックポイント targetGeom

targetGeomの後に続いて書いてあるのがモーフの内部名、その次の行のnameの後に続いて書いてあるのがラベルです。ここではERC記述にも注目します。特に参照先のフィギュア番号とモーフ名(内部名)に注目して下さい。


■Morph Follwerの空振り

ベースフィギュアにあって服に無いモーフを補ってくれるDS3Aの機能Morph Follwerはとても便利なものです。ところがクロストークが働かない服にこれを使う時は注意が必要です。手動で服のモーフを調整していた場合にMorph Follwerを使うと余分にモーフが追加されてしまったり、FBMが無効になっている上にMorph Follwerも効果が出ないということが起こりえます。
こういう現象が起こる理由はモーフの内部名にあります。Morph Followerはベースフィギュアのモーフ値が0でないモーフの内部名を参照して、それが服になければそのモーフを作るという作業をしてくれます。そのため、服のモーフの内部名がベースフィギュアのそれと一致していなかったり、一致していてもFBMのリンクが切れてしまっているモーフがあったりすると正常に機能を果たしてくれません。

内部名がベースフィギュアと一致していないモーフを手動でフィットさせている場合
crosstalk2 Morph Follower 不具合1
Morph Followerの機能で同じ変形を行うモーフが追加されたため、2倍変形してしまいました。

内部名がベースフィギュアと一致したモーフを持っていてFBMのリンクが切れてしまっている服の場合。
crosstalk2 Morph Follower 不具合2
既存のモーフチャンネルとバッティングしてしまうため、Morph Followerがモーフを作成することができませんでした。この状態では服の各部位のモーフを個別に調整するしかありません。

これらの点からもDSではモーフのクロストークを働かせることが必要なのです。


■モーフの内部名の変更

DSではBODYにあるFBMの内部名がベースフィギュアのそれと一致していることが、クロストークの第一条件です。
V4の服でよく見かけるのが、内部名がベースフィギュアと同じくFBMやPBMといった接頭句が付いたものではなく、それらが省かれたラベルと同じ名前になっている場合です。
この場合、DSではどうやってもクロストークは働きません。
Poserでは、
 ・ERCリンク先のフィギュア番号が自分自身 → クロストークは働きません。
 ・ERCリンク先のフィギュア番号が1か無し → クロストークが働きます。

FBMの内部名をベースフィギュアのそれと一致させるには、服のCR2ファイルを直接編集して内部名を書き換えてやる必要があります。多量のモーフすべてに手作業でそれをするには大変なので、置換リストが使えて複数のテキストファイルの文字列を一括して置き換えることができるツール『Speeeeed』を使いました。
私が製作したV4用の置換リストが次のファイルです。Morph++、A4、G4、Elite、S4、She-Freak4、RebySkyのだいたいのモーフ名に対応しています。

Download (「名前を付けてリンク先を保存」をして下さい。)

『Speeeeed』の使い方は以下の通りです。
まずは前準備として、この置換リストをアプリケーションと同じフォルダに置き、拡張子を.lstに変更します。そして『Speeeeed』を起動して設定ボタンをクリックして表示される設定画面で「リスト登録可能拡張子」に;*.cr2と追加し、「使用する置換えリスト」に先ほどの置換リストを指定しておきます。

 (1)『Speeeeed』のメイン画面で「置換えリストの全自動置換」にチェックを入れます。
 (2)置き換えたいCR2ファイルをドラッグ&ドロップします。
 (3)「置換開始」ボタンをクリックします。

crosstalk2 Speeeeed使用画面

※valueParm、targetGeom、parmNodeの行とERCの参照先モーフ名をすべてFBMPBM付きに変換します。
※単語が完全一致した場合のみ置換されます。
※改行コードが「CR+LF」でないCR2ファイルは置換できませんので、「Terapad」などのテキストエディタで保存しなおして下さい。
※置換元単語はV4ベースフィギュアのモーフラベルに従っています。スペルミスや複数形のsが飛ばされていた場合なども置換されませんのでご注意下さい。
※オリジナルファイルのバックアップはお忘れなく!

BODYのモーフチャンネルだけでなく、各部位のモーフチャンネルの内部名についても置換しますので、前述のMorph Followerの問題についてもこれで修正することができます。
服のERCリンク先が服自身の場合はこの作業をすればDSではクロストークが働くようになります。Poserの場合は変わらずクロストークが働かないままです。


■ERC記述の変更:FBM

服の各部位のモーフチャンネルのERCリンク先のフィギュア番号が:1という風にベースフィギュアを指していた場合、DSではクロストークが働かない上にFBMも無効になってしまいます。また、服自身を指していた場合(服のフィギュア番号が2でERC参照先がBODY:2という場合)はDSではクロストークが働きますが、Poserでは働きません。
そこで、DSでもPoserでもクロストークが働くようにフィギュア番号の指定部分を削ってしまいます。

これには『CR2Builder』を使います。実を言うと私はこれしか『CR2Builder』の機能について知らないのですが、検索結果から対象を絞り込み置換ができるFormGrepを使います。

 (1)『CR2Builder』に服のCR2ファイルをD&Dします。この時、服のフィギュア番号を確認して下さい。
 (2)SubWinメニューからNew FormGrepを実行します。
 (3)Grepタブの「Keyword」欄に「BODY:x」(xはチェックしたERCの参照先フィギュア番号)と入力し、Level(Levelはツリーノードの階層を限定するためのもののようです)を4のみにチェックしてNew Grepボタンをクリックします。
 (4)ウィンドウ下部に検索結果がリストアップされますので、ERC記述の中のものだけが対象になっているかを一応確認します。対象外のものはDeleteキーで消しておきます。
 (5)Replaceタブへ移動し、「Keyword」欄の右のFrom Grepボタンをクリックします。次に「Replace」欄に「BODY」と入力し、Replaceボタンをクリックします。
 (6)ウィンドウ下部の置換結果を確認し、それでよければSet Link TNボタンをクリックして確定します。

crosstalk2 CR2Builder FormGrep

ここまででDSでもPoserでもモーフのクロストークが働くようになります。


■ERC記述の変更:JCM

ERCの参照先をジョイント(ボーン)の回転にしているのがJCMです。これもフィギュア番号1を指していた場合にはDSでは動作しませんので修正する必要があります。

これまた『CR2Builder』のお世話になります。今度はキーワードを「:1」にして、検索結果の中からJCMのものだけを対象にして「」(何も無し)と置換します。手順はFBMの場合と同じです。

手動で書き換える場合は、FormJump(目次作成機能?)を使うとやりやすいです。SubWinメニューのNew FormJumpを実行し、出現したウィンドウのMakeTreeメニューから ERC Tree(CR2ファイル内に小道具がある場合は with Prop) > with Master Ch Link を実行します。するとウィンドウ下部に「オブジェクト#部位#チャンネル#個数」という形でERC参照先ごとにまとめられてリストアップされます。チャンネルが回転(rot)になっているものがJCMですので、それらを一つ一つチェックしていけば漏れなく書き換えられると思います。

もしも参照先のボーンが服に存在しなかった場合、『CR2Builder』を使ってボーンを追加してやる必要が出てきます。これは結構大変な作業なのでまたの機会に…。


■ケーススタディ:Ars Magica

この記事の通りにやって素直にDSでクロストークが働く場合もありますが、そうならない場合もあります。過剰にモーフが効いてしまったり、関係ないモーフが連動してしまったりする場合もあるかもしれません。そういう場合は『CR2Builder』でERCのリンクを確認したり、ログでエラーメッセージを確認すると解決の糸口になります。「Magnetize」していい服なのかどうかも要チェックです。

DSでクロストークが働くようにする例として、V4用のファンタジー風コスチューム『Ars Magica』を使って手順を追っていきます。
この製品はクロストークに対応していないので、手動でフィットさせるか、PoserのCopy Morphsスクリプトを使う必要があります。Aliceキャラクターに一発フィットさせるモーフがあるのでわざとクロストークさせないようにしているのかもしれません。今回はこれをクロストークで自動フィットするようにしてみましょう。

この服のTopのチェックポイントを確認してみると次のようになっています。
※フィギュア番号は服のパーツによって変わる場合があります。

 ・フィギュア番号: 2
 ・BODYのモーフ内部名: ベースフィギュアと不一致
 ・各部位のモーフ内部名: ベースフィギュアと不一致
 ・ERCの参照先フィギュア番号: 2

Poserの標準的なFBMですね。DSでは手動でFBMを調整することができますが、Morph Followerの使用に問題が出てきます。V4に着用するとこのように自動ではフィットはしません。V4のモーフはElite Utopian 1.0とBreastsSize 0.5を適用してあります。どちらも服にも存在するモーフです。
crosstalk2 ArsMagica2

最初に<モーフの内部名の変更>を行います。
その前にベースフィギュアのラベルと違う「A4Aiko」「A4Stylized」をそれぞれ「Aiko4」「Stylized」に『CR2Builder』などで置換しておきます。ついでにSkirt.cr2が自動着用されなかったのでconforming 1に書き換えておきました。
crosstalk2 ArsMagica3
この段階でDSではクロストークが働きます。

次に<ERC記述の変更:FBM>を行います。
これはDSでは見た目上変わらないので画像は割愛します。

最後に<ERC記述の変更:JCM>を行います。
「:1」で検索して取り去りました。
crosstalk2 ArsMagica4
とても微妙な違いですが、右肩のJCMが動作しています。

これだけで終了です。
最後にシーンを完成させてレンダリングしました。

深夜の魔術
Character:Victoria 4.2
Skin:V4 Elite: Reby Sky
Hair:Forest Princess Hair
Costume:Ars Magica -Special Edition-
Environment:Ars Magica -Special Edition-
Light:UberSoft Lighting Kit , UberSoft Light Pack1 : Moon Light



今回の画像の素材はこちら

V4 Elite: Reby Sky

Forest Princess Hair

UberSoft Lighting Kit

UberSoft Light Pack1




Comment

なるほど、以前私のブログでコメントいただいたCopyMorphスクリプトはこういう動作だったんですね。すっかり勘違いしてました。(;´▽`A``
確かD|Sではクロストークが動作しない服がありますよね。私もDAZで購入したにもかかわらず、クロストークが動作しない服があってがっかりした記憶があります。古い服だから仕方ないのかも知れませんが。(;´Д`)

とうふさんこんばんは。
実はあのコメントを書き込んでから改めてERCについて考え直してみたら、仕組みがわかってきてやっとこのように記事の形にできた次第なんです。
修正のワークフローもできたし、今はDSで不具合が出る服を逆にこちらから探しているくらいです^^

なるほど~。
すごく参考になりました!
なかなか慣れませんが、DAZStudioを使いこなそうと努力中です^^

Chocolateさんこんばんは。
少しでも服製作時のDS対応への助けになれば幸いです。
やっぱり慣れないと大変ですよね。私が過去に記事にした内容のものでもご質問がありましたら、遠慮なくどうぞ^^

Kotozoneさん 
こんにちは、
CR2Builderを取り上げていただいてありがとうございます。
Blogの内容を読むと、アナウンスしてない最新のCR2Builder Ver 2.15.4.2を使われてることがわかります。
メインメニューがマージされることを理解されてるから使いこなせてる記述には感心しております。すばらしい。
(世界のどこかにはメインメニューのマージ機能からアプリの機能を呼び出せることを理解してしまう人がいるのですね、、、、ちなみに、私がメインメニューのマージ機能の理解の為に参考にしたのは、AdobeのFramemaker です。
メインメニューのマージ機能は慣れるまで使いにくい印象があります。慣れるとFramemakerが便利かは別にして、メインメニューのマージ機能自体は便利(オブジェクト指向的として人間に向いてるUIの簡易的な拡張)だとおもいました。)

2つ気になることがあります。
●1.CR2BuilderにあるERC分析機能のFormJumpはご存知でしょうか?
(KotozoneさんにFormJumpを使っていただいて、いろいろなフィギュアのERCの解説に使っていただけると Poserを使う人々の知りたい欲求にこたえられるだろうと想像します。)
●2.クロストークを肯定的に使っている部分があるがその意図はなになのでしょうか?

1.はたぶんご存知でしょうけど、この記事には不要と判断したのだろうと推測してます。
2.ですが、私 DAZ Studioをほとんどつかっていないので、
DAZ Studioにおけるクロストークが何であるのか理解できてないので、この記事の内容を理解できてないのですが、、、、DAZ Studioを理解してないにもかかわらず
DAZ Studioのクロストークとは何なのか知りたいなーとおもいつつ何回か読んでるしだいです。
Poserでいうところのクロストーク(混信)は、異なるフィギュア間でERCが働く機能が、意図しない動作をすることだと私は解釈しています。ちなみに、クロストークは無線通信や電話で生じる混信といわれる障害のことを指す言葉なので、肯定的な意味で使う場合、なんらかの意図があるのか、
もしくは 異なるフィギュア間でERCが働く機能をさしているか、それ以外のことを述べているのか 文脈から判断しなくてはならなくて、理解する為に分析のための時間を必要とする用語の使用方法ではあります。(文書をみてると英単語とカタカナは使い分けを意識されてるように思えるので
crosstalkではなくてクロストークと書いてることに何か意図があるのか?、、、、)

ながながとすみません。
DAZ Studoのクロストークと、Poserのクロストークの違いを教えてください。お願いいたします。
でも、どんな状況にすれば、クロストークという障害が生じるのかを明示するのは困難ですのでむずかしいことは重々承知しております。

kim99さん、コメントありがとうございます。
CR2Builderはよく使わせていただいているので、ちゃんとご挨拶しなければと思っていました。

> Blogの内容を読むと、アナウンスしてない最新のCR2Builder Ver 2.15.4.2を使われてることがわかります。

未発表のバージョンだったのですね。ダウンロード場所の最新のものを使っただけなのですが、気が付きませんでした。

> メインメニューがマージされることを理解されてるから使いこなせてる記述には感心しております。すばらしい。

意識せず使っているのですが、他のタブの作業をする前にFormGrepウィンドウなどを一度閉じるクセがついていますので、ぜんぜんすばらしくないです。

> ●1.CR2BuilderにあるERC分析機能のFormJumpはご存知でしょうか?

これはkim99さんのブログを見てそんな便利な機能があるのだと気付きました。ありがとうございます。この記事にも一部取り入れさせていただいています(JCMのところ)。

> ●2.クロストークを肯定的に使っている部分があるがその意図はなになのでしょうか?

クロストークという用語は『Victoria 4.2 Base』のReadMeに書かれている"Cross-talking"をカタカナ語にしたものです。ですので、PoserでもDAZ Studioでもその意味するところは同じととらえています。
クロストークに関して私の理解した事は『モーフのクロストーク その1:仕組み』に書いたものが全てです。
私も混信などのネガティブな使われ方をするので気になってはいるのですが、「話し合い」という意味で使っています。DAZの意図としては生物学で使われる「シグナルの伝達」という意味の方が近いのかもしれません。
クロストーキングとそのまま文字にする場合と変わらないと考えたのですが、kim99さんのコメントをいただいて改めて考えると、検索語、肯定的な意味の語としてはクロストーキングの方が優秀なのかなと思い直している次第です。

> ながながとすみません。

私の書いたものを何度も読んでいただいてさらにコメントをいただけて、とてもありがたいです。

> DAZ Studoのクロストークと、Poserのクロストークの違いを教えてください。お願いいたします。

先ほども書きましたが、同じ意味で使っています。構造的な違いは『モーフのクロストーク その1:仕組み』で示した通りです。

ERC記述の変更:JCMについて

Kotozoneさん

はじめてお便りします。kikiと言います。

DS初心者です。
Kotozoneさんのサイトは、自分にとって本当にありがたい情報源で、いつも助けられています。
これからもよろしくお願いします。

そこで、ひとつ質問があります。

ERC記述の変更:JCMについてですが、
「今度はキーワードを「:1」にして、検索結果の中からJCMのものだけを対象にして「」(何も無し)と置換します。
手順はFBMの場合と同じです。」と説明がありますが、
やってみましたが、検索結果の中の、どれが「JCMのもの」なのかよくわかりません。
アドバイス頂けたら、助かります。



Re: ERC記述の変更:JCMについて

kikiさんはじめまして。
いつも私のブログを見ていただいてありがとうございます。

ご質問の件ですが、JCMの特徴として
 ・参照先のactorがBODYではなく、肩(lShldrなど)などになる
 ・参照先モーフ名が回転(zrotなど)
という点があります。そのため、FBMのように一括で置換できないわけです。
検索結果をクリックしてそのERCの記述を確認して、JCMでなければ置換対象から削除します。

JCMはあまり数が無いので、その後の説明のようにFormJumpウィンドウを使う方法がおすすめです。
非公開コメント

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

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

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

ブロとも申請フォーム

この人とブロともになる

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