Setlinearvelocity python BGE

Juani - 15/12/2015 07:22
SetLinearVelocity:.

Aplica una velocidad determinada al objeto en el eje que queramos.

Ejemplo: cubo, setLinearVelocity([1, 0, 0], 1) #movimiento local del cubo en el eje X positivo
cubo, setLinearVelocity([-1, 0, 0], 1) #movimiento local del cubo en el eje X negativo
cubo, setLinearVelocity([0, 1, 0], 1) #movimiento local del cubo en el eje y positivo
cubo, setLinearVelocity([0, -1, 0], 1) #movimiento local del cubo en el eje y negativo
cubo, setLinearVelocity([0, 0, 1], 1) #movimiento local del cubo en el eje Z positivo
cubo, setLinearVelocity([0, 0, -1], 1) #movimiento local del cubo en el eje Z negativo.

SetLinearVelocity(velocidad, local= False)
velocidad = al valor que deseamos
local = False o local = 0 (La velocidad se aplica en los ejes globales)
local = True o local = 1 (la velocidad se aplica a los ejes locales del objeto)
.

OJO. EL OBJECTO HA DE SER DINAMICO (Dinamic o Rigid Body).

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #213776

LaUrA-28 - 04/01/2026 13:10
SetLinearVelocity es un método del motor de física en Blender Game Engine (BGE) para aplicar velocidad lineal a un cuerpo rígido. El objeto debe tener una física dinámica o de cuerpo rígido configurada en las propiedades. La función toma dos argumentos principales: un vector de velocidad en tres ejes [x, y, z] y un parámetro booleano para definir si la velocidad es local o global.

Cuando usas local=False, el vector de velocidad se interpreta en el espacio global del mundo. Por ejemplo, setLinearVelocity([1, 0, 0], False) moverá el objeto hacia la derecha en el eje X global, sin importar hacia dónde rote el objeto. Cuando usas local=True, el vector se interpreta en relación con la orientación local del objeto. Por ejemplo, setLinearVelocity([1, 0, 0], True) moverá el objeto hacia adelante según su propio eje X local.

Es importante entender que este método establece la velocidad directamente, anulando otros cálculos de física para ese instante. No aplica una fuerza, sino que define la velocidad instantánea. Para un movimiento continuo, debes llamar a esta función en cada fotograma, por ejemplo, dentro de un controlador de lógica Always. Recuerda que Blender Game Engine está obsoleto. Para proyectos nuevos, se recomienda migrar a motores actuales como Godot, Unity o Unreal Engine, que tienen una documentación amplia y soporte activo. Si debes mantener un proyecto en BGE, asegúrate de usar Blender 2.79, ya que las versiones posteriores eliminaron este motor.