タグ付けされた質問 「skeletal-animation」

2
あるスケルトンから別のスケルトンにプログラムでアニメーションをリターゲットする方法は?
私は、あるスケルトンが別のスケルトンで正しく見えるように設計されたアニメーションを転送するコードを作成しようとしています。ソースアニメーションは、ルート上の変換(CMUモーションキャプチャデータベースのモーションキャプチャアニメーション)を除き、回転のみで構成されます。多くの3Dアプリケーション(Mayaなど)にはこの機能が組み込まれていますが、ゲーム用に(非常に単純な)バージョンを作成しようとしています。 ボーンマッピングでいくつかの作業を行いました。スケルトンが階層的に類似しているため(二足歩行)、脊椎以外のすべてに対して1:1のボーンマッピングを実行できます(後で作業できます)。ただし、問題は、ベースのスケルトン/バインドポーズが異なり、ボーンのスケールが異なる(短い/長い)ため、回転をそのままコピーすると、非常に奇妙に見えます。 私は以下のロランクーの解決策に似たいくつかのことを試みました(すなわち、アニメーションの各フレームにボーン固有の乗数を掛けます)。このようなもの(ペーパー、ソースコードなど)にリソースがある場合、それは非常に役立ちます。

2
Time.deltaTimeを使用しているにもかかわらず、動きはフレームレートに依存しているように見える
Unityでゲームオブジェクトを移動するために必要な変換を計算する次のコードがありますLateUpdate。これはで呼び出されます。私が理解していることから、私の使用はTime.deltaTime最終的な翻訳フレームレートを独立させるべきCollisionDetection.Move()です(ただレイキャストを実行することに注意してください)。 public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If we're ignoring gravity, then just …

3
ブレンダーボーンのエクスポート
メッシュに最適なブレンダーモデルのエクスポーターを作成しました。私はそれをブレンダーで定義されたボーンに拡張しようとしています。しかし、骨のデータをエクスポートするための適切な情報が見つかりませんでした。骨データにアクセスするにはどうすればよいですか?ボーンが影響するすべての頂点、各頂点の重み、行列にアクセスしたいと思います。スケルトンアニメーションと動的分離のために他に何かエクスポートする必要がありますか?

2
効率的な骨格アニメーション
私は、RTSゲームにスケルトンアニメーション形式(ここで指示されたとおり)を採用することを検討しています。画面上の各モデルの個々の表現は小さくなりますが、たくさんあります! MD5ファイルなどの骨格アニメーションでは、個々の頂点を任意の数のジョイントにアタッチできます。 GLSLで補間を行いながら、これをどのように効率的にサポートできますか?または、エンジンはCPUでアニメーションを実行しますか? または、エンジンは頂点ごとの最大ジョイントに任意の制限を設定し、最大数を使用しないジョイントに対してnop乗算を呼び出しますか? RTSのような設定で骨格アニメーションを使用するゲームはありますか?統合されたグラフィックカードでは、骨のルートを進む際に心配する必要がないことを証明していますか?


5
Vector3で演算子 '> ='を使用できないのはなぜですか?
私は私がように参照する2つの位置の間を移動するための四角形を取得しようとしている_positionAとします_positionB。どちらもタイプVector3です。長方形はうまく動きます。ただし、到達_positionBしても、本来のように反対方向に移動することはありません。 コードをもう一度見てみました。オブジェクトが移動ifすると、コード内のステートメントは、rectsの位置がに等しいフレームを逃したという結論に達しました_positionB。rectsの位置がより大きいか等しい 場合は、コードを変更して方向を逆にすることにしました_positionB。私のコードは長すぎないので、以下に表示します。 using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

1
ゲームに表示される2Dボーンアニメーションを実装する方法を知っているのは誰ですか?
彼らがフラッシュゲームでどのようにボーンアニメーションを実装しているのだろうと思いますhttp://www.foddy.net/athletics.swf 2Dボーンシステムを学ぶために始めることができる学習資料を知っていますか?フレームごとに複数のビットマップを作成してアバターシステムを実装したところです(メープルストーリーと同様)。ただし、ボーンシステムを使用するとアートリソースを節約できるため、いくつかのことを学びたいと思っている人もいます。

