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

ランニング、シッティング、ストライキングなどのゲーム内エンティティのモーションのシミュレーション。

5
スプライトアニメーションのベストプラクティス
現実世界の人々がどのようにアニメーションを処理しているかについて、より適切に対処したいと思います。 1つの大きな画像を読み込んでから、アニメーションフレームに基づいて異なる四角形を描画しますか? X画像ファイルを配列にロードし、アニメーションフレームに基づいて配列にアイテムを描画しますか? さまざまなスプライトに対して異なる長さのアニメーションをどのように処理しますか。 キャラクターの歩行には4〜8フレームかかり、ビーチの波には2〜3フレームしかかかりません。その状況にどのように対処しますか?下記参照 Dim Waves(1) as Sprite Dim Char(5) as Sprite Sub Animate() Frame += 1 Draw Char(Frame) Draw Waves(Frame) If Frame = 5 Then Frame = 0 End Sub 明らかに、Wavesは範囲外エラーになります。 または、スプライトが自身のアニメーションを心配していて、フレームをまったく気にしていないのですか。各スプライトに独自のアニメーションループを認識させますか?

2
サイズが均一でないスプライトシートからアニメーションフレームをすばやく定義するのに役立つツールはありますか?
オンラインのスプライトシートの多くは、アニメーションフレームとして不均一なサイズの長方形を持ち、多くの場合、クレジットなどに画像の一部を使用します。これにより、ゲームエンジンがシートを正しくクリップすることが難しくなります。 シート内のフレームをすばやく定義し、ゲームエンジンが使用するアニメーションデータをエクスポートするのに役立つツールはありますか?

2
ジャンプアニメーションで着陸部分を適切に処理する方法
このスプライトシートを見てください。 フレーム1〜3は「ジャンプアップ」フレームであり、その後、ジャンプの「ピーク」まで(重力が後退し始める)最後のフレームが修正されることは明らかです。下に移動する場合、フレーム4〜7が使用され、すべて「アイドル」フレームで終了します(このジャンプスプライトでは表示されません)。 私の質問は、このスプライトのフレーム6と7についてです。エンティティがジャンプ後に「着陸」するとき、アニメーション6〜7を「着陸」アニメーションとして実行することを想定しています。ジャンプフレームで下に移動する場合、4〜5はアニメーションの「開始」なので簡単です。フレーム5は落下する限り保持できますが、フレーム5から6-7-xに移行する適切な方法は何ですか?次のフレームが落下かどうかを確認してから着陸を「開始」しますか、それとも実際に地面にぶつかったときに行いますか? 崖から飛び降りたり、低い屋根の下でジャンプして頭にぶつかり、跳ね返るなどのさまざまなシナリオのため、時間を計ることはできません。 何か案は?

3
Unity3Dでレッジをつかんで登る
私は新しいプロジェクトを始めました。このプロジェクトでは、ゲームプレイの主なメカニズムの1つは、レベル内の特定のポイントでレッジをつかみ、それに固執できることです。 私の質問は、私がこれとかなり長い間取り組んでいるので。どうすればこれを実際に実装できますか?アニメーションで試してみましたが、アニメーションが始まる特定のポイントにプレーヤーがスナップするため、本当にitいです。

5
最高のヘッドボブ式は何ですか?
空間内のポイント、移動方向、および開始からの時間を考えると、頭のボブをシミュレートする説得力のある、不調の式は何ですか?以前のゲームで成功したことは何ですか?どのボブが病気を引き起こすのかについての研究はありますか? 上軸に適用されるナイーブヘッドボブ式の例: http://www.wolframalpha.com/input/?i=abs%28sin%28x%29%29

5
弾丸リリースと発射アニメーションを結び付ける方法
弾丸を発射するときに発生させたいアニメーションがあるとしましょう。アニメーションの最後に弾丸をどのように表示しますか。私が理解できる唯一のことは、アニメーションの時間の長さを知り、その時間が経過するまで弾丸の位置の設定とアクティブな設定を遅らせることです。これが最善のアプローチかどうか疑問に思っていましたが、他の誰もこれをどのように扱っていますか? 編集:私は質問を適切に表現するのに問題があると思う。
15 2d  animation  release  timing 

