Crear objetos giratorios

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Objetos giratorios son objetos que rotan sobre uno o más ejes dentro del espacio 3D. Usando el poder incorporado del motor de simulación de Roblox, puedes hacer que los objetos giren e interactúen con su entorno de una manera que emula el comportamiento físico del mundo real que es familiar e intuitivo para los jugadores, como la gravedad, la aerodinámica y la fricción.

Usando el archivo Spinning Objects .rbxl como referencia, este tutorial explica cómo las fuerzas físicas impactan el movimiento angular en Studio, y te muestra varias técnicas para hacer girar objetos en tus juegos con diferentes comportamientos de giro, incluyendo orientación sobre:

  • Usar un AngularVelocity constraint para girar un ensamblaje completo a una velocidad angular constante.
  • Usar un HingeConstraint constraint mecánico para girar una parte dentro de un ensamblaje a una velocidad angular constante mientras el resto del ensamblaje permanece estacionario.
  • Usar el método ApplyAngularImpulse para girar un ensamblaje con un impulso inicial de fuerza angular para que el ensamblaje desacelere lentamente con el tiempo.

Movimiento angular y fuerzas físicas

Roblox Studio es un motor de simulación del mundo real que emula el comportamiento físico en tiempo real, por lo que para predecir el comportamiento de los objetos giratorios en los juegos, es importante tener una comprensión general de cómo giran los objetos en la vida real con movimiento angular.

Movimiento angular, o movimiento rotacional, es el movimiento alrededor de un punto o eje fijo. Por ejemplo, cuando una hélice tiene movimiento angular, gira alrededor de su eje rotacional en el medio de la hélice.

El movimiento angular no puede existir sin fuerzas físicas externas empujando o tirando de los objetos para girar. Según la primera ley del movimiento de Newton, los objetos en reposo permanecen en reposo y los objetos en movimiento permanecen en movimiento con una velocidad constante a menos que sean afectados por una fuerza externa. Por ejemplo, una hélice en reposo permanece en reposo a menos que una fuerza física como el viento la empuje a girar.

Torque es la medida de la fuerza física que causa que los objetos giren, y es responsable de que los objetos obtengan aceleración angular. Este concepto es particularmente importante para que los objetos giren en Studio; cuanto más torque apliques a los objetos, más rápido pueden acelerar.

Esto se debe a que el torque necesita ser mayor que cualquier fuerza física direccional que empuje en contra del objeto, como la gravedad o la fricción. Por ejemplo, si colocas la hélice en tierra, la fuerza física del viento necesita superar la cantidad de fricción de la tierra para continuar acelerando la hélice giratoria. Si la fuerza del viento no es mucho mayor que la fricción de la tierra, la hélice acelera, pero más lentamente que en el ejemplo anterior.

Velocidad angular es la medida de la tasa de rotación de un objeto, o cuán rápido el objeto gira alrededor de un punto o eje fijo durante un período de tiempo. Studio mide la velocidad angular de acuerdo a cuántos radianes un objeto gira por segundo. Hay 2π radianes (6.283) en una rotación completa, por lo que para que un objeto complete una rotación por segundo, debe tener suficiente torque para girar alrededor de 6 radianes. Comprender la velocidad angular es importante para diseñar la jugabilidad en tus juegos porque te ayuda a determinar cuánto torque necesitas para lograr una aceleración particular para tus objetos giratorios.

Las siguientes secciones profundizan en estos conceptos mientras aprendes a girar objetos a una velocidad angular constante o inicial con el torque necesario para superar cualquier fuerza física opuesta dentro del entorno. A medida que revises estos conceptos físicos con las próximas técnicas, podrás predecir más precisamente cómo ajustar los valores de las propiedades para lograr cualquier comportamiento de giro ideal en Studio.

Mantener una fuerza angular constante

Para que un objeto alcance y mantenga una velocidad angular constante, necesita una fuerza angular para superar cualquier fuerza física opuesta que desacelere la velocidad angular del objeto o cause que el objeto permanezca en reposo. Por ejemplo, si deseas que un objeto tenga una velocidad angular de [0, 12, 0] en Studio, necesitas suficiente torque para que el objeto alcance y mantenga 12 radianes por segundo a lo largo del eje Y en su entorno, o aproximadamente dos rotaciones completas por segundo.

La cantidad de torque que aplicas a tus objetos no solo depende de las fuerzas físicas opuestas dentro del entorno mismo, como la gravedad y la fricción, sino también del objeto en sí. Por ejemplo, si tienes dos objetos de la misma forma que giran sobre el mismo eje, el objeto más grande con un mayor momento de inercia requiere más torque para lograr la misma aceleración angular.

La pequeña parte triangular tiene un momento de inercia más bajo, por lo que necesita menos fuerza angular para lograr la misma aceleración.
La gran parte triangular tiene un momento de inercia mayor, por lo que necesita más fuerza angular para lograr la misma aceleración.

