テストビルド
テストビルド : bf-blender Windows(8/27): SoCのIKプロジェクトが公式ツリーに
投稿者 : yamyam 投稿日時: 2005年08月28日 (1865 ヒット)

元記事:BF-Blender : SoC IK inside / windows (2005/08/27)

遅くなってすみません。lguillaume氏による、8/27付 bf-blender Windows版のビルドが公開されています。
どうやら、先日お伝えしました SoC のIKプロジェクトが公式ツリーに組み込まれた模様です。

Blendix氏
Log:
IK lib の変更点:

以下のコンポーネントにより、完全に再構築されています:
- IK_Solver: C ⇔ C++ のインタフェイス。

- IK_QSegment: Bone/Segment 用のベースクラス。0 から3 のDOF(Degrees Of Freedom)を持ちます。

- IK_QTask: タスク用のベースクラス(現在、位置と回転のタスクがあります)。

- IK_QJacobian: SVD(特異値分解)、減衰などを備えたヤコビアン行列。

- IK_QJacobianSolver: その反復ソルバー

指数写像のパラメータ化はもはや使用されておらず、代わりに以下を使用しています:
- 3DOF と 2DOF の XZ Segment:ロドリーグの式により、直接行列を更新します。

- その他:オイラー角(冗長性に関してはここでは心配いりません)

逆ヤコビアンの計算も変更されました:
- SVD アルゴリズムは丸め誤差によるいくつかの問題を防ぐため、NR の代わりに LAPACK のコードを元にしたものになりました。

- この問題が余儀なくされた時(ほとんどの場合)、ヤコビアン行列の転置に SVD が計算されます(高速)。

- 新しい減衰アルゴリズムは、選択的減衰最小自乗法(Selectively Damped Least Squares)と呼ばれるものが使用されており、その結果、より高速に、そしてより安定した収束が得られます。

- Stiffness(堅さ)は重み付き擬似逆行列(weighted pseudo-inverse)が使用されていた時のように実装されています。

ツリー構造をサポート。

回転制限:
- 3DOF と 2DOF XZ segment の制限は、スイング(XZ平面上の軸の角度)成分と、ツイスト/ロール(Y軸回転)成分を元にしています。スイング領域は、球上の楕円です。

- 回転の制限は、内部の clamp ループを使用して実装されています:違反がある限り、違反する DOF が clamp されてヤコビアン行列から取り除かれ、そして解が再計算されます。
収束のチェックは、角度の変更の最大の平均、もしくは、繰り返しの最大数を元に行うようになりました。

今回の訳は自信が全くありません。間違いあればご指摘お願いします。

SoCのIKプロジェクトに関しては、前述の、以前のビルドの記事をご覧下さい。
個人的にはもう叫びまわりたいぐらいの嬉しさです。これでサクサクと作業が進められます。IKのスピードを実感して下さい。もちろん、軸回転制限も。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。

ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

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

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

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


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