2
データ駆動型のアニメーション状態
編集:私の質問が正確に何であるかを明確にするために:これは、コンテンツの作成/管理に注目してゲームエンジンでアニメーション/アニメーション状態を処理する良い方法ですか?この方法で行うことの欠点は何ですか?また、それを行う別の方法は何ですか?-私の答えはコメントの中で部分的に答えられましたが、それが進むべき道のようです。 アニメーションをハードコーディングせずに、2Dゲームエンジンの趣味プロジェクトでアニメーションを処理しようとしています。アニメーションの状態をハードコーディングすることは、よくあることですが、非常に奇妙な現象のように思えます。 少しの背景:コンポーネントがデータの袋であり、サブシステムがそれらに作用するエンティティシステムを使用しています。ポーリングシステムを使用してアニメーションの状態を更新することにしました。 アニメーションを述べて私は意味: "walking_left"、 "running_left"、 "walking_right"、 "撮影"、... アニメーションを処理する私のアイデアは、データ駆動型モデルとして設計することでした。データはxmlファイル、rdbmsなどに保存できます。また、ゲーム/レベル/の開始時にロードすることもできます。この方法で、コードをどこにでも変更することなく、アニメーションとトランジションを簡単に編集できます。ゲーム。 例として、念頭に置いたデータ定義の xmlドラフトを作成しました。 非常に重要なデータの1つは、単にアニメーションの説明です。アニメーションには一意のID(わかりやすい名前)が付けられます。画像への参照IDを保持します(異なるアニメーションは異なるスプライトシートを使用する可能性があるため、使用するスプライトシート)。アニメーションを実行する1秒あたりのフレーム。ここでの「リプレイ」は、アニメーションを1回または無限に実行する必要があるかどうかを定義します。次に、四角形のリストをフレームとして定義しました。 <animation id='WIZARD_WALK_LEFT'> <image id='WIZARD_WALKING' /> <fps>50</fps> <replay>true</replay> <frames> <rectangle> <x>0</x> <y>0</y> <width>45</width> <height>45</height> </rectangle> <rectangle> <x>45</x> <y>0</y> <width>45</width> <height>45</height> </rectangle> </frames> </animation> アニメーションデータは、アニメーションリソースプールに読み込まれて保持され、それを使用しているゲームエンティティによって参照されます。画像、音、テクスチャなどのリソースとして扱われます... 定義する2番目のデータは、アニメーションの状態と遷移を処理する状態マシンです。これは、ゲームエンティティが存在できる各状態、移行できる状態、およびその状態の変化をトリガーするものを定義します。 この状態マシンは、エンティティごとに異なります。鳥には「歩く」と「飛ぶ」という状態があるかもしれませんが、人間には「歩く」という状態しかありません。ただし、複数の人間がおそらく同じ状態になる可能性があるため(特に、モンスターなどの一般的なNPCを定義する場合)、異なるエンティティで共有できます。また、オークは人間と同じ状態になる場合があります。この状態定義は、ゲームエンティティの選択グループによってのみ共有される可能性があることを示すためだけです。 <state id='IDLE'> <event trigger='LEFT_DOWN' goto='MOVING_LEFT' /> <event trigger='RIGHT_DOWN' goto='MOVING_RIGHT' /> </state> <state id='MOVING_LEFT'> …
14 animation  state  fsm 

