godot

L021 物体運動 2D


オブジェクトに加速度を与えて挙動を見てみます。
重力加速度を与えた自由落下です。
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()

コメント