オブジェクトに加速度を与えて挙動を見てみます。
重力加速度を与えた自由落下です。
CAEのソルバーとして用いるのは難しそうです。
挙動の傾向としてはありそうですが、数値的な精度が出せないです。
ゲームっぽいといったところです。(あたりまえですが)
使用ツールはGodot4.2です。
以下変更して、式に近くなるようにしてみました。
設定変更:物理ティック数
精度を上げていますが、やや差があります。また、2Dだと長さがピクセル単位とのことです。
物理ティックを変更するとかなり違いが生じます。
作業
動画では物理ステップ数を変更していますが変化はありません。
貼り付けたコードです。
extends RigidBody2D
#ini set
var iniPos:float
func _ready():
iniPos = position.y
#
var restTime:float
var time_pos_A:String
func _physics_process(delta):
restTime += ceil(delta*100)/100
#var Dtime = ceil(restTime*100)/100
var time_pos = str(restTime) + "," + str(position.y-iniPos) + "\n"
time_pos_A = time_pos_A + time_pos
print(restTime)
if restTime <= 1.0:
var file2 = FileAccess.open("posY.txt", FileAccess.WRITE)
file2.store_string(time_pos_A)
file2.close()
コメント