MODELERからPAINTへの可動(回転)ノード持ち込みについて | CLIP STUDIO MODELERの要望・不具合ボード | CLIP STUDIO
よくある質問
教えて!Q&A
要望・不具合


CLIP STUDIO MODELERの要望・不具合ボード

更新日:2017/05/05 16:39:06
反対数:0
賛成数:1
返信数:16
閲覧数:2650
ID:93316
from mindvue さん
2017/05/01 20:20:02
 
トラブル/その他

MODELERからPAINTへの可動(回転)ノード持ち込みについて

  戦車の砲塔などの回転するオブジェクトに、上下回転する砲身を加えて可動させたいと考えています。
MODELER上では、うまく動作させることができたのですが、PAINTに持ち込んで、可動のスライダーで操作すると、
可動(回転)ノードに他オブジェクトが引っ張られて、形状がバラバラになってしまいます。

操作としては、MODELERにてオブジェクトを組み立て、PAINT形式で保存したものを、
PAINT EXにて読み込んで使用しています。(MacPro2010 OS10.11.6)

試行錯誤の結果、MODELER上で、ルートに直接各種オブジェクトを置く(フォルダに入れない)ことで、
砲塔回転時に他パーツが引っ張られることはなくなったのですが、それですと、
砲塔の回転に砲身の上下をリンクさせることができず、困ってしまいました。
(フォルダに含めると、砲身を上下させた場合、砲塔本体もつられて上下してしまう)

MODELERでは、まったく問題なく動作しているので、何か解決策などがあれば、ご教示ください。
また、MODELERの可動スライダーは(0−40)なのに対し、PAINTでは(0−100)となっていることも、
操作する側としては、ちょっと分かりにくい感じもします。

お手数ですが、よろしくお願い致します。

なお、検証用にファイルが必要であれば、送らせていただきますので、ご回答をいただけますと幸いです。





------------------------------------------------------------
■バージョン:
※Windowsは、[ヘルプ]メニュー → [バージョン情報]で確認できます。
※MacOSXは、[CLIP STUDIO MODELER]メニュー → [バージョン情報]で確認できます。

MODELER 1.6.3
PAINT EX 1.6.4

■OS
Windows XP(   ) Windows Vista(   ) Windows 7 (   )
Windows 8(   ) Windows 8.1(   ) Windows 10(   )
MacOS X 10.6(   ) MacOS X 10.7(   ) MacOS X 10.8(   )
MacOS X 10.9(   ) MacOS X 10.10( ) MacOS X 10.11( 0 )
mac OS 10.12(   ) その他(   )
------------------------------------------------------------
賛成数:1   反対数:0   
from
でんきかいでん
さん
2017/05/02 02:25:09
各オブジェクトレイヤーを階層構造(親子関係)化しないとうまくいかないのではないかと思います。

階層構造(親子関係)化は、オブジェクトレイヤーをマウスでつかんでドラッグ&ドロップで簡単に作れます。




試しに簡単な図形の組み合わせで戦車らしき物を作ってみました。



Modelerの画面



CLIP STUDIO PAINT の画面



Modelerの画面:ハッチとアンテナも付けてみた



CLIP STUDIO PAINT の画面



スライダーで動かしてみましたが、問題はないようでした。

参考になりましたら幸いですヽ(´ー`)ノ
from
スレ主
mindvue
さん
2017/05/02 06:27:08
とても解りやすくまとめていただき、ありがとうごさいます。
一応、階層化して、親子関係も問題ないと思うのですが、どうしてもうまく動作できません(泣
なお、MODELERでは、いずれの可動も問題なく、きちんと動作しているのですが・・・。
PAINTに持ち込んだら、動作に問題が起きてしまいます。

当方でも、記事を参考に簡単なオブジェクトで、戦車モデルを作ってみたところ、そちらは、
PAINTでも、正常に動作しました。

おそらく、オブジェクト数が多いこともあり、それらのどこかの形状が、何か悪さをしている可能性も
ありそうです。
もう一度、検証しながら、モデルを組み直してみようと思います。

この度は、検証モデルまで作成いただいて、とても参考になりました。
腐らず、もう少し頑張ってみようと思います・・・。


from
wodgekee
さん
2017/05/02 11:16:17
私もこれ経験したことあります。
もしかしたら、3Dオブジェクトを作成したアプリケーションでレイヤー名を付けずに名称未設定のままのファイルをクリスタモデラーに読み込んでいらっしゃいませんか?
私の経験ですと、レイヤー毎に名前を付けた3Dオブジェクトのファイル、もしくは、レイヤー名は付けなくても読み込む3Dオブジェクトのファイルは複数にせずに一つにまとめたものをクリスタモデラーに読み込めば回避できました。まだでしたらお試しください。
私の環境はwin10/64bit/クリスタモデラー体験版_v1.6.4/クリスタペイントEX_v1.6.4です。
これが見当違いでしたら、以下の文に意味が無くなりますが

これはおそらくクリスタペイントも絡むクリスタモデラー側のバグだと思います。
v1.6.4のクリスタモデラーで作成した素材が、v1.6.3のクリスタペイントでは問題なく動作していた可動が、v1.6.4のクリスタペイントでは連動して動いてしまうことを確認しましたので、その素材のアップデート版を作成していて思い至ったことなんですが、クリスタモデラー上で「_00x_1」というふうに自動で名前が割り振られることがありますよね。
これ、単に文字列だけじゃなく、何か内部的なIDのような要素も同じ値を割り振られてしまっているんじゃないかと想像しています。
以下にスクリーンショットを交えてお話します。


クリスタモデラー上で「3Dオブジェクト」を新規で作成し、「ファイルから追加」でシンプルな戦車の3Dオブジェクトファイルを読み込みました。
このシンプルな戦車は別のアプリケーションで作成し、レイヤー名を名称未設定のままにしておいたものですので、クリスタモデラーに読み込んだ直後では自動でご覧のようなノード名が割り振られます。
戦車とは別にもう1つ3Dオブジェクトファイルを「ファイルから追加」します。
このノードは後に「ルートのポリー」とリネームしますが、このノード名もまた「_001_1」で、この時点で「_001_1」が2つ存在します。
親子関係はクリスタモデラーで構築しました。
その後、戦車のパーツを適切な位置に配置し、「初期レイアウト」に保存しました。


可動をセットしています。
一番下の「ルートのポリーを回す」という可動がバグ検証用のものです。
対象ノードが「_001_1」になっていることに着目して下さい。


ノードをリネームしておきます。


クリスタペイント上で素材として使ってみます。
可動を使って砲身をまず仰角にしています。


次に砲塔を回します。
でんきかいでんさんのご例示と同じく、砲塔の子ノードにあたる砲身の可動が維持されたままで砲塔の可動がきちんと機能しています。


ここで「ルートのポリーを回す」のスライダーを動かします。
これこそがmindvueさんのお困りの状態なんじゃないかと思います。


再度「ルートのポリーを回す」のスライダーをいじって0に戻します。
キャタピラーがズレてしまっているのがお判りいただけると思います。
このスクリーンショットでは判りにくいだけで、実際は砲塔も砲身も車体もズレています。
「初期レイアウト」を適用してみてももう元の状態には戻りません。
※「初期レイアウト」以外にレイアウトをセットしてた場合は元に戻せるようです。

この例ですと、「_001_1」という重複した名前を割り振られて、一方が「車体」、他方が「ルートのポリー」にリネームされたノード同士がクリスタペイント上では同じ可動で動いてしまっています。
クリスタモデラー上では対象のノードのみが動いてくれるのでこの不具合は確認できません。
しかも親子関係を構築してるノード同士ですので、親の回転量に子の回転量も加わってぐりんぐりんと、何か大変なことになってしまっています。
ノード名が重複してしまう理由は、

・複数のファイルを読み込んだこと
・その複数のファイル内にレイヤー番号が同じレイヤーが名称未設定になっていること

あたりじゃないかと思います。
これはれっきとしたバグだと思いますんで、きちんとしたバグフィックスを早期に期待したいですね。
(このコメントの入力エリアもコピペしたりすると文字サイズが小さくなるバグがありますね…)

余談なんですが、この「ルートのポリー」というのは、極小の三角ポリゴン(nullオブジェクトの代替です。点ポリゴンや線ポリゴンだと後々不具合になるかもしれないと思ったので三角にしてます)でして、レイアウトを適用した後に可動を動かすと、初期レイアウトの位置に戻っちゃうのを防ぐために、便宜的なルートノードとしてセットしたものです。
これらをいくつか準備して親子関係を構築したものにオブジェクト本体をペアレントすると、例えば回転の起点なんかを複数設けられるんじゃないかと思います。(シンプルなイメージだとサイコロとかですかね)
from
でんきかいでん
さん
2017/05/02 18:06:07
mindvue さん

■回転軸の中心位置はどういう手順で設定されていますか?

直接関係あるかどうかわかりませんが、もし良かったら参考までに教えて頂けたらありがたいと思います。


from
スレ主
mindvue
さん
2017/05/04 09:24:43
でんきかいでんさん。  wodgekeeさん 。
お二方とも、親切にアドバイスをいただき、本当に助かりました。
新たに投稿いただいた記事を参考に、モデルの構成、親子関係を見直すことで、
何とか、PAINTの可動スライダーでも、モデルが破綻せずに、指定したパーツのみ
可動させることができました。

うまく動作できるまでの手順は以下の通りです。

前置き:
最近のPC・グラボの高速化とメモリ容量の増大もあって、ある程度の物量(ポリゴン)を
投入できるようになったので、このモデルの場合、とにかく、大小の形状をブチ込んでいます。
なお、CLIP-MODELERに持ち込む過程で、ポリゴンの面反転や面融合、意図せぬ影・・・などが
出てしまうことから、面の再分割、持ち込むパーツの細分化など、ソフトに負担のかかる要素が
てんこ盛りです(笑。


CLIP-MODELERでは、オブジェクトが階層化でき、管理も容易ですし、各ノードを指定して任意に可動できるなど、
かなり使い勝手のよいソフトだと思います。
ただ、そこが盲点でした・・・。

ここから解決編:

MODELERにおいて、ルートノードの下位に「新規ノード」を設けられますが、当初は、この「新規ノード」内に、
可動させたい各種パーツ(obj形式)を読み込んで、名称を「砲塔回転」などに指定、可動の設定を行っておりました。



画像のように、砲塔回転ノードの下位に、さらに砲身(上下回転)を加えています。
なお、MODELER上では、砲塔の回転に、砲身の上下回転も、きちんと付いてきます。
ところが、CLIP-PAINTに持ち込むと、各可動パーツを動かす際に、予期せぬ動作(モデル破綻)が発生。


そこで、こちらで相談させていただいたところ、有益な情報をいただくことができ、以下の方法を実践してみました。

まず、wodgekeeさんの記事にあった、ダミーポリを配置する方法からヒントを得て、回転パーツの中心に、
ダミーオブジェクトを配置して、そのオブジェクト自体を「親」にしてみたところ、PAINTにおいても、
モデルが破綻することなく、各種パーツが回転に追従するようになりました。





結論:

今回の現象は、他環境では検証できていないので、個人の環境に依存する現象なのか、Mac特有か、
または、OSバージョンによるものなのか・・・は、判断できません。
とりあえず、現状の解決策をまとめておくと、

1)MODELER内で「新規ノード」を増設、可動設定した場合、別に設置した「新規ノード」と関連付けられ、
  CLIPSTUDIO-PAINTにモデルを持ち込んだ際、可動スライダーによるモデルの挙動がおかしくなる場合がある。
  *ただし、MODELER内では、正常に動作するのが落とし穴だった・・・。

2)現象を回避するために、ダミーオブジェクトを作成し、それを「親」として使用する。
  このダミーオブジェクトノードを可動対象とすることで、PAINT可動スラーダーでも正常動作を確認。

と、こんな感じです。

なお、でんきかいでんさんの検証モデルを参考に、砲塔・砲身などのパーツの原点を変えようと努力したのですが、
どうにもうまく行きませんでした。
モデリングはShadeで行っていますが、簡単な形状であれば、オブジェクトの原点を変えておいて、MODELERに
持ち込んだ場合、指定した位置に原点が来ているようなのですが、ノードに複数のオブジェクトを入れた状態ですと、
どうもMODELER側の原点に戻されてしまう?みたいです。
とりあえず、回転可動では、タイムラインでオブジェクトの位置を補正することで、何とかなっております。

今回は、検証用のモデルまで作成いただいて、丁寧に説明していただき、本当にありがとうございました。
一応、もう少し様子を見て、問題がないようであれば、解決済みとしたいと思います。

何とか動かすことができて嬉しいです〜。
from
でんきかいでん
さん
2017/05/04 14:31:28
Modelerにファイルを持ち込む時のファイル形式はLWOかOBJでされていませんか?
LWOやOBJ形式ですと回転軸(ローカル座標)が原点に戻ってしまうようなのです。
ですが、FBX形式で出力した物をModelerに持ち込めば、回転軸(ローカル座標)も、階層構造も、オブジェクトレイヤー名もそのまま維持された状態で持ち込めるので便利ですので、一度お試し下さい。
from
スレ主
mindvue
さん
2017/05/04 15:09:14
でんきかいでんさん。コメントありがとうございます。
たしかに、OBJ形式にて、エクスポートしたものを読み込んで使用しています。
FBX形式であれば、座標値も保持できるのですね。なるほど・・・。
と思って、手持ちのShadeを調べてみると、バージョン古すぎ(残念
今後、バージョンアップも含め、検討してみます。
とても参考になりました。ありがとうございます。
from
でんきかいでん
さん
2017/05/04 17:55:10
FBX形式以外の場合ですと、
①可動させたいオブジェクトの座標位置(回転軸の位置)をあらかじめメモ
②可動させたいオブジェクトを移動させる。ポイントは、回転軸位置をワールド座標のXYZ=0へ移動させること。
③もちろん各オブジェクトは別レイヤーに分けておくこと。
④Modelerでファイルを開き、まず先に階層構造を作る。
⑤可動させたいオブジェクトをそれぞれ数値入力して配置しなおす。
⑥初期レイアウトの保存を実行し、配置を確定させる。
この手順でうまくいくと思いますので、お試し下さい。
Modelerの数値単位はcmです。
階層構造(親子関係)を作ると、親の座標が基準(座標0)になりますので、そこから数えてプラスかマイナスか、という計算になります。
from
でんきかいでん
さん
2017/05/04 18:12:44
以前に説明用に作った画像を貼っておきます。




from
でんきかいでん
さん
2017/05/04 18:48:12
すでにご存知かもしれませんが、一応ついでに先に書いておきますと、
FBX、LWO、OBJ、ファイル形式によってCLIP STUDIO シリーズ(PAINT、MODELER)に読み込ませた時の大きさが違いますので注意が必要です。

できればご自分でスケールチェッカーを作って試されることをオススメしておきます。
スケールを他のモデルと揃えられるようにしておいた方が何かと便利ですので。




from
スレ主
mindvue
さん
2017/05/04 19:02:44
再度の丁寧な解説、ありがとうございます。
なるほど、このような方法もあるのですね。
今回は、簡単な回転だけだったので、タイムライン上でのオブジェクト位置補正にて
対応できましたが、今後、ハッチの開閉などの処理を考えると、この方法も良いかもです。
あまり凝らないのであれば、開か閉の2パターンで処理しても良いと考えていたのですが、
スライダーでヌルヌルと動いた方が、色々と使えそうなので、色々と試してみようかと思います。
とても勉強になりました。ありがとうございます。
from
wodgekee
さん
2017/05/04 21:41:06
mindvueさん

いやぁ、よかったですねー。
せっかくのかっけえ力作の戦車が、肝心の砲塔が動かせないんじゃ画竜点睛というものでしょうし。
私の長文のレスでは、「おそらくバグ」→「れっきとしたバグ」という、ギャグみたいな流れになっちゃってましたが、mindvueさんのレスを拝読しまして、私も手持ちの3Dオブジェクトを使って実験してみて、もはや確信の域に達しました。

・ルートノード直下に「新規ノード1」※「+」アイコンから新規で追加したノードです
・「新規ノード1」の直下にA.lwo
・A.lwoの直下に「新規ノード2」
・「新規ノード2」の直下にB.lwo

という構造体を作って、

・「新規ノード1」を対象とした可動「新規ノード1を動かす」
・「新規ノード2」を対象とした可動「新規ノード2を動かす」

をセットしてから素材にして、クリスタペイント上で動かしてみたら、「新規ノード2を動かす」で「新規ノード1」も動いてしまうのを確認しました。
親ノードの「新規ノード1」の回転も加わって「新規ノード2」の方は、ワールド回転だと2倍回ってしまうという、先の私のレス中のシンプルな戦車の車体が回るのと同じ状況でした。
実は私の方も、シンプルな戦車の例とは別の実験をしていました。
また長くなるとあれなので割愛しますが、名称未設定のレイヤーが最初のレイヤーのケースではなく、自動で「_002_1」になってノード同士についてのものでしたが、結果はやはり同じでした。
macとかwinとかは関係なく、クリスタモデラーによる新規ノード同士、あるいは自動で「_00x_1」と同じ名前が割り当てられるノード同士でも、クリスタペイント上では判別つかない状態と考えるべきでしょうね。
何はともあれ、打開策が見つかってよかったですね。
が、しかし──実際のところは、ノード関係の割と重度なバグとしてサポートご担当者様はお考えになるべきじゃないかと思います。

余談ですけど、私はlightWave11.6使ってモデリングしてlwoのままクリスタモデラーに読み込んで(ノードを「ファイルから追加」して)いますけど、大きさはきちんと保たれていますよ。
それとFBX(lightWave layOutからの書き出し)形式だとペアレント構造は維持できましたが、ローカル座標はワールド(0,0,0)にリセットされてしまいますね。
lwo、FBX形式で書き出すアプリケーションの違いとかあるのかもしれませんね。
from
でんきかいでん
さん
2017/05/04 22:09:28
形式はFBX binaryで、バージョンはFBX2014であればうまくいくようです。

ファイルをリネームせず、新規で作成したオブジェクトを追加でMODELERに読み込んだ場合、ファイル名が同じである場合に起こるという話をLWOファイル形式を使って自分なりに検証してみましたが、不具合が起こらずわかりませんでしたので、そのことについては触れませんでした。




from
スレ主
mindvue
さん
2017/05/04 22:37:41
wodgekeeさん。どうもです〜。
この度は、色々とアドバイスをいただき、ありがとうございました。

なお、そちらでも検証いただいた結果、同じ現象だったとのことで、とりあえずは、可動させるノードは、
MODELERデフォの「新規ノード」を使わない方が無難・・・ってことですね。
リネームしてもリンクが切れないところから、プログラムの内部処理の問題みたいですね。
また、MODELERに持ち込んだ際に自動で生成されるオブジェクトについても、何らかの共通IDを
持っているため、PAINT内では、関連付けされたままになっている・・・みたいな感じでしょうか。

いずれにしても、回避できる方法が見つかったので、とりあえずはよかったです。

サイズの件に関しては、今回の場合ですと、戦車の幅285(cm)と指定することで、PAINTのキャラとの
整合性は保たれています。

MODELER内で寸法を変化(縮小)させた状態で、Shadeから追加でオブジェクトをインポートしてみましたが、
きちんと縮小後のサイズで追加されました。
てっきり、リサイズ前の大きいオブジェクトが出現すると思っていたのですが、これは便利に出来ているな〜と、
感心いたしました。

ローカル座標の保持については、MODELERにて再設定できる機能があれば欲しいところです。
とりあえずは、モデルも組み上がったので、もう少し調整してみようと思っています。

それでは、また、お知恵をお借りするかもしれません。その際は、是非ともよろしくお願い致します。


セルシス様

ここまでの記事で、MODELERにおける新規ノード追加と可動設定、それらのPAINT上での動作についての
不具合がいくつか判明しております。
当方の問題は、とりあえず解決いたしましたが、本件の改善を要望させていただきます。
ご対応いただけますと幸いです。よろしくお願い申し上げます。
from
でんきかいでん
さん
2017/05/04 22:55:32
あー、「新規ノード」ですか、気付きませんでした、すいません。
今まで「新規ノード」を必要としたことがなかったので、まったくわかりませんでした。
「ファイルから追加」しか使ったことがありませんでした。
また後で自分なりに確認してみます。
自分の思い込みだけで(書かれていることをちゃんと読めておらず)見落としていてすいませんでした。
from
でんきかいでん
さん
2017/05/05 16:39:06
■「新規追加」で作られる「新規ノード」の必要性が私にはわかりませんでした。
 むしろ新規ノードを作って階層構造を作ると、「オブジェクトのレイアウトを保存」していてもCLIP STUDIO PAINT で開いてスライダー操作するとまるで「オブジェクトのレイアウトを保存」していないような動きが起こって、収拾がつかなくなることを確認しました。



■回転軸にダミーオブジェクトを置く手法は、私はオススメしません。
 この手法は私も過去にやったことがある方法ではありますが、回転軸座標がローカル座標であることがわかってからは、やらなくなった手法です。
 理由として、ダミーを隠せる場合はいいかもしれませんが、回転軸部が薄い場合、尖っている点状の場合、回転軸部にオブジェクトが無い場合、などには使えない手法だからです。
 更に回転軸(関節部)が増えるほど不要な面を増やさなければならない手法のため、良い方法とは思えませんので、私は現在は他の方にこの手法をオススメしていません。

■ファイル形式FBX binary FBX2014で保存してから、MODELERで可動設定することを現在の私はオススメしています。
 「複数のオブジェクトレイヤーがそのまま維持される」、「階層構造がそのまま維持される」、「日本語のファイル名がそのまま維持される」、「ローカル座標がそのまま維持される」、「スムージング・非スムージングが使い分けられる」、といった複数の利点が有り、これらは他のファイル形式ではできないからです。(この先MODELERがアップデートされて変わる可能性もあるので、現時点でのオススメです)

※ただし、FBX2014形式でファイルを保存できない場合は、下記の手法を私はオススメしています。

■オブジェクトを(回転軸部XYZ=0へ)移動させておく方法。
 各自がお使いの3Dモデリングソフト上で、作り上げた3Dの各回転軸部の座標をメモしておき、その後で各オブジェクトを回転軸部がXYZ=0の位置に来るように移動させる。(メモした座標のプラスマイナスを逆にすればいい)
 その後そのファイルをMODELERで読み込み、まず先に「階層構造を作る」、その後で「数値入力で各オブジェクトの配置を元に戻す」。
※この時、親子関係のオブジェクトはすぐ上の親が原点になり、その親の座標から始まる座標数値になるので、引き算が必要になる。
 この方法であれば正確に回転軸部が元の位置に戻るので、矢印をつかんで目分量で配置すると少し回転軸がずれていたというトラブルが起こらないからです。

□余談ですが、「CLIP STUDIO MODELER ユーザーガイド」の「可動パーツを設定する」で説明されている手法は、私ならオススメしません。
 回転軸を本来回転させたい座標に配置せず、MODELERのスライダーだけで強引に何分割にも分けて「回転軸が違う場所にあるように回転しているように見せている」方法なので、あの手法では多関節のモデルは作れないでしょうし、強引に設定しても必ずズレが生じると思われますので。

2019年11月28日に本サービスの投稿受付は終了いたしました。「CLIP STUDIO SUPPORT」をご利用ください。

よくある質問
教えて!Q&A
要望・不具合