Las siguientes subsecciones utilizan ensamblajes de diferentes formas y tamaños para enseñarte cómo girar un objeto completo o solo una parte del objeto. A medida que experimentes con diferentes valores de propiedades, aprenderás a estimar la cantidad máxima de torque que necesitas para los ensamblajes en tus propios juegos.

Usar restricciones de AngularVelocity

Los objetos AngularVelocity son un tipo de restricción de mover que aplican torque en un ensamblaje completo para mantener una velocidad angular constante. Para comenzar a girar el ensamblaje, la restricción AngularVelocity necesita saber:

  • El punto y la dirección positiva o negativa para aplicar una fuerza angular.
  • La cantidad de radianes que deseas que el ensamblaje gire por segundo.
  • La cantidad máxima de torque que el motor puede aplicar para que el ensamblaje alcance una velocidad angular constante.

Para demostrar este proceso, agregarás un bloque a tu espacio de trabajo con un anexo que una restricción AngularVelocity referencia para girar el bloque 6 radianes por segundo a lo largo del eje Y del mundo a una velocidad angular constante, o aproximadamente una rotación completa.

Agregar anexo

Puedes especificar el punto fijo para girar un ensamblaje agregando un objeto Attachment al ensamblaje, y luego configurando la posición del anexo en el espacio 3D. El juego de muestra Spinning Objects coloca un anexo en el centro de una parte de bloque para que la restricción pueda girar la parte en sentido antihorario alrededor de su centro.

Los anexos incluyen ayudas visuales para ayudarte a visualizar sus ejes de rotación. La flecha amarilla denota el eje principal del anexo, y la flecha naranja denota el eje secundario del anexo. Aunque ninguno de los ejes de rotación influye en la rotación del bloque en los pasos de esta técnica, es importante entender estas ayudas visuales para referencia futura porque pueden asistirte en determinar el comportamiento ideal para diferentes tipos de restricciones, como la HingeConstraint en la próxima técnica.

Para agregar un anexo:

  1. En la ventana de Explorer, inserta una parte de bloque en el Workspace.

  2. Inserta un anexo en la nueva parte.

    1. En la ventana de Explorer, pasa el cursor sobre la parte y haz clic en el botón ⊕. Se muestra un menú contextual.
    2. Desde el menú, inserta un Attachment. El anexo se muestra en el centro de la parte.
    3. Cambia el nombre del anexo a SpinAttachment.

Configurar restricción

Ahora que tu bloque tiene un punto fijo para girar, puedes configurar las propiedades de una restricción AngularVelocity para especificar la dirección rotacional, el eje o ejes para aplicar una velocidad angular constante objetivo, la cantidad de radianes que deseas que el bloque gire por segundo, y la cantidad máxima de torque que el motor puede aplicar para que el bloque alcance una velocidad angular constante.

El juego de muestra Spinning Objects aplica hasta 1000 Rowton-studs de fuerza angular constante para girar el bloque 6 radianes por segundo a lo largo del eje Y del mundo a una velocidad angular constante. Los Rowton-studs son las unidades físicas primarias de Roblox para medir torque. Para hacer referencia a las unidades físicas de Roblox y cómo se convierten a unidades métricas, consulta Roblox Units.

Para configurar una restricción AngularVelocity:

  1. Para hacer que la restricción sea visible en el viewport para que puedas referenciar su dirección rotacional, habilita Show Constraint Details desde el menú View de Studio.

  2. Inserta una restricción AngularVelocity en la parte.

    1. En la ventana de Explorer, pasa el cursor sobre la parte, luego haz clic en el ícono ⊕. Se muestra un menú contextual.
    2. Desde el menú contextual, inserta AngularVelocity. La ayuda visual de la restricción se muestra en el medio de la parte.
  3. Asigna el anexo de la parte a la nueva restricción.

    1. En la ventana de Explorer, selecciona la restricción.
    2. En la ventana de Properties,
      1. Establece Attachment0 en SpinAttachment.
      2. Establece AngularVelocity en 0, 6, 0 para girar la parte 6 radianes por segundo a lo largo del eje Y. Ten en cuenta que si establecieras esta propiedad en 0, -6, 0, el bloque giraría en sentido horario.
      3. Establece MaxTorque en 1000 para aplicar hasta 1000 Rowton-studs de fuerza angular constante por segundo para lograr la velocidad angular objetivo.
      4. Mantén RelativeTo en World para girar el bloque en relación a la posición y orientación del mundo.
  4. Verifica que la cantidad de torque que estableciste hace girar el bloque 6 radianes por segundo a lo largo del eje Y del mundo.

    • Selecciona el modo de simulación Run desde el menú desplegable de la mezzanine y haz clic en el botón Play para comenzar. Studio simula el juego en la posición actual de la cámara sin tu avatar en el espacio 3D.

      Opción de ejecución en el menú desplegable de modos de prueba de la mezzanine de Studio.

