2-2 スキニング

スムーズ スキニング

ボーンの動きに応じてキャラクター モデルが皮膚のようになめらかに変形することを「スキニング」と言います。まず、オブジェクト パネルで、スキニングさせたいキャラクター「sdef:body」と、ボーンのルートである「ヒップ」ジョイントを、キーボードの「SHIFT」キーを押したままクリックして選択します。

「オブジェクト(O)」メニューの「スムーズ スキニング」をクリックします。

「スムーズ スキニング」ダイアログが表示されます。セットしたくないボーンは、「参照するボーン」でチェックをはずします。「減衰率」を大きくするほど、メッシュとボーンの距離に応じたウェイトの強弱が大きくなります。

「OK」をクリックすると、現在のツールは自動的に「ウェイトペイント ツール」(W)に切り替わります。「ウェイトペイント ツール」では、キャラクターモデルの各頂点に対するボーンの影響度を、マウスでペイントすることによって調整します。(スムーズ スキニングを実行するとオブジェクトが表示されなくなる場合、「よくある質問」のQ3を参考にしてください。)

「ウェイトペイント ツール」では、3Dウィンドウ上のモデルは以下のように白黒のグラデーション表示になります。
(mikoto_bone7_mir.toy)

ウェイト ペイント

ツール ウィンドウ(Ctrl+T)の左のリストで選択されているのが現在のペイント対象のジョイント(ボーン)です。「ヒップ」ジョイントが選択されているので、色が「真っ白」の頂点は「ヒップ」ジョイントの影響度が100%であり、「真っ黒」の頂点は影響度0%と言うことになります。

モデル上でマウスの左ボタン ドラッグをすると、マウス カーソルが円形になり、その範囲内にある頂点が白くペイントされます。「不透明度」が1未満の場合,頂点上を一度ペイントしただけでは完全な白にはならないので、ペイントを繰り返すことで、微妙な変化をつけることができます。「表面をペイント」チェックをOFFにして奥行き全体について大まかにペイントし、ONにして表面の細かい箇所をペイントします。
例えば今回のモデルの場合、「スムーズ スキニング」を実行したままの状態では、「左もも」ジョイントの影響度が軽すぎるので、ツール ウィンドウで「左もも」ジョイントを選択し、下図のようにペイントすることで、「左もも」の影響度を重くしてやります。

「表示」メニューの「視点の回転中心をセット」(F7)をクリックすると、マウスの右ボタン ドラッグによる視点の回転中心を、選択しているジョイントがペイントされている頂点の中点にセットすることができます。

実際にスキニングによる変形の度合いをチェックするには、ツールバーを「回転 ツール」(R)にして、

ジョイントを実際に回転させてみます。ジョイントの影響度が重い頂点ほど、頂点はそのジョイントの回転に追従して強く引っ張られます。

ウェイト ペイントを再開するには、ツールバーを「ウェイトペイント ツール」(W)にして、キャラクター モデルを選択します。

関連するジョイントの位置や角度等を、スムーズ スキニングを実行した直後の状態に戻したい場合、キャラクター モデルを選択して、「オブジェクト(O)」メニューの「バインド ポーズ」をクリックすれば、

ジョイントの位置や角度等が、スムーズ スキニング実行直後の状態に戻ります。

このように、ウェイト ペイントおよび変形のチェックを、キャラクター モデルの全身の部位に対して行います。ボーンを実際にアニメーションさせないと変形がわかりにくい部位については、ボーンのアニメーション設定後に再調整することもできます。
(mikoto_bone8_mir.toy)

複雑な形状のペイントについて

ポリゴンの形状が複雑でペイントしにくい場合、不要なポリゴンを非表示にした状態でペイントすることができます。メイン ツールバーの「ポリゴン非表示」ツールを選択し、非表示にしたいポリゴンを直接クリックするか、

ポリゴンを選択した状態で、「ポリゴン」メニューの「ポリゴンを非表示にする」をクリックすることで、不要なポリゴンを非表示にできます。

例えば、このモデルの前髪をペイントしたくない場合、

