問題タブ [skeletal-animation]
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.
opengl - 変更を引き継がずにノードの座標系を変更する
複数の形式から 3D モデルを読み込んでいますが、それぞれが独自の座標系を持つ可能性があります。
それらがすべて同じ座標系になるように変換するのは簡単です。
問題は、あるモデルを別のモデルに接続しようとしたときに、両方が同じ形式である場合です。それらはすでに同じ座標系にあったため、それらを共有座標系に変更する変換が子に 2 回適用されます。
フォーマットごとに特定のコードを作成でき、何かを別のものにアタッチしたいときはいつでも、フォーマットをチェックして、うーん。
私の現在のノード構造は非常に汎用的であり、この問題に対する汎用的な解決策があるかどうか疑問に思っています。
java - OpenGL 骨格アニメーション ロジック
私は Android の OpenGL ES2 で骨格アニメーションを実装しようとしています。私は io_three を使用して Blender からエクスポートされた JSON モデルを持っています。このファイルから読み取ることができます。それぞれのボーン配列には、3 つの float 配列として位置があり、4 つの float 配列とスケールとして四元数回転があります。親である整数、フレームごとに各ボーンマトリックスを処理する階層リストを持つアニメーションもあります。各階層には親とキーのリストがあり、各キーにはボーンと同じコンポーネントがあるため、多くのチュートリアルを読んで作成しました何度も試みましたが、残念ながら成功しませんでした。ロジックを簡単に説明する必要があります。だから私はボーンクラスを持っていて、それぞれがベクトルを持ち、各ボーンの相対行列を取得し、それを親の絶対行列で乗算してボーンの絶対行列を取得し、それを逆にして逆行列を取得できます。各キーに対して同じ計算を行うことはできますが、それらをバインドすることはできません。ボーンと各フレームの関係を理解する必要があります。私の問題はコードではなくロジックにあります。
nodes - 階層内に存在するノードには、独自の特定の変換を含めることができますか
ノードの階層があり、それぞれに独自のローカル変換があり、最終的にその子に引き継がれるとしましょう。
このノードの子には適用せずに、階層内の特定のノードに何らかの変換を適用する数学的な方法はありますか?
blender - Blender コラーダは複数のアニメーションをエクスポートします
複数のアクションを含むモデルを Collada ファイルにエクスポートして、openGL ES2 で使用したいのですが、collada エクスポーターは、選択したアクションまたはアクティブなアクションのみをエクスポートします。多くの調査の後、解決策は見つかりませんでしたが、同じアニメーションでどのアクションが実行されているかがわかります異なるフレームでそれらをコードで区切るので、オブジェクトにカスタム プロパティを追加して各アクションの開始フレームと終了フレームを定義しましたが、エクスポータはこれらのプロパティもエクスポートしません。エクスポータがカスタム プロパティを追加できるようにするパッチを見つけましたが、できます私はビジュアル C++ と Python の経験がないため、ソース コードからビルドしません。そのため、複数のアニメーションを 1 つの dae ファイルにエクスポートするためのソリューションに感謝します。
python - スケルトン アニメーションの転送 - 向き
あるリグから別のリグにアニメーションを転送したい Maya で pymel スクリプトを作成しようとしています。現在、スクリプトはキーフレームを元のリグから別のリグに転送していますが、ジョイントの向きは無視されています。数式はありますが、Pymel は私の主要言語ではないため、Pymel でそれらを使用する方法がわかりません。
式: "s" はリグ ソースを表し、"t" はターゲット リグを表します。
今のところ、Rotation は分離されていますが、worldSpaceRotation と translatorRotation を取得する方法がわかりません。
誰かが助けてくれたり、私に何かアドバイスをくれたりしてくれたら、とても感謝しています! 必要に応じて、現在のコードを送信できます。
quaternions - デュアル クォータニオンと任意のスケール
マトリックスを使用して多くのスケルトン アニメーションを実行するコードがあり、パフォーマンスを向上させるためにデュアル クォータニオンに変換したいと考えています。
問題が 1 つだけあります。任意のスケールを処理する方法に関する適切なリソースが見つかりません。
骨格階層のうろこがどのように運ばれるのかよくわかりません。
スケルトンのすべてのノードについて、ローカル デュアル クォータニオン (回転 + 平行移動) とスケール用の 3D ベクトルがあるとします。スケールを組み込むには、それらをどうすればよいでしょうか?