5
動作中にさまざまな機器を大量に使用できるように2Dキャラクターを作成するための最良のアプローチはどれですか?
2Dゲームを作成したいのですが、RPGなどのさまざまな組み合わせで、さまざまな装備を大量に身に付けるキャラクターを作りたいです。 したがって、ユーザーが肩とズボンを変更するとします。これはプレーヤーに表示され、これらのさまざまな装備はすべて、異なるキャラクターのアクション(ヒット、ヒット、魔法のスペルなど)に従う必要があります。 解決するのに最適なアプローチ/アルゴリズム/アーキテクチャを知りたい問題がいくつかあります。 1-スプライトまたはアニメーション 各アクションアニメーションの各機器に異なるスプライトを作成する必要がありますか? 機器のスプライトを持ち、回転や平行移動などのコードで直接アニメーション化する方が良いでしょうか(Flashのトゥイーンのようなものを使用)。 他のより良いオプションはありますか?(私は上記のアイデアが本当に好きではありません) 2-ポジション キャラクターの動きの1つで、プレイヤーの視界の真正面を見るようになりましたが、プレイヤーの右側を示す動きを終了したとします(剣を片方からもう片方に振った場合など)。 たとえば、ユーザーの頭のように、ユーザーの一部を考えると、それは前から始まり、左に曲がります。 各ヘッド装備(ヘルメット、キャップなど)ごとに少なくとも3つの異なる位置を意味します。 これは間違いなく#1の質問の答えに影響します。それを達成する最良の方法はどのようなものですか? 3-レイヤー 腕を開いた状態で360度回転するキャラクターの動きを考えてみましょう。アニメーションの開始時には、彼の右手はユーザーの視界に近く、動きの途中では、おそらくアニメーションのキャラクターの体の後ろにあります。 #1の質問のオプションが何であれ、このスプライトまたはアニメーションをプレーヤーのビューに近づけて、後でプレーヤーのビューから遠くに変更するには、何らかのレイヤーモデルを使用する必要があります。 それを行う良い方法はありますか? 質問は非常に長く、理解するのが難しいことを知っています。図面を用意して、どれを説明しようとする方が良いと思うか教えてください。

1
アニメーションにブレンドツリーとステートマシンを使用する場合
3Dアニメーションキャラクター(Unity)で初めてゲームを作成した経験豊富なゲーム開発者の趣味で、ブレンドツリーとアニメーションステートマシンを使用するタイミングを判断するのに苦労しています。概念的には両方を理解していますが、Unityと他のソースの両方のチュートリアルで、キャラクターのアニメーションに使用されるブレンドツリーとアニメーションステートマシンの両方を見てきました。誰かが私を正しい方向に向けることができることを望んでいるのに、いつ/なぜ他の人よりも優れているのか分かりません。 私のゲームは3人称アクションRPG a'la WoWまたはKOTORまたはMass Effectです(私が知っている異なるシステムですが、視点と戦闘スタイルは高レベルでちょっと近いです)。攻撃、ブロック、偽装、死亡、ウォーキング、ランニング、ジャンプ、射撃などのアニメーションが大量にありますが、それらを自然にシーケンスする方法はわかりません。 移動に使用されるブレンドツリーを見たことがありますが、これはキャラクターの動きを滑らかにしようとするときに理にかなっていますが、そのブレンドツリーから攻撃状態に移行する方法がわかりません。等)。攻撃/死/回避の状態にモーション状態からブレンドツリーを作成する必要がありますか?ステートマシンだけを使用して、さらに制御できますか?ステートマシンには非常に注意が必要です。移行の肥大化は非常に一般的であり、ブレンドせずにジャンキーアニメーションシーケンスを作成する可能性が大きいと思われるためです。 Unityキャラクターコントローラーを使用し、独自のロジックスクリプトを記述してそれを駆動する予定です。AIには、組み込みのnavメッシュエージェントを使用します。キャラクターコントローラーアニメーションはAIアニメーションとは異なる方法で処理されますか? 洞察は大歓迎です! ありがとう

