「互いに結合された」直方体の2つのソート(たとえば、2つの例では、実際にはn> 1)それらの隣接する面上の頂点はメモリ内の同じ頂点である。それで、2つの木製ブロックのように、1つは、底に4つの頂点、2つの間で共有されている中央に4つ、上部に4つの頂点で、積み重ねられます。今、私は最初に、それらの4つの共有頂点の中心点を持つヒンジ上にあるかのように、 "トップ"木ブロック上で特定の回転を行うことができるようにしたいと思います。従属する添付オブジェクトのチェーン上で回転変換を実行する最速の方法
肘のように、特定の角度で45度までしか曲げることができないとし、回転を実行するには、その不可視のヒンジの中心点の周りにオブジェクトを構成する8つの頂点を回転させます。このプロセスでは、他のブロックの4つの共有頂点が幾分移動しますが、ヒンジはそれらの中心点であるため、ボトムブロックから「平行移動」しません。私はそれらを木製と呼ぶのは、特定の方法で変形するので直観的ではないが、私はそれを視覚化するように設定しようとしていた。とにかく、このボトムブロックを別の方法で回転できるようにしたいが、トップブロックが取り付けられているように動作させたいとしましょう。したがって、下のブロックが動くと、上のブロックはそのブロックと共に回りますが、でものヒンジにはどのような屈曲もあります。
私は軸の角度または四元数を使って段階的に変換を行うことを検討していましたが、「最上位」のブロックから始まり、依存関係のチェーンを下ろして現在のブロックと、それ。しかし、これは、現在のヒンジを原点とするために、すべての頂点をオフセットすることを邪魔することを必要とし、このチェーンの各ステップについて、回転を行い、前のオフセットを逆転させる。これを処理するより効率的な方法はありますか?私はスピードの効率を意味し、メモリ内の余分な前処理されたデータを持つことは大したことではありません。このような線形の依存関係を持つことを期待できない時が来ているかもしれません(トップブロックがおそらくリングを形成するためにボトムブロックに結びつくようになります)。これらの可能性のためにこれを処理する適切な方法は何でしょうか?
実際には、チェーンの残りの部分を通って1つの動きを自然な形で伝播することではありません。私はちょうど依存関係の連鎖の下でヒンジ回転の蓄積を伝播するより速い方法があるかどうか疑問に思っていました。それは肩で腕を上げることから始まります。肘は30度曲がり、手首は20度曲がります。手首のヒンジの手の上で軸の角度/四元数の回転を最初に行うよりも速い方法がありますか?次に、肘のヒンジのための全体的な下の腕/手の上、そして肩の上腕/下の腕/手 – user173342
フォワードキネマティックス(あなたが何を記述しているか、最初に子を変換してから親を変換する)が最速の方法になります。そうではありません。ただし、「ボーン」システムを使用することについては、各頂点にすべての変換を適用する必要はありません。骨は複雑な回転行列を得る唯一のものであり、頂点は骨の新しい位置からちょうど補間されます。 – Jason
ああ、元々は頂点を生成すること以外は、あなたが描いているようなものを「骨」として表現していました。これは、その後、うまくいくはずです! – user173342