1人のキャラクターが複数の残影効果をどのように実装するか

現在、困難な状況に直面しています。ゲームキャラクターには複数の動作に残像エフェクトを適用する必要があるのですが、例えば回避、ジャンプ、落下などです。回避には残像を適用できたのですが、ジャンプと落下にはどうしても残像を適用できません。マニュアルによると、1つのゲームオブジェクトには1つの残像エフェクトしか使用できないとのことです。多くの方法を試しましたが実現できず、異なるアニメーションで異なる残像エフェクトを適用する方法は他にないでしょうか?

んー、僕の方でテストしたんだけど、残像が再生中のアニメーションをコピーしてるみたいで、回避、ジャンプ、落下それぞれが別のフレームを表示してたよ。AfterimageSettingsノードは一つだけ使ってるけど。

うまく動いてる様子を示した短い動画があるよ:

各アクションでどうやって有効にしているのか気になるね。僕なら、残像を表示したい各アクションで is_show_after_image スイッチをオンにして、アクションが終わったらオフにするかな。もし回避アクションでのみ有効にしているなら、ジャンプや落下で何も表示されない理由が説明つくかもしれないね。

あと、キャラクターは一つのSpriteを使っているのか、それともAnimatedSprite2Dを使っているのか? それとも、アクションごとに別々のスプライトを持っているのか? Afterimage Targetは一つのノードしか指せないから、ジャンプや落下が別のスプライトで描画されているなら、残像はそれらをコピーできないよ。

もしアクションごとに違う見た目(例えば、回避の残像とジャンプの残像で色や持続時間を分けたい)を求めているなら、それがオブジェクトごとの一つの制限に関わってくる部分だね。どちらを指しているのか教えてもらえれば、さらに詳しく調べられるよ。

「いいね!」 2

ご連絡ありがとうございます!私は複数のアニメーションに対して、複数のスプライトノード(異なる画像)から残像を生成する方法を探していましたが、実際には誤りであり、マニュアルの意図も理解できていませんでした。ご提示いただいた方法で、複数のアクションに対して異なる残像を生成することができました。鍵となるのは、スプライトシートを使用することです。改めてありがとうございます!

「いいね!」 1