2
私の膨大な数の画像のために、またはそれにもかかわらず、スプライトシートを使用する必要がありますか?
2Dゲームを開発していますが、たくさんのスプライトがあります。3Dアニメーションとモデルを使用して2Dにレンダリングし、「フォールアウト」または「ディアブロ」に見えるようにしました。また、手で描くよりも簡単です(笑)。 私はすでにフレームレートを15fpsに削減しなければなりませんでした。これは、フレームをぎこちなくすることなく下げることができる最低のフレームレートでした。しかし、24フレームが非常に滑らかに見えたために悲しかったです。 これを行った理由は2つあります。 1)HDDスペースを削減します。画像が少ないほど、ゲーム全体が小さくなります。 2)RAMの消費を削減します。ロードする画像が少ないほど、RAMの制限を膨らませる問題を回避できる可能性が高くなります。 ただし、HDDスペースとRAMの両方でイメージを圧縮する方法があれば、それを行います。以前にテストしたことがありますが、ほとんどの場合、RGBA8888からRGBA5555に変換しても品質に変化はなく、TexturePackerプログラムでRGBA4444に変換してもほとんど影響を受けません。SFMLは、.PNGイメージのタイプに関係なく、同じ量のメモリを使用するように見えるため、現在これを行いません。異なる方法でロードする方法を調査しましたが、このテーマについては何も見つかりませんでした。 2Dビデオゲームの処理方法について多くの記事を読みました。コンセンサスは圧倒的です。優れたパフォーマンスのために、スプライトをより大きなテクスチャに詰め込みます!そこで、TexturePackerを使用して、小さなスプライトを非常に大きなスプライトシートにパックします。 ただし、キャラクターごとに10〜15のアニメーション、5つの移動方向、およびアニメーションごとに15〜40のフレーム(おそらく平均24)を用意する予定です。15アニメーション、5方向、およびアニメーションあたり平均24フレーム。つまり、1文字あたり1800個の個別フレームです。スプライトシートにパックされている場合、代わりに75個の画像のみです。(アニメーションごと、方向ごとに1つのスプライトシート。15* 5) ゲーム内の1人の巨大なボスキャラクターの場合、スプライトシートを使用できず、一度に1つのイメージを単純に読み込む方法をプログラムする必要があります。パフォーマンスのためにこれを行うことができるかどうかはまだわかりません。 キャラクターについては、すでにスプライトシートにパックしています。1人のキャラクターが歩き回る場合、これはほとんどの場合うまくいくようですが、時々失速します。ただし、そのキャラクターのすべてのテクスチャをプリロードするのではなく、テクスチャをスワップアウトする悪い考えのコードに起因します。 テクスチャをプリロードする場合、スプライトシートには意味があります。各キャラクターに1800個の小さな画像をプリロードするのは悪い考えだと想像するだけです。 ただし、一度に1つずつメモリにストリーミングしたり、メモリからストリーミングしたりするのは非常に高速であるため、一度に1つの画像をメモリに保存するだけで済みます。これは、特定の瞬間に各キャラクターが45 + MBではなく数KBしか消費しないという意味ではないでしょうか? ストリーミングは信じられないほど高速(1秒間にメモリとレンダリングに出入りする15枚の画像)が必要であり、画像は非常に小さいものの、キャラクタースプライトシートをロードすることをお勧めします。代わりにメモリに。しかし、とにかく大きなボスキャラクターのために、単一画像ストリームのようなレンダリングシステムをコーディングする必要があります。 私は実験してきましたが、単純なプロセスではありません。特に、現在グラフィックスを処理していないゲームエンジンの他の部分に取り組んでいるという事実を考えると。

1
歩行サイクルアニメーションの「モーション」をアニメーション化する一般的な方法
私はこれをBlenderアーティストのフォーラムに投稿したばかりで、おそらくゲーム開発に特化したより多くの視聴者からより良い反応を得られると気づいたので、クロスポストをおpostびします!それは正しい理由です:) 私は、Ogreを使用して、ゲームプロジェクトのために歩くキャラクターをアニメーション化しようとしているプログラマです。Blenderで非常に簡単なウォークサイクルを作成し、Ogreにエクスポートしたところ、問題なく再生されました。罰金では、私はそれが動作することを意味しますが、ひどい足の滑りがあります。これは、Blenderでウォークをその場で(原点で)アニメーション化しただけであり、もちろん「ウォークスピード」がそれに対応するかどうかもわからないためです。アニメーションの足の動きと一致する必要はありません。 だから私の質問は次のとおりです。この種のものに対する通常のアプローチは何ですか?仕事ではMayaを使用し、アニメーターはキャラクターの「位置」を表す特別な「moveTrans」ノードをアニメートする(またはルートノードの動きからエクスポーターに生成させる)か、ゲームはこれを読むことができますアニメーションがキャラクターを動かす速さを知るため。そのため、Mayaファイルでは、キャラクターは1サイクル前に進み、この追加のノードは彼らと一緒に足で続きます。私はオープンソースの土地でこのようなものを見たことはありませんし、Ogre Exporterスクリプトには確かにそれに対する規定はありません。このために通常何をしますか?
13 animation 

