Жесткое тело Годо не движется при добавлении силы

Я только что переключился с Unity на Godot, и у меня возникли проблемы с движением игрока на основе физики. Я написал сценарий на GDscript, который должен добавить силу твердому телу. Это не сработало, поэтому я велел ему записывать переменную в консоль всякий раз, когда я нажимаю кнопку, которая должна перемещать твердое тело. Переменная записалась в консоль, поэтому я могу сделать вывод, что это проблема с жестким телом. Вот код:

extends RigidBody
var Movement = Vector3()
var a : int = 1
func _ready():
    print(a)
func _physics_process(delta):
    Movement = Vector3(0, 0, 0)
    _get_input()
    add_force(Movement, Vector3(0, 0, 0))

func _get_input():
    if (Input.is_action_pressed("ui_right")):
        Movement.x = 1
        print(a)

person TheWorldSpins    schedule 18.10.2020    source источник
comment
попробуйте записать положение твердого тела   -  person Theraot    schedule 26.10.2020


Ответы (2)


О, я тупой. Сила должна быть больше похожа на движение. X = 100, а не движение. X = 1.

person TheWorldSpins    schedule 26.10.2020

Я думаю, вам нужно использовать метод add force следующим образом:

object.add_force(Movement, Vector3(0, 0, 0))

В вашем случае это приведет к чему-то вроде:

self.add_force(Movement, Vector3(0, 0, 0))
person Henry Mont    schedule 20.10.2020