問題タブ [cyclic-coordinate-descent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4448 参照

c++ - CCDでのエンドレス回転

Heya私は現在、学位最終年度プロジェクトに取り組んでいます。これは、2つのパートA)優れた3Dエンジンの作成、およびB)その中でIKシステムを実装し、いくつかのタイプのIK解決を評価します。CCD(Cyclic-Coordinate Descent)は私が始めたところであり、問​​題にぶつかりました。私は多くのソースを使用してIKを理解しようとしました。特に、CCDに関しては、ここで入手可能なベースとしてソースコードを使用しました:http ://www.darwin3d.com/gdm1998.htm

ソースコードを投稿する前に、私の問題が、誰かが以前に遭遇したことのある明白または単純なものであることを望んでいます。これが問題を示す短いビデオです:http ://www.youtube.com/watch?v = XtU8rFR-DuE

明らかにそれは正しくありません、IKはスピンオフし、一般的に多くの混乱を招くようです!ターゲットが静止している場合、それはうまく収束しますが、最小の動き(ターゲットが私のエンジンのIRベースのモーションキャプチャによって駆動されるため、このシステムで多く発生します)でさえ、再計算して再び回転を開始するようです。

また、ジョイントが範囲外にある場合、CCDテクニックに従って、ジョイントはすべてターゲットを指し、ループ制限に達すると想定しますが、IKの照準は正しい方法で維持されますが、ビデオで明らかです。ターゲットが範囲外にある場合、IKは再び座って繰り返し回転します。

誰かが助けることができれば私は本当にそうするでしょう!感謝します。さらに情報(コードなど)が必要な場合は、お気軽にお問い合わせください。

よろしくお願いしますクリス

0 投票する
0 に答える
771 参照

c# - CCD で関節の回転を制限する方法

Unity で IK ソリューションを作成しようとしています。

意図したとおりに動作する単純な CCD アルゴリズムを作成しました: https://www.youtube.com/watch?v=tZvdZGUxbbc

しかし、関節角度に制約を追加しようとすると、動作が不正確で歪んでいます: https://www.youtube.com/watch?v=k1YY9KqqaYY

現在、ターゲットに到達せず、現在の試行が試行しきい値未満である間、チェーン内のすべてのジョイントを反復処理する for ループがあります。

各関節の補正回転が計算されたら、それを関節 [i] に適用します。次に、各ジョイントの回転をチェックし、最小から最大の範囲内に固定します。

回転を適用し、回転制限をチェックするコードは次のとおりです。

2 番目のビデオに示されているように、結果は非常に貧弱です。

誰かが解決策と、おそらくこれが機能しない理由の説明を提案できますか?

貼り付けたコードの更新、修正されたタイプミス。