キャラクターのアニメートスプライト2Dとアニメーションプレイヤーについて

なぜキャラクターのアニメーションは AnimationPlayer で指定できるのに、AnimatedSprite2D で作成したアニメーションは指定できないのでしょうか?AnimationPlayer を使ってフレームアニメーションを作成するのは非常に面倒です。しかし、AnimatedSprite2D のチャンネルを作成する AnimationPlayer の実験では、アニメーションが表示されません。公式マニュアルを確認しても、関連する操作は見当たりません。

AnimationPlayer を使用することを選んだのは、ビジュアルスクリプトの線形ワークフローを維持するためだと考えられます。AnimatedSprite2D は異なるリソースタイプを使用するため、当面は一つのアニメーションタイプに統一する決定がなされました。AnimationPlayer の方がより強力であるため、AGMaker のリリース時にはこちらをサポートすることになります。

一つの回避策として、AnimatedSprite を設定し、それを AnimationPlayer を介して制御してビジュアルスクリプトのアニメーションに使用する方法がありますが、それでも AnimationPlayer を使用しているため、本来の目的が損なわれることになります。

別の選択肢として、AnimatedSprite を作成し、必要な時に表示/非表示を切り替える方法があります(私の Bazelot Quest サンプルでは、いくつかの Sprite2D でこの方法を採用しています)。ただし、この場合、自動的な方向反転の機能が失われるという問題があります。

ベータ期間中、AnimatedSprite2D と AnimationPlayer のどちらからでも選択できるオプションを複数回要望されました。それが実現するかどうかはわかりませんが、願って待ちましょう!:crossed_fingers:

ご返信ありがとうございます。昨夜、友人たちと相談した結果、解決策を見つけました。AnimatedSprite2D で編集したアニメーションを再生する効果は、AnimationPlayer 内で AnimatedSprite2D のメソッド関数を参照することで実現できます。ただし、これはまだ少し手間がかかります。将来的に AnimatedSprite2D 内で直接アニメーションを編集できる機能のサポートを期待しています。

「いいね!」 1

TLDR: うまく機能する可能性があります。

moluoye233 さん、こんにちは。あなたの投稿を見て、非常に興味を持って試してみました。
以下が私の実験結果です:
1)実際、AnimatedSprite2D は AnimationPlayer で使用できます。他のノードのようにインスペクターのキー形状のボタンから直接キーフレームを追加することはできませんが、左上のプラス記号ボタンを使ってキーフレームを追加することは可能です。
2)キーフレームトラックにまだ animation プロパティが含まれていない場合、プレビュー画像が表示されないようです。
ただし、animation プロパティが追加されると、アニメーションエディターのタイムライン上で画像プレビューを確認できます。
フレーム数の編集には少し手間がかかりますが、いずれにせよ実現可能な解決策です。
さらに、GameObject 上でも試しましたが、すべて問題なく動作しました。


「いいね!」 2