LoginSignup
1
4

More than 5 years have passed since last update.

DynamicBone ReadMe

Last updated at Posted at 2018-04-01

ダイナミックボーンはキャラクターの骨や関節に物理学を適用します。
シンプルな設定で、あなたのキャラクターの髪、布、胸、またはあらゆる部分が現実に動くでしょう。

Assets / DynamicBone / Demo / Demo1を開いて動作を確認します。
ご不明な点がございましたら、willhongcom @ gmail.comまでご連絡ください。


基本設定:

1.適切に設定された文字を準備すると、Mecanimと従来のリグの両方がサポートされます。
2.ダイナミックボーンを適用するゲームオブジェクトを選択します。
3.コンポーネントメニューで、Dynamic Bone - > Dynamic Boneを選択します。
4.インスペクタで、ルートオブジェクトを選択します。
5.動的骨パラメータを調整します(次のセクションの詳細の説明を参照)。

必要に応じて、コライダーオブジェクトを追加できます。

1.コライダーがアタッチするゲームオブジェクトを選択します。
2.コンポーネントメニューで、Dynamic Bone - > Dynamic Bone Colliderを選択します。
3.コライダーの位置とサイズを調整します。
4. Dynamic Boneコンポーネントでは、コライダーのサイズを大きくし、対応するオブジェクトを追加します。


ダイナミックボーンコンポーネントの説明:

  • ルート
      物理を適用する変換階層のルート。

  • 更新レート
      内部物理シミュレーションレート。フレーム/秒で測定。

  • UpdateMode
      通常:通常の更新。
      AnimatePhysics:フィジックスエンジンと同期するためにフィジカルループ中に更新されます。
      UnscaledTime:Time.timeScaleから独立して更新されます。

  • ダンピング
      どのくらいの骨が減速した。値が高いと、ふんわりと元の位置に戻る感じ

  • 弾力性(Elasticity)
      各骨を元の向きに戻すために適用された力。値が高いと常にかかっている、元に戻す力が強くなる。つまり、値が低いと物体はブランブランに動き、値が高いとほとんど動かなくなる。

  • 剛性(Stiffness)
      骨の元の向きがどれくらい保存されているか。

  • 不活性(Inert)
      どのくらいキャラクタの位置変化が物理シミュレーションで無視されるか。

  • 半径
      各骨は、衝突者と衝突する球体とすることができる。半径は球のサイズを表します。

  • ダンピング分布、弾性分布、剛性分布、不規則分布、半径分布
      階層チェーン上でのパラメータの変更方法曲線の値は、対応するパラメータに乗算されます。

  • 終わりの長さ
      End Lengthがゼロでない場合、変換階層の最後に追加のボーンが生成され、
      長さは最後の2つの骨の距離で乗算されます。

  • 終了オフセット
      End Offsetがゼロでない場合、変換階層の最後に追加のボーンが生成され、
      オフセットは文字のローカルスペースにあります。

  • 重力
      力は、世界の空間の骨に適用されます。キャラクターの初期ポーズに適用される部分的な力は相殺されます。

  • 強制
      力は、世界の空間の骨に適用されます。

  • 衝突
      Colliderオブジェクトは、骨と相互作用します。

  • 除外
      骨は物理シミュレーションから除外されます。
         

  • 凍結軸
      特定の平面上を移動するように骨を拘束する。

  • 遠隔ディスエーブル、参照オブジェクト、オブジェクトまでの距離
      キャラクターがカメラやプレーヤーから遠い場合、物理シミュレーションを自動的に無効にします。
      参照オブジェクトがない場合、デフォルトのメインカメラが使用されます。

Dynamic Bone Colliderコンポーネントの説明:

  • センター
      オブジェクトのローカル空間にある球またはカプセルの中心。

  • 半径
      球またはカプセルの半径は、変換のスケールでスケーリングされます。

  • 高さ
      2つの半球を含むカプセルの高さは、変換のスケールでスケーリングされます。

  • 方向
      カプセルの高さの軸。

  • バウンド
      骨を外側に束縛するか内側に束縛するかを制限する。


ダイナミックボーンスクリプトリファレンス:

  • パブリックvoid SetWeight(float w);
      物理学と既存のアニメーションとの融合を制御します。

  • パブリックvoid UpdateParameters();
      実行時にパラメータを更新し、パラメータを変更した後にこの関数を呼び出します。


バージョン履歴

1.0.1初期リリース。
1.0.2インスペクタのUIを改善しました。
1.0.3有効/無効にすると不活性不安定になる不具合を修正しました。
1.1.0カーブを使用して、階層チェーン上のパラメータを設定します。
      Colliderは束縛内の骨を束縛するように設定できます。
1.1.1除外設定を追加します。
1.1.2負のスケール問題に対処する。
1.1.3ボーンにスケールが含まれているバグを修正しました。
1.1.4フリーズ軸を追加する。
      スクリプト経由で追加したときにバグを修正しました。
1.1.5遠隔ディスエーブルを追加します。
      GCの割り当てを減らす。
1.1.6カプセル衝突者のバグを修正しました。
1.1.7 Unity 5のサポート。
1.1.8負のスケールに起因する問題を修正しました。
1.1.9マイナススケールの検出を改善する。
      衝突者が内部に設定されているとバグを修正しました。
      UpdateMode設定を追加します。
1.1.10 Unity 5.4以降のマイナススケールによる問題を修正しました。
1.2.0ツールチップを追加する。
      平面コライダーを追加します。
      実行時にパラメータを更新する関数を追加します。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4