godotのkinematicbodyでis_on_floorが有効にならない

godotのkinematicbody3dでis_on_floorが有効にならなかったのでメモ。

ただ単純にmode_and_slideに重力方向を指定するだけだった。よく見ればリファレンスにも書いてある。第二引数に重力方向(y軸)を指定することによって解決。

ただ、マイナス値を設定すると何故か動かないので注意。

https://docs.godotengine.org/en/stable/classes/class_kinematicbody.html

extends KinematicBody

var velocity = Vector3()

func _physics_process(delta):
	#velocityを0にリセット
	velocity = Vector3()

	print(is_on_floor())

#gravity for
	velocity.y = -5
	#重力方向を指定しないとだめだよ
	move_and_slide(velocity,Vector3(0,1,0)



この記事が気に入ったらサポートをしてみませんか?