Es posible que necesites ajustar tu torque dependiendo de la escala de tu bloque y de cualquier fuerza física opuesta en tu entorno. Por ejemplo, las propiedades de la restricción AngularVelocity en el juego de muestra funcionan para una parte de bloque con un tamaño predeterminado de 4, 1, 2 en una plataforma plana con un material plástico, y un entorno con la gravedad clásica preestablecida.

Sin embargo, si tu bloque es de un tamaño mayor y está en terreno de hierba, necesitas aumentar tu propiedad AngularVelocity.MaxTorque porque la fuerza angular necesita superar tanto la masa del bloque como la fricción del entorno. Por ejemplo, la gran parte de bloque que es cuatro veces el tamaño de la parte del ejemplo necesita al menos 300000 Rowton-studs de fuerza angular constante para lograr la velocidad angular establecida.

Usar restricciones de HingeConstraint

Los objetos HingeConstraint son un tipo de restricción mecánica que permite que dos anexos roten alrededor de un eje, restringiendo los anexos a la misma posición y sus ejes principales en la misma dirección. Cuando estableces HingeConstraint.ActuatorType en Motor, esta restricción aplica torque en los dos anexos con el objetivo de que los anexos alcancen y mantengan una velocidad angular constante.

Además, cuando colocas anexos en un ensamblaje con dos objetos, los objetos se bloquean juntos e intentan girar juntos de acuerdo con el eje principal fijo del anexo. Si anclas uno de estos objetos, la fuerza angular continúa girando el otro objeto a una velocidad angular constante mientras el resto del ensamblaje permanece estacionario.

Por ejemplo, para comenzar a girar un objeto particular dentro de un ensamblaje, la restricción HingeConstraint necesita saber:

  • La posición donde deseas que los anexos se superpongan.
  • El punto y la dirección positiva o negativa para aplicar una fuerza angular.
  • La cantidad de radianes que deseas que el anexo gire por segundo.
  • La cantidad máxima de torque que el motor puede aplicar para que el anexo alcance una velocidad angular constante.

Para demostrar este proceso, agregarás un ensamblaje de hélice con dos objetos a tu espacio de trabajo con anexos en ambos objetos que una restricción HingeConstraint referencia para girar la hélice 3 radianes por segundo (aproximadamente media rotación completa por segundo) a lo largo del eje Y a una velocidad angular constante mientras la base de la hélice permanece estacionaria.

Obtener activo de hélice

La Creator Store es una pestaña de la Toolbox que puedes usar para encontrar todos los activos que son creados por Roblox y la comunidad de Roblox para su uso dentro de tus proyectos, incluyendo modelos, imágenes, mallas, audio, complementos, videos y fuentes. Puedes usar la Creator Store para agregar un activo individual o una biblioteca de activos directamente en un juego abierto.

Este tutorial hace referencia a un modelo de hélice que puedes usar mientras replicar cada paso de la técnica HingeConstraint para girar objetos. Para obtener este activo de hélice de tu inventario a tu juego:

  1. Agrega la hélice a tu inventario.

    1. Navega a la página de detalles del activo en la Creator Store.
    2. En la esquina superior derecha, haz clic en el botón Get Model. El activo de hélice ahora está en tu inventario, y puedes reutilizarlo en cualquier proyecto en la plataforma.
  2. En Studio, navega a la pestaña Home, luego haz clic en el botón Toolbox. Se abre la ventana de Toolbox.

    Toolbox resaltado en la barra de herramientas de Studio.
  3. En la ventana de Toolbox, haz clic en la pestaña Inventory. Se muestra la clasificación My Models.

  4. Haz clic en el mosaico Propeller. El modelo se muestra en tu viewport.

Configurar anexos

Puedes especificar tanto la posición de donde deseas que los anexos se superpongan como la dirección del movimiento rotacional para girar un objeto particular dentro de un ensamblaje agregando dos objetos Attachment al ensamblaje, y luego configurando su alineación y orientación en el espacio 3D.

El juego de muestra Spinning Objects alinea dos anexos cerca de la posición donde la hélice no anclada se superpone con la base anclada, y orienta su eje principal de rotación hacia arriba para que giren en sentido antihorario. El anexo de la base no puede girar en este ejemplo porque la base está anclada.