3
「Dont Starve」ではどのアニメーション手法が使用されていますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 6年前に閉鎖されました。 開発から離れた個人的な時間にいくつかのゲームをプレイしているときに、サバイバル2D / 3Dサバイバルゲームに出くわしました。ゲームは明らかにSDLとGLUT(Dont starve)で作成されましたが、本当に驚いたのはゲーム内のアニメーションでした。 アニメーションは非常に滑らかで流です。アニメーション中に歪みはありません。手作りのアニメーションで通常起こるのは、ピクセルが削除され、アニメーションがギザギザになり、単純に滑らかにならないことです。それで、どうしてこのような品質のアニメーションを達成できたのかを考えるようになりました。彼らは本当に手作りでしたか(もしそうなら、それは非常に才能のあるアーティストを撮影したに違いありません)、それは骨のアニメーションですか、それとも別のテクニックを使用していますか?
12 animation  sdl  glut 

1
動的モデルの相互作用
多くのゲーム(アーカムアサイラム/シティ、マンハント、ヒットマンなどのゲーム)で、あなたのキャラクターがあなたの前のキャラクターを「つかみ」、それらに何かをできるようにするために、どのようにそれを行うかについて私は興味があります。これは非常に紛らわしいように聞こえるかもしれませんが、例としてyoutubeにアクセスして「ヒットマンの処刑」を検索します。最初のビデオは私が求めているものの例です。 基本的に、どのようにしてあなたのモデルがあなたが遭遇する他のモデルと動的に相互作用するのか疑問に思っています。そのため、ヒットマンでは、繊維ワイヤーで他のモデルの後ろに来ると、他のキャラクターを絞め殺したり、麻酔薬を持っていると、人が苦労している間、口に手を置いて、ゆっくりと床に行きます。特定の骨/骨格識別子を使用して2つのモデルを使用するようにアニメーション化されたかどうかは、実際に相互作用しているように見えるように正しいタイミングで再生される2つの完全に別々のアニメーションだけである場合、または他の何かがすべて一緒になっているかどうかについて混乱しています。 私はアニメーターではないので、私が言ったことのほとんどは正しくないと思いますが、誰かが私の意味を理解し、答えを提供できることを願っています。 PS)私はプログラマーであり、そのゲームスタイルが大好きだからといって、ヒットマネスクゲームを構築しているところです。モデルとプログラミングの両方を含む例(現時点ではc ++と主にOgre3Dを使用していますが、統一とXNAを使用しています)とても感謝しています。 ありがとう。
12 xna  unity  animation  models  ogre 

3
Minecraftのアニメーションはゲームにハードコーディングされていますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 5年前に閉鎖されました。 Minecraftでアニメーションシステムがどのように機能するかを知りたいです。すべてのMobがゲームにハードコーディングされているように感じます。ノッチは本当にそこに座って、すべてのアニメーションボーンのマトリックスを手で作成しましたか? 私は楽しみのためにゲームを作り直すのが好きなので、彼がこれをどのようにしたか知りたいです。また、彼が本当にそれらをハードコーディングした場合...より良い方法はありますか?

2
2Dの「ねばねばした」/「粘着性のある」分離効果を作成するにはどうすればよいですか?
このアニメーションに似たエフェクトを作成したいのですが、2つのシェイプは時間の経過とともに分離しますが、(しばらくの間)伸びて、最終的には壊れるねばねばした何かによって接続されています。同様にピザチーズが、特に 2Dインチ 私はSwiftとSpriteKitを使用しています。これにはおそらくキーフレームのベジェパスアニメーションが関係していると思いますが、よくわかりません。どうすればこの効果を達成できますか?
11 animation 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.