クロスシミュレーションでループ映像

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

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/9/20 21:30
hammond2  新米   投稿数: 3
はじめまして、アニメーションの前後のフレームが同じになるループ映像を作成中なのですが
クロスシミュレーションを使った場合最初のフレームと最後のフレームを同じにすることが出来ませんでした。
何か方法がありましたら教えていただけると助かります。
パーティクルなどを使った場合もそうですね。
宜しくお願いします。
2.49a使用です。


投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/9/21 9:49
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4404
はじめまして。


シミュレーションは一方向であり、さらに最初と終わりを同じにするのは状況によっては非常に難易度が高くなります。


例えば安定している状態から一時的に何か力が加わり、再び安定するような場合だと簡単ですが、垂れ下がっている旗に風を当ててその後元にもどす、というものだと不確定要素が多すぎて元に戻るとは限らないでしょう。


結局のところ、シミュレーションによるアニメーションを途中までにし、その次のフレームから最後(最初)の形状まで頂点アニメーションで表現するしかないと思います。

具体的には以下のような感じです。
1)シミュレーションがついている Mesh オブジェクトをコピーし、別オブジェクトにする。
2)そのオブジェクトの最後から数フレーム前(例えば200フレームある場合、180フレームなど)での結果を Apply (モディファイア)して形状を適用する。
3)[I]キーで Mesh キーフレームを挿入。
4)最終フレームでそれをこのオブジェクトを最後(最初)のフレームの形状に編集し、同様にキーを打つ。これで頂点アニメーションが付く。
5)179フレームまで元オブジェクトのアニメーションを再生、180フレームから頂点アニメーションを付けたオブジェクトと入れ替えて200フレームまで再生する。

[09/09/22追記]
自分で読んでも良くわからない文章になっていたので書き直した。混乱させてしまってすみません。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/9/21 22:41
hammond2  新米   投稿数: 3
yamyam様

なるほど、やはり難しいのですね・・
単純なシミュレーションの場合は書き出したアニメーションの再生と逆再生を繋ぎ合わせてループさせてましたが
ひらひらと動く布のようなものの場合かなり不自然になってしまいました。
ボーンでしかアニメーションしたことなかったので
「Mesh に形状を適用したオブジェクトといれかえ」というのがよくわかりませんでしたが・・
最初の形状と最後の形状をモーフィングさせるということですね。
ApplyしたらクロスのWeightで固定した部分だけ変換されませんでした・・
よくわからない部分が多くて申し訳ないのですが、なんとかやってみます。
ありがとうございました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/9/22 9:19
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4404
後で読み返したら電波な文章になっていたので修正しました。混乱させてしまってすみません。
要はおっしゃっていることで正しいです。

引用:
ApplyしたらクロスのWeightで固定した部分だけ変換されませんでした・・
単に固定して吊ってる部分なら元々固定されているのだからそこだけ固定されている状態に戻せばいいと思いますが、そうでないならやっかいですね…。
とりあえず方法はそれしかないと思いますのでなんとかしてみて下さい。(汗
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/9/22 22:59
mato  半人前   投稿数: 24
少し手間が増えて面倒な感じもするのですが、以下のような方法はどうでしょうか。
1.クロスシミュレーションを行うメッシュとレンダリングするメッシュを別にして、レンダリングするメッシュをアーマチュアで変形するようにします。
2.アーマチュアのボーンをIKコンストレインツなどでクロスシミュレーションのメッシュに連動させるようにします。
3.シミュレーションを実行し、それに合わせてレンダリング用のメッシュが動く状態にします。
4.IKコンストレインツをスクリプトでIPOアニメーションにベイクします。
5.IPOエディタやアクションエディタでループのつなぎ目の周辺のアニメーションを手作業で修正します。

以前、キャラクターの歩行モーションに合わせてスカートの動きをクロスシミュレーションするサンプルを作成しています。
動画の中では服を体が貫通した部分の修正を行っているだけですが、歩行モーションに合わせてスカートのアニメーションをループさせるようなこともできると思います。
animation_bake_constraints.pyのエラーについて
投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/9/25 22:35
hammond2  新米   投稿数: 3
yamyam様 mato様
詳しい方法ありがとうございました。
細かい方法がまだ理解できてませんが・・なんとか近い状態にできました。
助かりました。
投票数:0 平均点:0.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

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

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

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


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