strato Blog
趣味でやってる3DCGを主に記していきたいと思います。 主使用ソフト LightWave 8.5 &XSI Fnd
プロフィール

fstrato

Author:fstrato
stratoのブログへようこそ!

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ユーザータグ

3D-Coat Render Rig Toon Deform voxeling Texture Shader Script Hair ICE UV Animate Ritopology ModTool VertexColor Modeling 

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

TOP
身体のウェイト調整
Rigもどうにかなったので、ようやくエンベロープウェイトの再調整をすることにします。

前の「エンベローブの微調整」でやったように、ウェイトを入れ替え?すると、潰れが緩和されるので、それを膝と肘に適用します。
XSI_Rig80
指にも同様にウェイトをペイント
XSI_Rig81
(続きは下から)
次に「エンベローブのスムージング(Smooth Envelope Weight Operator)」を適応します。
XSI_Rig82
画面を見ながら、パラメーターを調整
XSI_Rig83
膝と肘は同じ値でほぼ大丈夫
XSI_Rig84

しかし、指には、この値では大きすぎるのか、スムージングが効き過ぎて、丸くなってしまう。
なので、スムージングを弱めに設定
XSI_Rig85

これを一体のメッシュに適用させるには、まずは指を選択し、「エンベローブのスムージング」を適用後、適正な値を設定
XSI_Rig86
次に、指以外の部分を選択、「エンベローブのスムージング」→こちらにも適正な値を設定
XSI_Rig87
これで、指はスムージングが弱く、身体は、強めに設定されます。

しかし、この方法には問題が……
ウェイトの修正をしようとすると、いちいちスムージングオペレーターを削除して、ペイント後、また同様に適用し直し……
と言うことになってしまいます。

これの解決方法は……
○一つ目
スクリプトで手順を自動化する。
この場合、スムージングオペレーターを「削除するスクリプト」と、「再適用するスクリプト」を作る必要があります。

//エンベローブを削除する
DeleteObj("モデル名.メッシュ名.polymsh.cls.EnvelopWeightCls.指のウェイト名.smoothenvelopeweight");
DeleteObj("モデル名.メッシュ名.polymsh.cls.EnvelopWeightCls.身体のウェイト名.smoothenvelopeweight");

//特定ポイントにスムージングを再適用する
SISmoothEnvWght(null, "モデル名.メッシュ名.pnt[指が選択された時のポイント番号が、たくさんズラーッと]");
//指のスムージングの値(0.1)に設定し直す
SetValue("モデル名.メッシュ名.polymsh.cls.EnvelopWeightCls.指のウェイト名.smoothenvelopeweight[1].profilescaling", 0.1, null);
SISmoothEnvWght(null, "モデル名.メッシュ名.pnt[身体が選択された時のポイント番号が、たくさんズラーッと]");
//身体のスムージングの値(1.7)に設定し直す
SetValue("モデル名.メッシュ名.polymsh.cls.EnvelopWeightCls.身体のウェイト
名.smoothenvelopeweight.profilescaling", 1.7, null);

とまぁ、全6行で済む為、そんなには難しくありません。

○二つ目
スムージングオペレーターをシェイプデフォームの部分にドラッグし、オペレーターをモデリングコンストラクションモードではなく、それ以降のコンストラクションモードで処理させることが出来る。
XSI_Rig88
スムージングオペレーターはドラッグすると、コンストラクションモードの処理位置が変わるようです。
なので、モデリングコンストラクションモードでウェイトを塗っている限り、スムージングには影響されません。
XSI的な機能の有効活用! という感じなのですが、これには欠点が……

何故かペイントするごとに、ペイントオペレーターが作られていく。
とにかく、クリックごとに一つ作られるので、気がつけば凄い数になる。
XSI_Rig89
普通だと、違うオペレーターが作製されない限り、一つで処理されるのに何故?
まぁ、スムージングオペレーターがモデリングの領域にあるので、フリーズMや「Weight Painter」を選択してフリーズで簡単に綺麗になるのですが、面倒な人には面倒かも……
XSI_Rig90
あと、スムージングオペレーターが、今、どのコンストラクションモードにいるのか分からない。
何かそれで問題が発生した時、見た目には全く分かりません。

もう一個、必ず表示がスムージングされた結果でしか見ることが出来ない。
「コンストラクションモードディスプレイ」「現在のモードと同期」しても、ダメ!
なので、「スムージングオペレーター」→「近傍深度」「0」にしてからじゃないと見づらい。
XSI_Rig91
オーバーライドなりスクリプトを組むなりで、簡単に「近傍深度=0」に出来ますが、やはり手間がかかる。
まぁ、こういうことも出来る程度って感じです。 蛇足なげ~!

結局、自分は「スクリプトで処理」してます。
スポンサーサイト

テーマ:3DCG - ジャンル:コンピュータ

TOP
この記事に対するコメント
TOP

この記事に対するコメントの投稿















TOP

この記事に対するトラックバック
トラックバックURL
→http://fstrato.blog78.fc2.com/tb.php/42-074b912b
この記事にトラックバックする(FC2ブログユーザー)
TOP
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。