2
.x(Direct X)ファイルからスケルトンアニメーションを適用するにはどうすればよいですか?
.x形式を使用してBlenderからモデルをエクスポートすると、メッシュ、アーマチュア、アニメーションをロードできます。ゲームでメッシュを生成してモデルを表示しても問題はありません。さらに、アニメーションとアーマチュアが適切なデータ構造に適切に読み込まれています。 私の問題は、アニメーションをモデルに適切に適用することです。モデルを適用するためのフレームワークと、アニメーションを選択してフレームをステップ実行するためのコードがあります。 私が理解していることからAnimationKey、AnimationSetサプライ内のは、バインドポーズをアニメーションフレーム内のポーズに変換する変換を提供します。小さな例として: Animation { {Armature_001_Bone} AnimationKey { 2; //Position 121; //number of frames 0;3; 0.000000, 0.000000, 0.000000;;, 1;3; 0.000000, 0.000000, 0.005524;;, 2;3; 0.000000, 0.000000, 0.022217;;, ... } AnimationKey { 0; //Quaternion Rotation 121; 0;4; -0.707107, 0.707107, 0.000000, 0.000000;;, 1;4; -0.697332, 0.697332, 0.015710, 0.015710;;, 2;4; -0.684805, 0.684805, 0.035442, 0.035442;;, ... …

1
2Dスケルタルアニメーションの変換
しばらくの間、2Dスケルトンアニメーションシステムを構築しようとしていましたが、仕上げにかなり近づいていると思います。現在、私は以下のデータ構造を持っています: struct Bone { Bone *parent; int child_count; Bone **children; double x, y; }; struct Vertex { double x, y; int bone_count; Bone **bones; double *weights; }; struct Mesh { int vertex_count; Vertex **vertices; Vertex **tex_coords; } Bone->xそしてBone->y骨の終点の座標です。開始点は(bone->parent->x, bone->parent->y)またはによって指定され(0, 0)ます。ゲームの各エンティティにはがありMesh、Mesh->verticesエンティティの境界領域として使用されます。Mesh->tex_coordsテクスチャ座標です。エンティティの更新関数では、の位置をBone使用しVerticesて、それにバインドされているの座標を変更します。現在私が持っているのは: void Mesh_update(Mesh *mesh) { int i, j; double sx, sy; …

2
ボーンが指定された方向を指すようにクォータニオンを計算する
この質問を解決するために、ソースポーズの各ジョイントの絶対(ワールドスペース)方向を(正規化された単位ベクトルとして)把握し、ターゲットのジョイントを回転させてその方向に合わせることにしました。問題は、ボーン(ジョイントからその子へのベクトル)がワールド空間で指定された方向になるように回転クォータニオンを計算する方法です。 更新:これが私の現在の考えです。ボーンごとに、変換行列は次のようになります。 (1) absolute transform = local rotation * relative transform to parent in bind pose * parent absolute trasform したがって、3つの関節があるとします:肩->肘->手首。肩の絶対変換が既にあり、肘->手首がソースアニメーションと同じ方向になるように肘の回転を計算しようとしています。(1)から、絶対変換は次のようになります。 (2) ELBOW absolute = ELBOW local * SHOULDER to ELBOW relative * SHOULDER absolute (3) WRIST absolute = WRIST local * ELBOW to WRIST relative * ELBOW absolute 代入すると、次のようになります。 …

1
Panda3Dで使用する2Dスケルトンアニメーションシステムを作成する
ねえ。ゲームで2Dスケルトンアニメーションのシステムを作成できるようにしたいと考えています。ゲームエンジンとしてpanda3dを使用しています。簡単な骨の構造を作成し、スプライトでそれらをスキンできるようにしたいと思います。私はこれをストレートコードとアルゴリズムで実行したいのですが、3Dモデラーなどを使用する必要がある場合は、試してみることができます(前回Blenderを使用したときは、あまりうまくいきませんでした...>。< )
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.