SoftBodyスレッド

投稿ツリー


このトピックの投稿一覧へ

通常 SoftBodyスレッド

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2005/4/7 14:11
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
一応作っておきます。

WikiのSoftbodyのページからの使用方法の引用です。
これはところどころ古くなっています。
SoftBodyの使い方
  1. ObjectButtons([F7])のSoftbodiesパネルのSoftbodyボタンをONに。


  2. GSpringを0.999に(あまりGoalとの間の弾力性を持たせたくない場合)。(i.)


  3. ISpringでEdgeに沿った力を設定。(i.)


  4. GFrictIFrictMFrictでGoalに関連する摩擦、内部のばねの摩擦、Media(媒質)の摩擦をそれぞれ設定。


  5. ODEエンジンの設定
    a) R sol 1adaptive step size Heun(非常に堅牢な方法)を使用します。速度を上げるにはRKLimitをできるだけ高くすればいいのですが、物理エンジンを安定させるためにある程度低くする必要があります。実際にはこれはステップの統合を可能とするためのエラーの一つで、もしこれが限界を超える場合、このシステムは限界以下に押さえるため(より)小さなステップを試します。これがadaptive step size(適合ステップサイズ)の名前の由来です。

    b) もしくはexplicit euler(明示的オイラー数指定:固定のステップサイズ)を使用します。Stepを調整して下さい…もしあなたのシステムのステップが爆発的に増えるなら、こちらを使用して下さい…スピードは遅くなりますが、物理演算がちゃんと動作し続けます。


  6. Vertex Groupを作り、名前をSOFTGOALとします。


  7. goalの値をこのGroup(SOFTGOAL)にWeightPaintします…1.0でTargetに移動、0.0でTargetを考慮しません(訳注:元の形に戻らない)。UIのパネルのGmin/Gmaxで留め金が作れるため、最初の実験には0と1をペイントするのがいいでしょう。非線形なコントロールカーブがこの機能を実現するために必要かもしれません(現在はx^4です。Mayaはユーザが指数を設定できたと思います)。

    [li]Stiff Quadsで4辺の対角線のばねを設定することにより、潰れて表面が0のエリアになる可能性のある四角形を強固な三角形にします(非常に物理的でない方法ですが、ローポリMeshでのクロスエフェクトがよくなります)。


  8. PostDefで、Softbodyの計算を他のDeformの後に行うことができます。特にObject/MeshがArmatureで変形している場合、これをONにする必要があります。


  9. 変形していないときのばねの長さの設定には、現在EditModeの出入りをする必要があります。


  10. 現在、3DViewヘッダにあるSoftボタンは以下のように働きます。
    - ON: time/frame軸がSoftBodyのObjectの計算に使用され、ODEエンジンは現在の位置と速度を初期状態として使用します。
    - OFF: SoftBodyの位置をゴールとし、SoftBodyの速度はゴールの移動と適合させます。


  11. 楽しんでください!


もしSoftBody Zombieとコンソール(Dosウィンドウ)に表示された場合、SoftBody Objectは正しく初期化されていません(メモリに構造体が存在しない)。現在

このような構造が作成されるのは、そのObjectのEditModeから出たときのみです。これは中間のばねの長さをEdgeに沿って作成するためです。

(注i:力は0.999=ほぼ無限(1.0で無限)として機能します。0.0は力はなしです。ほぼ剛体に近いものについてはODE処理系で利用することができます。Goal Vertex(Goal=1.0)の固定では、不必要な堅さについての状態を無効にするため、固定されたVertexをODE処理系外で処理します。(コードは存在します…私は一貫性のあるハンドリング方法を探しています))


補足。
- 3DViewのヘッダをONにし、[Alt]+[A]でアニメーション。リセットと値の更新は[Tab]でEditModeを出入りして下さい。
- アニメーションキーをつけるか、NMASSをGravを少なめに設定すると動きだします。
- GMax、GMinともに1.0でObjectの重心との位置で固定され、完全に追従します。0.0で重心を無視します。
一部だけ動かしたい場合には、すべてのVertexを1.0にし、動かしたい部分だけを0.5ぐらいにして、GMinとGmaxをそれぞれ0.9、1.0に設定するといいでしょう。
- 恐らく大抵の場合で発散してしまうので、R sol 1は必須かもです。
- まだ当たり判定はありません。CVS 4/4版よりForceField(Particleパネル(Effectパネルではないことに注意)でStrengthに-1000を使用することにより、球体の当たり判定を擬似的に持たせることができます。→参照記事
なぜか同じ Layer でないと反応してくれませんので注意。

更新されたパラメータについては後ほど。
投票数:18 平均点:3.89

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

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

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

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


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