以下のように、前髪を非表示にした状態でペイントを行います。

非表示になっているポリゴンを再び表示するには、「ポリゴン」メニューの「非表示のポリゴンを表示する」をクリックします。

非表示にしたいポリゴンをポリゴンの選択セットとして登録しておくと、ポリゴンの選択はより簡単になります。

2-2 スキニング” へのコメントが 40 点あります

  1. すばらしいソフトの開発&サポート、ご苦労さまです。(^^)b
    まだ、アニメーションの初心者ですが、遊ばして頂いています。
    ウエイトペイントを使いたいのですが、モデル上で左クリックをすると
    カーソルが円形に変わらずにウエイトモードから抜けて、オブジェクトの
    選択になってしまいます。何か、操作に間違いがあるのでしょうか?
    お時間があったらお教えください。ぺこ

  2. meguさま

    オブジェクト ウィンドウの「編集不可」がONになっていませんでしょうか?

    また、「編集不可」がONの場合でも、オブジェクト パネルで選択すると、
    ペイント出来るようになっています。

  3. ピエールさん
    ご回答、ありがとうございました。結局やり直してしまったので
    本当の原因は不明ですが、何とか、リギングは出来ましたので、
    この先に進んでみます。
    いろいろといじって見ますので、これからもよろしくお願いします。

    素敵なソフトの提供、ありがとうございます。
    これからもバージョンアップなど、がんばって下さいね。

  4. はじめまして!

    最近使い始めたばかりでまだよくわからないんですが

    このスキニングでペイントするときに白から黒には塗れないんですか?

    お手数かけてすみません^^;

  5. おつかれさまです。
    さて、この手順の通りに作業すると、わたしの環境では1.4.1以降では動作しません。

    1.4.1でスムーズスキニングを一旦掛けてしまうと、
    「ポリゴン選択モード」以外ではモデルが一切表示されなくなります。
    そのため、アニメーション関連の調整ができなくなります。
    モデルをインポートした時点では表示されています。

    なお、1.3.0,1.3.8,1.4.0は、この手順の通りで正常に動作することは確認できました。
    また、1.4.1でも他のメニューはほとんど動作するようです。

    環境は以下の通りです。
    Windows Vista Ultimate(32bit), DirectXはVistaに更新をかけた以外に
    August 2007のDirextX Enduser Runtimeを動かして更新できるものは
    更新しています。

    以上の問題は、当方の環境問題でしょうか。

  6. バリアウトさん。
    ご報告ありがとうございます。

    Vistaの場合、スキニング時の描画処理に違いがあるようですね。
    「ツール」メニューの「デバイス」ダイアログで、「ハードウェア頂点処理」をONにして
    みたら、動作しますでしょうか?

  7. ありがとうございます。
    1.4.0.6で、以下の状態で動作することを確認しました。

    デフォルト:ハードウェア頂点処理ON=>モデルが見えなくなる
    変更:ハードウェア頂点処理OFF=>正しく動作

    動作した際のデバイスの状態を示すテキストは以下のように表示されていました。
    「ラスタライザ: ハードウェア
    頂点処理: ハードウェア+ソフトウェア
    スキニング処理: 固定機能+頂点シェーダ
    Zバッファー: 24bit
    最大描画プリミティブ数: 5592405
    固定機能 最大ブレンド行列数: 4
    固定機能 最大ブレンド行列インデックス: 255
    固定機能 最大ライト数: 255
    頂点シェーダ バージョン: 3.0
    頂点シェーダ 最大定数レジスタ数: 8192
    頂点シェーダ 最大命令数: 4294967295
    ピクセルシェーダ バージョン: 3.0
    最大テクスチャーステージ数: 8
    最大同時テクスチャー数: 8
    最大テクスチャーサイズ: 8192,8192
    バンプマッピング: 有効
    輝度付きバンプマッピング: 有効
    フルシーンアンチエイリアス: 利用不可」

  8. とりあえずスキニングの確認はできるようになってよかったです。
    「ハードウェア頂点処理」をOFFにする必要があるのですね。

    今のところ、Vistaには正式対応していないです…。(^~^)

    デバイス ダイアログのテキストの貼り付けありがとうございます。
    もしよろしければ、「ハードウェア頂点処理」をONにした(動作しない)
    状態のテキストも貼り付けていただけると助かります。

    (追記)
    最新バージョンでは、Vistaにも正式対応しています。

  9. お疲れ様です。ONにしたときのテキストはこうでした。

    ラスタライザ: ハードウェア
    頂点処理: ハードウェア
    スキニング処理: 頂点シェーダ
    Zバッファー: 24bit
    最大描画プリミティブ数: 5592405
    固定機能 最大ブレンド行列数: 4
    固定機能 最大ブレンド行列インデックス: 8
    固定機能 最大ライト数: 10
    頂点シェーダ バージョン: 3.0
    頂点シェーダ 最大定数レジスタ数: 256
    頂点シェーダ 最大命令数: 4294967295
    ピクセルシェーダ バージョン: 3.0
    最大テクスチャーステージ数: 8
    最大同時テクスチャー数: 8
    最大テクスチャーサイズ: 8192,8192
    バンプマッピング: 有効
    輝度付きバンプマッピング: 有効
    フルシーンアンチエイリアス: 利用不可

  10. ウェイトペイント時のツールウィンドウが見づらく、ジョイントの選択に迷う。ジョイントの表示を
    Root\ヒップ
    Root\ヒップ\股間
    (等等)
    と、Dosのディレクトリ表示みたいになっているのを
    オブジェクトパネルに表示される様にならないでしょうか。
    (画面イメージを下記にアップしています。ご覧いただければ判りやすいかと思います)
    http://www.geocities.jp/hjbw308asbn034/gihe42dlgkf/img/001.jpg

  11. 煮魚さん。ご要望ありがとうございます。

    ツール ウィンドウで表示されているのボーン リストは、オブジェクト ツリー全体の
    中から「選択」され、スキンから直接リンクされているボーンのリストです。

    なので、バラバラな位置にあることもあり、単純にツリー状に表示することはできないです。

  12. すみません、質問なのですがミラー設定のオブジェクトに
    スキンニングを実行しようとするとミラー設定が解除されてしまい、
    二度と設定できなくなってしまう様のですが‥再度設定する方法は
    ないでしょうか?

  13. てんまるさん。ご質問ありがとうございます。

    スキニング状態ではミラーは無効になりますので、スキンのオブジェクトを選択し、
    「オブジェクト」メニューの「スキニングをクリア」をクリックしてスキニングを解除すれば
    ミラー化できるようになります。

  14. ピエール様、回答どうもありがとうございます。
    なるほど、スキニングとミラーは両立しないのですね。
    そこら辺の事が理解できていませんでした。納得です。

    もしかすると、ミラー設定されている時はスキニングしようとすると
    ワーニング表示とかしたほうが分かりやすいかもです。
    (スキニングしたければフリーズしろ、みたいな‥)

  15. こんにちわ(・∀・)
    使わせていただいています。
    質問なのですが、
    右っかわだけペイントすれば左も自動でやってくれるような
    機能はないのでしょうか?

    あと消しゴムをかけるときにペイント値に毎回毎回-1を入力するのが
    めんどくさいので、不透明度のとこのようにバーで変えれるように
    して欲しいなーとか思ったりしますがいかがでしょう

  16. shuuchanさん
    ご質問などありがとうござます。

    > 右っかわだけペイントすれば左も自動でやってくれるような
    > 機能はないのでしょうか?

    ウェイトのミラーコピー機能が必要ですね。この機能のご要望は
    多いです。

    > あと消しゴムをかけるときにペイント値に毎回毎回-1を入力するのが
    > めんどくさいので、不透明度のとこのようにバーで変えれるように
    > して欲しいなーとか思ったりしますがいかがでしょう

    これもよく言われておりまして、早めに対応しようと思っています。

    既存機能の改良と新機能の追加のバランスをとる必要がありますが、
    やはりご要望の多いものを優先して取り組んでいますので、
    よろしくお願いいたします。(^~^)

    (追記)最新バージョンでは、以下の機能に対応しています。
    ・ボーン ウェイトのミラー コピー。
    ・ウェイト ペイントの「-1」のボタン。

  17. ピエールさん、始めまして。
    素晴らしいツールの開発、ご苦労様です。
    今後のアップデートの際に、可能であれば追加して欲しい機能の要望がございます。
    一つは皆さんも言われているウェイトのミラーコピーなのですが、もう一点は頂点にすでに設定されているウェイトの値の読み出し機能です。
    フォトショのスポイトツールの様な感じですでに設定済みのウェイトを拾えたりしたら、すごく使いやすいのではないか?と思うのですがいかがでしょうか?
    どうぞご検討ください。

  18. gedo831さん, はじめまして。

    ご要望などありがとうございます。

    ウェイトのスポイトツールですね。こういった機能があると便利
    ですね。同じことを当初考えていたのですが、いつの間にか
    忘れていた感じです。

    ご要望のリストに入れさせていただきます。

  19. ピエールさん、はじめまして。

    1.5.0.5でチュートリアルを進めていたのですが、
    この欄で躓いてしまいました。
    症状は>>9のバリアウトさんと同じでスムーズスキニングを実行すると、
    「ポリゴン選択モード」以外ではモデルが表示されません。
    その状態でジョイントを動かしてもボーンだけが動き、モデルは動きません。

    具体的には、
    >実際にスキニングによる変形の度合いをチェックするには、
    >ツールバーを「回転 ツール」(R)にして、ジョイントを実際に回転させてみます
    で回転ツールを押すとモデルが消えてしまいます。

    「ハードウェア頂点処理」のON・OFFも試してみませんでしたが変わりませんでした。
    1.5.0.4も試しましたが、駄目なようです。

    mikoto_bone7.toy以降のサンプルを読み込んでも、
    「ポリゴン選択モード」以外ではボーンしか描画されません。

    私の環境は
    Windows XP Home Edition SP3
    DirectX 9.0c
    です。

    何か思い違いをしてるのでしょうか。どうかご助力ください。

  20. nigoさん はじめまして。

    ご質問ありがとうございます。

    ToyStudioを起動してそのままmikoto_bone7.toy
    を開くと、ボーンだけしか表示されないということ
    になりますでしょうか?

    ビデオカードの名前とビデオメモリの容量を教えて
    いただけますか?

  21. >ToyStudioを起動してそのままmikoto_bone7.toy
    >を開くと、ボーンだけしか表示されないということ
    >になりますでしょうか?

    そうです。スムーズスキニングを実行したと思われる
    mikoto_bone8.toy、mikoto_bone9.toyも同様です。

    ビデオカードは

    Card name: NVIDIA GeForce 9600 GT
    Display Memory: 512.0 MB

    です。

  22. ToyStudioの「ツール」メニューの「デバイス」ダイアログでの、
    「ハードウェア頂点処理」をONで起動した場合と、OFFで起動
    した場合について、「デバイスの状態」内に表示されている
    文字列をコピペしていただけますか?

    また、OSの画面の設定などから起動できる「NVIDIAコントロールパネル」
    の3D設定などで何か設定をされましたか?

  23. ハードウェア頂点処理ON時

    ラスタライザ: ハードウェア
    頂点処理: ハードウェア
    スキニング処理: 頂点シェーダ
    Zバッファー: 24bit
    最大描画プリミティブ数: 8388607
    固定機能 最大ブレンド行列数: 4
    固定機能 最大ブレンド行列インデックス: 0
    固定機能 最大ライト数: 8
    頂点シェーダ バージョン: 3.0
    頂点シェーダ 最大定数レジスタ数: 256
    頂点シェーダ 最大命令数: 65535
    ピクセルシェーダ バージョン: 3.0
    最大テクスチャーステージ数: 8
    最大同時テクスチャー数: 8
    最大テクスチャーサイズ: 8192,8192
    バンプマッピング: 有効
    輝度付きバンプマッピング: 有効
    フルシーンアンチエイリアス: 利用不可

    ハードウェア頂点処理OFF時

    ラスタライザ: ハードウェア
    頂点処理: ハードウェア+ソフトウェア
    スキニング処理: 固定機能+頂点シェーダ
    Zバッファー: 24bit
    最大描画プリミティブ数: 8388607
    固定機能 最大ブレンド行列数: 4
    固定機能 最大ブレンド行列インデックス: 255
    固定機能 最大ライト数: 4294967295
    頂点シェーダ バージョン: 3.0
    頂点シェーダ 最大定数レジスタ数: 8192
    頂点シェーダ 最大命令数: 4294967295
    ピクセルシェーダ バージョン: 3.0
    最大テクスチャーステージ数: 8
    最大同時テクスチャー数: 8
    最大テクスチャーサイズ: 8192,8192
    バンプマッピング: 有効
    輝度付きバンプマッピング: 有効
    フルシーンアンチエイリアス: 利用不可

    >また、OSの画面の設定などから起動できる「NVIDIAコントロールパネル」
    >の3D設定などで何か設定をされましたか?

    各機能を最高設定にしてます。
    試しに初期設定してハードウェア頂点処理ON・OFFを切り替えてみましたが
    変わりはないようです。

  24. 「デバイスの状態」の各項目については問題はないようです。
    他にチェック可能な事としては、

    ①DirectXランタイムが正常にインストールされていない場合、
    http://www.microsoft.com/downloads/Browse.aspx?displaylang=ja&categoryid=2
    にあるDirectX Redist (August 2007)をインストールしてみる。

    ②ビデオカードのドライバのバグの場合、ドライバを更新してみる。

    ③NVIDIAコントロールパネルでの設定とあっていない場合、設定を色々と
    変更しつつToyStudioを起動してみる。

    といったところでしょうか。ハードウェア頂点処理がON/OFFの両方で
    スキニングが機能しないということは、何か特殊な原因かも知れません。

  25. アドバイスのおかげで解決しました。
    DirectXランタイムがDebug versionだったのが原因だったようです……。

    フリーソフトが動作しないからといって、わざわざ質問することは
    めったにないのですが、今回実際にToyStudioを使ってみて、
    とても気に入ってしまったのでどうしても使いたいと思い、質問しました。
    長々とお付き合い下さり、ありがとうございました。
    応援してますので、今後も開発がんばってください。

  26. 「スムーズ スキニング」ダイアログ

    >「OK」をクリックすると、
    >現在のツールは自動的に「ウェイトペイント ツール」(W)に切り替わります

    切り替わらず、
    ポインタが□のままなのですが、、、、

    ペイントも、できません。

    directXは最新版ですが、、、、

  27. kenさん
    ご質問ありがとうございます。

    編集不可になっていると、オブジェクト パネルでメッシュを
    クリックすることで一応ウェイト ペイントの表示にはできますが、
    ペイント自体は不可能になっております。

  28. メタセコイアでサポートされてないアニメーションやらボーンやら痒いとこに手が届くようなソフトでしかもフリーとかうれしい限りです。
    不満点もありました。ツールボックスとか、OKとか適応とかのボタンが少なく、数値入れてOKボタンがなくXボタンで入力を確定させたりしてて違和感があります。メタセコイアっぽく、OKボタンがあり、マウスカーソル On 入力Fieldで入力フォーカスしたいです。
    お願いします。

  29. Windowsの基本的なことですが、フローティング形式の
    ウィンドウは表示(入力)を占有しませんので、入力する
    ごとにXボタンで閉じる必要はありません。数値入力の場合は
    エンター キーで確定します。Xボタンで入力を確定する仕様
    ではありませんのでご注意ください。

    OKボタンのあるウィンドウは表示(入力)を占有しますので、
    表示中には他のウィンドウへのアクセスができません。
    例えば、マテリアル ウィンドウをOKボタン形式にすると、
    3Dウィンドウで確認しながらパラメータを調整することが
    できず、不便になりますね。

コメントを残す

メールアドレスが公開されることはありません。