Hola Visitante

Rígidbody aplicar fuerzas y torque

  • 1 Respuestas
  • 80 Vistas
*

Asylum

  • *
  • 5
  • +0/-0
    • Ver Perfil
Rígidbody aplicar fuerzas y torque
« en: 29 de Junio del 2019, 06:44 »
Hola a todos! Soy nuevo en  godot y me gustaría saber como haría las líneas de  código para un rigidbody y aplicarle fuerzas y torque, ah pero el asunto está en que no se como hacer para que al aplicar la fuerza se le sea dada al vector local,  osea si aplico torque y luego fuerza esta actúe hacia donde ve el cuerpo rígido... vengo de unity y hacer eso es más fácil pero aquí en godot todo afecta al eje global

*

Asylum

  • *
  • 5
  • +0/-0
    • Ver Perfil
Re:Rígidbody aplicar fuerzas y torque
« Respuesta #1 en: 01 de Julio del 2019, 07:54 »
Creo que aquí no iba este post,  de todas formas ya solucione el tema y dejo el  código por si alguien está interesado y le sirva de algo

Código: [Seleccionar]
extend  RígidBody


var Fuerza = 10
var TorqueX
var TorqueY
var TorqueZ


func physics_process(delta)
     if Input.is_action_pressed ("ui_up"):
          TorqueX = 1
     if Input.is_action_pressed ("ui_down"):
          TorqueX = -1
     if Input.is_action_pressed ("ui_left"):
          TorqueZ = -1
     if Input.is_action_pressed ("ui_rigth"):
          TorqueZ = 1
     if Input.is_action_pressed ("ui_A"):
          TorqueY = -1
     if Input.is_action_pressed ("ui_D"):
          TorqueY = 1
     if Input.is_action_pressed ("ui_W"):
          FuerzaY = 1
     if Input.is_action_pressed ("ui_S"):
          FuerzaY = -1


     var torqueValue = Vector3 ()


     torqueValue += self.global_transform.basis.x.normalized () * Fuerza * TorqueX


     torqueValue -= self.global_transform.basis.y.normalized () * Fuerza * TorqueY


     torqueValue += self.global_transform.basis.z.normalized () * Fuerza * TorqueZ


     Add_torque(torqueValue )


     var dirección = self.global_transform.basic.y.normalized ()
     Add_force (dirección * Fuerza * FuerzaY,  (self.global_transform.origin - global_transform.origin.normalized ())


Con esto he conseguido aplicar fuerza y torque al cuerpo rígido en sus coordenadas locales
« Última modificación: 01 de Julio del 2019, 08:03 por Asylum »