>> BBS-TOP >> 初心者の館 |
|
CPウェイトを使った関節などの変形 |
投稿するにはまず登録を |
スレッド表示 | 新しいものから | BOTTOM |
[new face]
|
筒状のメッシュに二本の連続したボーンをあてがい、適当にweightを設定して動かしてみた所、ボーンを曲げたり回転させたりすると、weightを設定した部分の寸法がどんどん小さくなってしまうというか、つぶれてしまうと言うか、、、
正確な表現がわかりませんが、他の3Dソフトのようなweightと同様な動きをさせることが出来ず、往生しております。 ファンボーンとオリエントライク・コンストレインツでやりたいことは出来るのですが、完成したモデルを自作ゲームで使うことを予定しているため、現状少ないボーンでモデルを作成することを検討しています。 どなたか、解決方法の分かる方、教えて頂けないでしょうか? 本家のフォーラムでも質問をポストしましたが、私の稚拙な英文のせいかスルー状態なので、こちらにポストさせていただきました。ご容赦ください。 |
||
[NEWS Editor]
|
他のソフトはわかりませんが
(別スレでjenpyさんが書いてるような機能のことでしょうか?) アニマスのウエイトは、ご指摘のような仕様なので バグとか設定の仕方を間違えているとかではないです。 要は、普通にボーンの設定どおりに動いてから 設定されたウエイトで位置を調整するような感じ。 図のような設定だと 180度回転させると、完全につぶれるはずですね(=_=;) 一番かんたんで融通の利く計算方式なので 僕はコレが普通なのかと思ってましたが、そうでもないのですね(^^;) |
||
[NEWS Editor]
|
他の3Dツールでも単にウェイトやエンベロープと言ったらアニマスと同じ方式の単純なウェイトだと思います。
この左のサンプルはロールハンドルが動いてしまってます。他の3Dツールでも同じようになります。 今回はボーンのプロパティのロール方法を変えるとか、ロールが動かないようにすると解決すると思います。 |
||
[new face]
|
HIRO.PONさん、jenpyさん、いつもありがとうございます。
weightでメッシュがつぶれてしまう現象はロールだけでなく、普通にボーンを曲げたときにも左図のように筒の径が細くなってしまうので、ちょっと僕には仕様の意図が理解できないっす。 以前LWでvertex weightを適当に設定してみたら、たとえばweightが50%の頂点はボーンを90度ロールさせても45度分しか移動しない、と言うような仕様だったので、それが一般的なものだと思っておりました。 言うまでも無く、やりたいことは右図のコンストレインツで実現しているような、つぶれない(最低限筒の直径が変わらない)変形ですが、そうするとこれはアニマスのbone weightでは無理!? [追記]以前weight moverの記事でつぶれない変形をやっていたようなおぼろげな記憶があったので、ぐぐってみたところ、やはりweight moverでもファンボーンを併用してつぶれない変形を行っていたのですね...。orz WeightMover、公式がリンク切れてるのですが、もう入手不可能なのかな...。 |
||
[Webmaster]
|
引用:
つぶれない(最低限筒の直径が変わらない)変形ですが、そうするとこれはアニマスのbone weightでは無理!? 私の知る限りでは、CPウェイトのみでつぶれない関節を作るのは無理ですね^^; 添付した画像で説明しますと、1と2がそれぞれ蝶番のスプラインにA100%、B100%のCPウェイトを割りあてたもの。 3は、1と2の結果を曲線で結んで2等分した位置にラインを引いたものです。 4は、蝶番のスプラインにA50%B50%のCPウェイトを割り当てたものですが、3で引いたラインと一致することがわかるはずです。 5は一番シンプルなボーン構成で間接を潰さない方法です。 蝶番のスプラインにCボーンを100%割り当て、Bに50%オリエントさせ、蝶番の横にある2本のスプライン(最初はAかBに100%で割り当てられている)には、CPウェイトでCボーンの影響を若干(30%?40%)加えてあります。 ただし、CPウェイトによる補間方法は上記の検証にもあるとおり「直線的」なものなので、あまり大きな変形にはこの方法でも追従できません^^; 引用: WeightMover、公式がリンク切れてるのですが、もう入手不可能なのかな...。 WeightMoverの後継である「Transfer_AW V0.6」を試されてはどうでしょうか? http://www.sgross.com/plugins/plugin24/index.html ※BBSのアニマス全般に「Transfer_AW V0.6」というスレッドがあります。
|
||
[NEWS Editor]
|
ども、説明不足ですみません。
ねじるのも傾けるのも同じなんです(^^) この場合でも180度ひじを曲げたら肘が完全につぶれるはずです。 アニマスは 設定されたボーンで動いた場合の座標をそれぞれ計算し 最後に%のX,Y,Zの座標を比率でブレンドしているだけで BoneA:30%,BoneB:20%,BoneC:50% の時のX座標=Xa*0.3+Xb*0.2+Xc*0.5 といった感じで素人の僕でも計算方法はわかるんですが >weightが50%の頂点はボーンを90度ロールさせても45度分しか移動しない これは意外に難しいのでは....と思いますよ 親子関係の2つのボーン限定とかなら出来そうですけど (内部的にファンボーンとオリエントライクの計算をすればいいだけなので) 4本の親子関係の違うボーンに25%ずつ割り振られたら...など 複雑な場合にどう計算すべきなのか、僕には一寸判りません(^^;) やりたい意図はわかるし後者がユーザーとしてみた場合の正しい仕様だと思うのですが アニマスはプログラマーの都合で作られた仕様になっていると言う感じではないかと。 参考までにですが 自分は、つぶれるのが気になったらマッスルで修正です。 アニメーション作る時はマッスルでどうにでもなっちゃうのですが ゲームだとそうも行かないんでしょうね(^^;) |
||
[NEWS Editor]
|
普通のウェイト=単純に位置をウェイトでブレンドする、曲げると結構凹む
改良されたウェイト=普通のウェイトではやらない角度の計算もやって、曲げても凹み難いか、全く凹まない という感じになっていて、改良されたウェイトはそれが実装されている環境でのみ使えます。 アニマスでは普通のウェイト以外は使える可能性は全く無いです。 開発ターゲットとなるゲームエンジン上で普通のウェイト以外が使えるかも要確認です。 |
||
[new face]
|
皆さん、色々なアドバイスありがとうございます。
Transfer_AW V0.6なる後継プラグインがでていたのですね。貴重な情報感謝です。 LWのvertex weightの件ですが、さらに記憶を掘り起こしていた所、vertex animationとして吐き出していたような記憶が、、、。 >ゲームエンジン上で普通のウェイト以外が使えるかも要確認です。 確かにこの部分が一番肝心な部分ですね、、、。 TAWと中間ボーンの併用でやっていくことにします。ありがとうございました。 |
||
スレッド表示 | 新しいものから | TOP |
投稿するにはまず登録を |