ゲームのキャラクターはどのようにアニメーション化されますか?[閉まっている]


10

私は最終年度のプロジェクトで友達と協力します。私たちのゲームはFPSになるので、FPSビューや他の敵キャラクターをアニメーション化して、簡単にプログラミングして良いゲームを作る必要があります。

移動可能なゲームキャラクターの作り方を知りたいのですが?これらのキャラクターにはどのようなソフトウェアとエンジンが使用されていますか?


これは重複ですか?もしそうなら、私は閉じるために投票しますが、そうでなければ、このサイトがこの基本的な質問に一度答えることはおそらく良い考えです。
2014年

1
私は最初にそれについて検索し、次にこの質問をしました:-)
アーメド

2Dまたは3Dキャラクターですか?スケルトンを持っているか、アモルファスブロブのキャラクターですか?スタンドアロンの結果または物理エンジンとの統合をお探しですか?これは良い質問かもしれませんが、現時点では、完全な答えが複数の本を埋めるでしょう。
Anko

回答:


18

ゲームキャラクターは通常、骨格アニメーションと呼ばれる手法を使用してアニメーション化されます。 ここに画像の説明を入力してください (画像ソース:バルブソフトウェア

各3Dモデルには、目に見えない骨の構造があります(上の画像の赤と青緑色の線)。モデルの各ポリゴンはボーンに接続されています。モーションシーケンスを定義するときは、他のボーンへの接続の周りのボーンの一連の回転として定義します。ボーンが移動すると、それに接続されているポリゴンも一緒に移動します。これにより、すべてのポリゴンの位置を変更せずにモーションシーケンスを定義できます。複数のキャラクターが同じ骨構造を共有する場合、それらは同じアニメーションを共有することもできるため、各キャラクターの各アニメーションを再作成する必要はありません(性別、性格タイプ、レベルが異なるキャラクターに対して、いくつかのアニメーションを異なるものにしたい場合があります)。体力の)。

ほとんどの3Dモデリングソフトウェアは骨格アニメーションをサポートし、広く使用されている3Dエンジンで読み取り可能なエクスポート形式を備えています。これらはトピックから外れているため、ここで製品の推奨事項を要求しないでください。

ただし、アーティストがアニメーションを最初から作成できるようにしても、常に最良の結果が得られるとは限りません。人間の体の言語の微妙なニュアンスをすべて記憶から再現するのは難しいため、結果はロボットのように不自然に見えることがよくあります。そのため、リソースを備えた大規模なゲームスタジオでは、モーションキャプチャと呼ばれるプロセスを使用します

