問題タブ [skeletal-mesh]

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 に答える
335 参照

opengl - 上半身と下半身、グローバルまたはローカル空間をブレンドした骨格アニメーション

モデルが 2 つの立方体で構成されている場合、上の立方体と下の立方体は z 軸に沿って配置され、下の立方体は上の立方体の親になります。

2 つの骨格アニメーションを与える:

アニメーション A: 上の立方体は静的に保ち、下の立方体は Z 軸を時計回りに回転させます。

アニメーション B: 上の立方体は固定、下の立方体は固定

スケルタル アニメーション ファイルには、ローカル変換が保存されています。

つまり、アニメーション A では、下の立方体に 2 つのキー フレームがあります。フレーム 0: 0 度回転、フレーム 50: 360 度回転

次に、A と B をブレンドします。

A: 体重上限 = 1 体重下限 = 0

B: 体重上限 = 0 体重下限 = 1

正しい結果は何ですか?

を。上と下の両方が静的に保つ

b. 上の立方体は反時計回りに回転します

A の低い重み = 0 は、より低い変換を無視することを意味するため、グローバル空間でのブレンドです。

しかし、それらをローカル空間でブレンドすると、上の立方体のローカル回転に従って回転します。

私はグーグルで、ローカル変換をブレンドする方が良いと人々が言っ​​ているのを見ますが、正しい結果が得られるとは思いません。何か提案はありますか?

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

javascript - Three.js 間違ったボーンの向き

three.js スキンとリギング モデル、および bvh モーション キャプチャ アニメーション ファイルをロードしています。

モデルに bvh アニメーションを適用しようとすると、一部のボーンの方向が間違っています。

間違ったボーンの方向

ご覧のとおり、腕の向きが間違っています。

これは、モデルと bvh ファイルをロードする方法です。

bvh ファイルとモデル ファイルのスケルトンはまったく同じです。それがどこから来るのか、あなたには分かりますか?

ありがとう

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

c++ - ローカル スペースでポーズ可能なメッシュのボーンの回転を設定する

みなさん、こんにちは。

みなさん、こんにちは。: )

VR エクスペリエンス ユーザーの動きを検出し、対応するアバターのポーズまたは仮想世界内のユーザーの表現を更新する VR エクスペリエンスを UE4 に実装しています。

そうするために、このトピックで言われていることに基づいて、C++ でこの動作を実装しました。

https://forums.unrealengine.com/showthread.php?25264-Pose-a-skeletal-mesh-in-runtime

つまり、USkeletalMeshComponent (スケルタル メッシュが画面に表示されるもの) と UPoseableMeshComponent (USkeletalMeshComponent の「マスター ポーズ コンポーネント」として設定されている) があり、各トラッキング センサーから回転データをクォータニオンとして受け取ります。

一方では、UPoseableMeshComponent のメッシュは USkeletalMeshComponet のメッシュに設定されます。一方、ポーズ可能なメッシュのボーンは、各ボーンのトラッキング センサーからの対応する回転データで更新されます。UPoseableMeshComponent が「マスター ポーズ コンポーネント」として設定されているため、それに応じて骨格メッシュが自動的に更新されますUSkeletalMeshComponent。

これは、指の指節ではないすべてのボディ パーツを操作する場合に完全に機能します。これは、次のように、ワールド空間でこれらのボディ パーツに回転が設定されているためです。

ただし、技術的な理由から、LOCAL 空間で各指の指節のボーンの回転を設定することが必須ですが、ポーズ可能なメッシュはワールド空間とコンポーネント空間でのみ機能するようです。「SkinnedMeshComponent.h」をチェックアウトすると、EBoneSpaces::Type に「LocalSpace」列挙値がありますが、コメントされています。

「コンポーネント参照フレームでボーンの位置を設定する」というフレーズが理解できません。ローカル空間の「代替」としては機能していないようです (骨がアバターのピボット ポイントを中心に回転しているかのように)。ポーズ可能なメッシュのローカル空間で回転を設定する他の方法、または回避策はありますか?

よろしくお願いします。: )