animation_bake_constraints.pyのエラーについて

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/12/19 23:41
mato  半人前   投稿数: 24
TB-noteさんのところで話題に出たので、こちらでもご紹介させていただきます。

http://timiditybraver.blog71.fc2.com/blog-entry-369.html

Blender標準搭載の「animation_bake_constraints.py」というスクリプトを使って、Constraintを設定したアニメーションからConstraintを外した状態で同じ動きを再現するアニメーションを作成できます。

ただ、状況によってはエラーが出てスクリプトが動作しないことがあるようです。

エラーが出るのがスクリプト中のArmatureの複製を行う部分の場合、スクリプトをちょっと改造してあげることでエラーを回避できます。


:download:new_bake_constraints.zip

あらかじめArmatureを複製しておいて、Poseモードのメニュー「Pose」-「Constraints」-「Clear Constraints...」でConstraintsを削除しておきます。(「A」キーですべてのボーンを選択してから実行してください)
スクリプトの実行時には、Constraintsなし、Constraintsありの順に「Shift」キーを押しながら2つのArmatureを、両方とも「Object」モードで選択して実行します。

...本当は、このファイルを置く場所をお借りしたかったというのが実情なのですが、ご面倒をおかけしてすみません。

※追記 TB-noteさんのブログのコメントで同じ内容のものを書き込みさせていただいてますが、そちらはインデントが全て無効になってしまっているので、そのままでは動きません。もし試される場合、こちらのzipファイルの方を使ってください。

※さらに追記 少し使い方がわかりにくいかもしれませんので、使い方の説明動画を作ってみました。他にも余計な作業を行っているので、ちょっと長い動画(09:00)になってます。
http://vimeo.com/2583276

投票数:5 平均点:6.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/12/20 3:08
mato  半人前   投稿数: 24
すみません。
ちょっと急いで書いたので、意味がわかりにくかったかもしれませんので、補足させていただきます。

まず、何がしたくて「animation_bake_constraints.py」スクリプトを使おうとしているのかということが分かりにくいと思いますので、そちらから...。



:download:test.zip

このデータで服のメッシュデータはレンダリング用(slip)、Cloth Simulation用(slip_sim)の2つあります。
レンダリング用メッシュを変形するArmature_slip_simにはCloth Simulation用のメッシュの頂点の動きに追従するIK Solver Constraintが設定してあります。

Cloth Simulation計算終了後に、人物の手や脚が服を突き抜けているような部分を修正したい場合、Cloth Simulationの「Bake Editing」を使ってもいいのですが、Armatureのボーンを直接操作できれば、その方が便利なことも色々あります。
ということで「animation_bake_constraints.py」を使ってみたのですが...。



もともとはモーションキャプチャしたデータから作成されたデータに自作リグを追従させるために作成されたスクリプトのようです。
スクリプトを使用するときは、BakeしたいArmatureをObjectモードで選択した状態で実行します。

上のテストデータで実行すると、Blenderが強制終了してしまいます。
もう少し簡単なデータでは、問題なく動作する場合もあります。

私自身はPythonプログラミングの超初心者なのですが、Blender Artist Forumなどをのぞいて回って、このスクリプトの古いバージョン?が使用時に2つのArmatureをあらかじめ用意しておいて、Constraints設定のあるArmatureからConstraints設定を削除したArmatureにアニメーションをコピーする形で動作するようになっていたのを知りました。

そちらの古いバージョンのスクリプトは、そちらはそちらで問題があって動作しなかったのですが、いろいろ試行錯誤して両方を組み合わせるとなんとか動作するようになりました。(スクリプト中でArmatureを複製している部分でエラーが起こっているような感じだったので、改造したスクリプトではその部分をばっさりと省略してしまい、手動でArmatureを複製し、Constraintsを削除しておくようにしています。)


...という感じで作ったのが前の書き込みに添付したスクリプト(new_bake_constraints.py)です。

もし、同じような機能を試してみたい方がいて、スクリプトが動作しなくて困っている方がいて、さらにPythonプログラミングが私よりさらに苦手な方がいたらよろしければ参考にしてみてください...というのがこのスレッドの趣旨のつもりでした。

ただ、次のバージョンでこのスクリプトがきちんと動作するように修正していただければその方がずっといいと思いますので、もしよろしければ、どなたかこのスクリプト(Blender純正の方です)の動作について検証していただけないでしょうか。

よろしくお願いします。
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/12/20 19:42
mato  半人前   投稿数: 24
すみません。
もう少し調べてからこちらに書き込ませていただくべきでした。

blenderartist.orgの「python & plugin」カテゴリーのスレッドを見てみると、同じような内容のものがありました。

Bak Constraints... second try

Baking Constraints... still have issues.

Bake Animation Crashes 2.47

スクリプト作成者のPapaSmarfさんにすでに情報が伝わっているようですが、スクリプトで使用しているAPIに問題があるようでスクリプト自体の修正では直らないようです。

詳しく調べないでスレッドを立ててしまってすみませんでした。
お騒がせしてすみません。
投票数:4 平均点:7.50

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki