プロパティを変更が正しく行われません。

ステートの実行アクションのプロパティを変更が稀にバグります。
添付した画像の二つの実行アクションはまったく同じものですが、上の実行アクションは動作せず、新しく作った下の実行アクションは動作します。バージョンは1.41です。私のなんらかの見落としでしたら申し訳ありませんが検証が必要でしたらファイルをお送りします。

はい、差し支えなければ、そのオブジェクトがどのように設定されているかをより深く確認するために、ファイルを送っていただけないでしょうか?

好奇心からなのですが、上部のアクションは別のところからコピーまたは複製されたものですか?それとも、その状態で新規作成されたものですか?もしかすると古いリソースを保持しているため、新しく作成されたものは動作するが、こちらのものは動作しないという状況なのかもしれません。[ユニークとして貼り付け] を行うか、右クリックして [ユニークにする] を選択すると解決する可能性があります。

今回のバージョン大更新では、確かに前後のリソース設定の互換性に関する問題が多数発生しました。
例えば私が遭遇した問題では、2つのオブジェクトを重ねると画面が乱れました。
QQ20260907-172002_format_1
その後、リソース内で右クリックして素材を再インポートすることで問題は解消しました。
また、オブジェクトのインスタンス化時にエラーが発生することもありました。これもバージョンアップに起因する問題だと推測しています。
そのため、急いで解決策を探すのではなく、どの部分で前後のバージョンの競合が発生しているかを確認しました。
追伸:一部のオーディオリソースについても、新しいバージョンに更新後にエラーが発生しました。これらは一つずつ手動でリソースを再読み込みすることで正常に戻りました。

serbowさん、ありがとうございます。私が気にかけていたことと一致していますね。

@PIeroさん、その「上のアクション」は1.4.1にアップデートする前に作成されましたか?
バックエンドがGodotのバージョンを上げたことで、古いバージョンで保存されたアクションは、新しいバージョンが少し異なる方法で読み取るリソースデータを保持したままになっている可能性があります。一方、新しく作成されたアクションは新しい形式で書き込まれます。これが、インスペクターでは両方が同一に見えていても、新しいコピーは機能し、元のアクションが機能しない理由を説明しているのかもしれません。

ファイルを送る前に、まず「プロジェクト」→「現在のプロジェクトを再読み込み」を試してみてください。それで何も変わらない場合は、エディターを閉じて、プロジェクトルートにある.godotフォルダーを削除し、再度開いてすべてのリソースをクリーンに再インポートしてください。これが最近Discordで誰かの古いキャッシュをクリアするのに役立ちました。

それでも「上のアクション」が正しく動作しない場合は、Bellamyさんが依頼したようにプロジェクトを送っていただければ、リソースレベルで両方のアクションを比較することができます。

「いいね!」 1

動作しないアクションはアップデート前に作ったアクションをアップデート後にコピー&ペーストし、その後ユニーク化したものです。

「現在のプロジェクトを再読み込み」では効果はありませんでした。

全てのリソースを再インポートは試していませんが、私のプロジェクトでは既に大量のサウンドとアニメーションを使っているのでそれを行うとするとかなり膨大な作業です。

**serbow**さんの場合画像のバグですが私の場合コリジョンマスクとコリジョンレイヤーの変更です。素人意見で恐縮ですがリソースに問題があるように思えません。

現状新しく作ったアクションで動作はしているのでこのまま使ってみて画像や音に問題があれば再インポートを試してみます。

ファイルは既に送ってしまいましたが無視してくださって結構です。

ありがとうございます。そういった不具合もあるのですね。

同じような症状が出た場合その解決方法を参考にさせていただきます。

プロジェクトファイルをバックアップし、バズ氏(Mr. Baz)の説明に従って、.godotフォルダを手動で直接削除してください。削除後、AGMを起動してください。これによってデータが失われることはありません。これは単に旧バージョンのAGMのキャッシュをクリアするだけで、少し待つとAGMが再読み込みされます。AGMは旧バージョンの操作履歴をクリアしますが、この影響はほとんどありません。シーンを開き直せば問題ありません。キャッシュクリア後にエラーが表示された場合は、「プロジェクトファイルを再読み込み」を再度クリックして試してください。

「いいね!」 1

ありがとうございます。.godotフォルダを削除した後AGMを起動しました。

今までの履歴や開いたシーンはリセットされましたが問題のプロパティ変更は動作しないままでした。原因は分かりませんがアップデートは関係なくなんらかの拍子にこの実行アクション自体が壊れてしまったように感じます。

うーん、どうやらバージョンアップの問題ではないようですね。あまり深く追求したくなければ、過去のデータを削除して現在の状態でそのまま使えば解決するんですよ、哈哈哈。でも、深く掘り下げるのも必要かもしれませんね。

プロジェクトの提出ありがとうございます。現象を再現し、詳細を確認できました。コピーされたアクションは壊れていません。リソースレベルで両者を比較すると同一であり、コピー&ペーストおよび「一意にする」機能は正常に動作しています。

問題の原因は、オブジェクトが特定のステートで移動を開始する際、AGMakerがオブジェクトの設定から基本のcollision_maskを取得して上書き書き込みを行う点にあります。collision_layerは変更されず、maskのみが影響を受けます。「ダッシュ素通り」における上側のペアはMoveInDisplayDirectionの前に実行されるため、マスクが1に設定された直後に移動開始時に3に上書きされます。一方、下側のペアは移動が既に開始された後に実行されるため、その変更が保持されます。もしMoveInDisplayDirectionを上側のペアの上にドラッグすれば、そのペアも正常に動作します。

したがって、当面の間、collision_maskに対するChangeObjectPropertyは、リスト内で移動アクションの下に配置する必要があります。

「いいね!」 1