Para configurar anexos para la restricción de bisagra:

  1. Inserta un objeto Attachment en Head y Base.

    1. En la ventana de Explorer, pasa el cursor sobre Head y haz clic en el botón ⊕. Se muestra un menú contextual.
    2. Desde el menú, inserta un Attachment.
    3. Repite este proceso para Base.
    4. Cambia el nombre de ambos anexos a HeadAttachment y BaseAttachment, respectivamente.
  2. Rota HeadAttachment y BaseAttachment para que el eje principal de cada anexo apunte hacia arriba en el eje Y. Esto le dice a Studio que rote los anexos en sentido antihorario.

  3. Mueve BaseAttachment a la parte superior de Base, y HeadAttachment al borde inferior de Propeller. Esto le dice a Studio dónde conectar la bisagra en sí, y superponer ambos anexos en tiempo de ejecución.

Configurar restricción

Ahora que tus anexos tienen posición para superponerse y una dirección de movimiento rotacional, puedes configurar las propiedades de una restricción HingeConstraint para especificar la cantidad de radianes que deseas que el anexo gire por segundo, y la cantidad máxima de torque que el motor puede aplicar para que el anexo alcance una velocidad angular constante.

Similar a la técnica anterior, el juego de muestra Spinning Objects aplica hasta 1000 Rowton-studs de fuerza angular constante para girar el anexo 3 radianes por segundo a lo largo del eje Y a una velocidad angular constante. Sin embargo, dado que el anexo de la base está en un objeto anclado, solo el anexo de la hélice puede girar.

Para configurar una restricción de bisagra:

  1. Inserta un objeto HingeConstraint en Head.

    1. En la ventana de Explorer, pasa el cursor sobre Head, luego haz clic en el ícono ⊕. Se muestra un menú contextual.
    2. Desde el menú contextual, inserta un HingeConstraint.
  2. Asigna los anexos de la hélice a la nueva restricción para que la hélice gire en relación a la base anclada.

    1. En la ventana de Explorer, selecciona la restricción.
    2. En la ventana de Properties,
      1. Establece Attachment0 en BaseAttachment.
      2. Establece Attachment1 en HeadAttachment. La bisagra se muestra en el viewport.
  3. En la ventana de Explorer, selecciona la restricción, luego en la ventana de Properties,

    1. Establece ActuatorType en Motor. Se muestran nuevos campos de propiedades.
    2. Establece MotorMaxTorque en 1000 para aplicar hasta 1000 Rowton-studs de fuerza angular constante para lograr la velocidad angular objetivo.
    3. Establece AngularVelocity en 3 para girar la cabeza de la hélice 3 radianes por segundo.
  4. Verifica que la cantidad de torque que estableciste hace girar la hélice 3 radianes por segundo a lo largo del eje Y.

    • Selecciona el modo de simulación Run desde el menú desplegable de la mezzanine y haz clic en el botón Play para comenzar. Studio simula el juego en la posición actual de la cámara sin tu avatar en el espacio 3D.

      Opción de ejecución en el menú desplegable de modos de prueba de la mezzanine de Studio.

Aplicar una fuerza angular inicial

Otra forma de cambiar la velocidad angular de un objeto es aplicando un impulso de fuerza angular. Después del impulso de fuerza angular, el objeto desacelera hasta que se detiene si hay una fuerza opuesta como la fricción, o permanece en movimiento con velocidad constante si no hay fuerzas opuestas.

Esta técnica es útil para girar objetos después de un evento significativo de jugabilidad o clima, como una ráfaga de viento fuerte, porque proporciona a los jugadores una retroalimentación instantánea. Para demostrar, la siguiente subsección te enseña cómo girar un ensamblaje con una fuerza angular inicial aleatoria que puedes adaptar con nuevos valores para cumplir con tus propios requisitos de jugabilidad.

Usar ApplyAngularImpulse

El método ApplyAngularImpulse aplica torque en un ensamblaje completo para obtener una velocidad angular inicial antes de desacelerarse hasta detenerse. Para comenzar a girar el ensamblaje, el método necesita saber:

  • El ensamblaje a girar.
  • El eje para aplicar torque para alcanzar una velocidad angular inicial.
  • La cantidad de torque a aplicar en cada eje.

Puedes definir todos estos valores en un script. Por ejemplo, el script de muestra define el ensamblaje a girar como el padre del script, y luego aplica un impulso aleatorio de fuerza angular entre 0 y 100 Rowton-studs en el eje Y.

Para girar un ensamblaje usando ApplyAngularImpulse:

  1. Inserta una parte de esfera en el Workspace. La muestra utiliza una esfera con un MaterialVariant para que puedas visualizar claramente el movimiento de la esfera.

  2. Inserta un script en la nueva parte.

    1. En la ventana de Explorer, pasa el cursor sobre la parte y haz clic en el botón ⊕. Se muestra un menú contextual.
    2. Desde el menú, inserta un Script.
  3. Reemplaza el código predeterminado con el siguiente código:

local part = script.Parent
local impulse = Vector3.new(0, math.random(0, 100), 0)
part:ApplyAngularImpulse(impulse)
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.