上下に動く足場に正しく着地できない

上下に動く足場に対し、下方向で接地していれば地上、設置していなければ空中になり色が変わるだけのオブジェクトでテストしています。

上方向に移動する足場に着地すると空中判定になってしまうようです。足場の作りはスクショの通りです。足場はこう作ってほしい等の指示があればお願いします。


ご報告ありがとうございます。

おそらくですが、壁判定のサイズが薄いようですので、上方向移動でオブジェクトがめり込むことで接触判定のための法線がすり抜けてしまっているのではないかと思います。

壁判定のサイズを分厚くしていただいて発生するかご確認をいただき、もしそれでも発生するようであればプロジェクトをいただけますでしょうか?

こちらです

「いいね!」 1

状況確認できましたので開発に報告させていただきます。

こちら本日配信のバージョン1.1.3で判定の調整をさせていただきました。

うーん、スピードスケール1.2以上だとやはり発生してしまいますが、この辺が妥協点なんでしょうか・・・。

頂いたプロジェクトでスピードスケールを1.5に設定しても発生しないようでした・・・

なにか設定を変更などされているでしょうか?

あ、わかりました、モニターのFPSを144FPS等にすると発生しますね。

開発に確認をしますがこれはGodotの仕様上の問題かもしれません・・・

といいますのも、Godotの物理処理(physics_process)は常に60fpsで処理されます(これはUnity等も似たような形式です。)

一方で、AnimationPlayerの更新は60fpsを固定ではありません。通常の処理タイミングではこれは問題にならないのですが、スピードスケールを変えると単純に処理回数が増えてしまうようで、処理の同期ズレがおきてしまうようです。(スピードスケール1.2であれば、1秒に72回処理されますが、物理処理は60回の処理でずれます。)

なので、おそらくスピードスケール側の問題なのでAnimationPlayer側でアニメーションの長さを変えていただく形であれば問題はおきないのではないか・・・と思います。

こちらで確認した範囲ではスピードスケール以外でも基本無理みたいですね。やはりある程度以内のスピードに収める方が現実的なようです。