ゲームのキャラクターの行動を制定するために、人間の俳優が雇われます。俳優は公演中に特別なスーツを着用し、目立つマークが付けられます。制定中にビデオカメラで記録すると、これらのマークの動きをキャラクターの3Dモデルのボーンにマッピングできます。これにより、アクターの動きを同じ骨構造を使用する3Dモデルに適用できます。この方法は通常、はるかに自然に見える結果をもたらし、作​​成するアニメーションが多数ある場合、時間の節約にもなります。 ここに画像の説明を入力してください (画像ソース:Toptear Games

ただし、モーションキャプチャに必要な機器のコストは予算をはるかに超える可能性が高いため、3Dモデリングプログラムで骨格アニメーションを手動で定義する必要があります。


1
いい答えです。しかし、実際に、コンピューターカメラ(ウェブカメラ、Kinects、またはPS Eyes)を利用した、低コストのモーションキャプチャー技術があると言えるかもしれません。また、一般的な骨格メッシュセットアップ用の再利用可能なアニメーションを販売するサービスもあります。
TC

1
@TheodorosChatzigiannakis私はどちらの分野でもあまり知識がありません。たぶん、あなた自身の答えで詳しく説明したいですか?
フィリップ

「アーティストがアニメーションを最初から作成できるようにしても、常に最良の結果が得られるとは限りません」。モーションキャプチャが本質的に手動アニメーションよりも優れていると主張することは、写真がキャンバスペインティングよりも本質的に優れていると主張するのと同じです。手動アニメーションとモーションキャプチャはどちらも、さまざまな目的で使用されるさまざまな芸術的手法であり、各手法の有能なアーティストは優れた結果を提供します。モーションアーティストが優れた手動アニメーションを作成できない場合は、より優れたアーティストを取得する必要があるかもしれません...
パンダパジャマ

2
私は一流の3Dアニメーターを使用してきましたが、それらのほとんどは、モーションキャップを使用するよりも、手動でアニメーションすることを好みます。アニメーションの表現をはるかに細かく制御でき、何よりも自由に操作できるからです。キャラクターは人体ができることと比較してできる。ただし、特定の人間の動きを再現することが重要な場合(たとえば、実際のプレーヤーをフィーチャーしたAAAスポーツゲームの場合)、mo-capは非常に必要です。
パンダパジャマ2014年

ソフトウェアの推奨事項は、StackExchangeのソフトウェアの推奨事項で確認できることを追加できます。
Ramchandra Apte 2014年

3

実は、フィリップの答えはかなり良いですが、重要なポイントを逃しています。

一部のゲーム(Quake / Q2が最も注目に値する例)は、骨格アニメーションをまったく使用しませんでした。代わりに、頂点アニメーション(つまり、メッシュ内の頂点の位置をアニメーション化)に頼っていました。実際、コードでサポートする方がはるかに簡単ですが、大きなプロジェクトの場合、これは通常当てはまりません(ただし、多くのゲームそのよう作成れました*)。

詳細については、例を参照してください

https://en.wikipedia.org/wiki/MD2_(file_format)

また、これはFlash、3D Studio、3DSmaxでアニメーションを定義するデフォルトの方法でした(ただし、骨格アニメーションを実装した後は、この方法で停止しました)。単純なゲームの場合、頂点のフレームベースの補間が(コードモデリングの両方の観点から)最も簡単な方法だと思います。


実際、ほとんどのエンジンでネイティブの骨格アニメーションをサポートしています(私はこれが一般的な問題であると認識)、および少なくとも私の意見では、彼らは正しくスケルトンを設定した後、行うことは非常に簡単です
Kroltan

1
これはどちらか一方または両方の履歴ノートではありません。以前はゲームでこれを行っていましたが、現在はそうではありません。限り、我々は、ゲームエンジンは、彼らが階層アニメーションをした頂点アニメーションをサポートする前に(N64 / PS1と思います)、歴史的なノートを作っているよう
jhocking

骨格アニメーションもキーフレームを使用するため、これを「キーフレームベース」として説明することは非常に誤解を招きます。「頂点アニメーション」に編集します。
2014年

@jhocking /同意、特に 階層アニメーション付き。ええ、頂点アニメーションは実際にここで用語です。そして、はい、新しいゲームはもうそれをしません。

@Kroltan言ったように、実際の骨格アニメーションエンジンのない単純なゲームでは、これ最良のオプションになる可能性があります。数年前にOpenGLで物理プロジェクトの頂点アニメーションとスケルトンアニメーションの両方を手動でコーディングしました。そして、私は、約1時間で頂点アニメーションをコーディングできましたが、スケルトンには数日かかりました。専用のエンジン(Ogreなど)を使用している場合は、骨格を使用するのが明白です。

1

Philippの答え​​は正しいですが、Webカメラのアレイ、Microsoft Kinectセンサー、Sony PS Eyesなど、家庭で一般的に見られるセンサーを利用する(比較的)低コストのマーカーレスモーションキャプチャソリューションがあることを付け加えておく価値があります。通常、プロダクション品質のアニメーションは出力されません(ほとんどの場合、平凡な精度とジッターが予想されます)が、タイミングは適切です。クリーンアップと微調整を行う場合は、スケルトン(またはメッシュを直接)を手動でアニメートする場合と比較して、時間を大幅に節約できます。

さらに、一般的な骨格メッシュ用の既製のアニメーションを販売するサービスであるMixamoもあります。私が正しく思い出すと、評価のために無料で大量のアニメーションが提供されます。


1
ここで、大学のMOCAPラボが実際に高価な(数年前の)機器をすべてマーカーレスkinectベースのソリューションに置き換えたことで、より良い結果が得られたことを付け加えておきます。もちろん、マーカーレスは一流のハードウェアと競合することはできません。しかし、Kinectは(特に価格を考慮に入れると)これらの種類のものにはかなり優れています。
ロイT.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.