Tutoriais intermediários

Criar objetos giratórios

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Objetos giratórios são objetos que rodam em um ou mais eixos dentro do espaço 3D. Usando o poder embutido do motor de simulação da Roblox, você pode fazer objetos girarem e interagirem com seu ambiente de uma forma que emula o comportamento físico do mundo real, familiar e intuitivo para os jogadores, como gravidade, aerodinâmica e fricção.

Usando o arquivo de referência Spinning Objects .rbxl, este tutorial explica como as forças físicas impactam o movimento angular no Studio e mostra várias técnicas para girar objetos em suas experiências com diferentes comportamentos de rotação, incluindo orientações sobre:

  • Usar uma restrição de movimentação AngularVelocity para girar toda uma montagem em uma velocidade angular constante.
  • Usar uma restrição mecânica HingeConstraint para girar uma parte dentro de uma montagem em uma velocidade angular constante enquanto o restante da montagem permanece estacionário.
  • Usar o método ApplyAngularImpulse para girar uma montagem com um impulso inicial de força angular, de forma que a montagem desacelere lentamente ao longo do tempo.

Movimento angular e forças físicas

O Roblox Studio é um motor de simulação do mundo real que emula o comportamento físico em tempo real, portanto, para prever o comportamento de objetos giratórios em experiências, é importante ter uma compreensão de alto nível de como os objetos giram na vida real com movimento angular.

Movimento angular, ou movimento rotacional, é o movimento em torno de um ponto fixo ou eixo. Por exemplo, quando uma hélice tem movimento angular, ela gira em torno de seu eixo rotacional no meio da hélice.

O movimento angular não pode existir sem forças físicas externas empurrando ou puxando objetos para girar. De acordo com a primeira lei do movimento de Newton, objetos estacionários permanecem estacionários e objetos em movimento permanecem em movimento com uma velocidade constante, a menos que sejam acionados por uma força externa. Por exemplo, uma hélice estacionária permanece estacionária, a menos que uma força física como o vento a empurre para girar.

Torque é a medida da força física que causa objetos a girar, e é responsável por objetos obterem aceleração angular. Este conceito é particularmente importante para objetos girarem no Studio; quanto mais torque você aplicar aos objetos, mais rapidamente eles podem acelerar.

Isso ocorre porque o torque precisa ser maior do que qualquer força física direcional que empurre para trás contra o objeto, como gravidade ou fricção. Por exemplo, se você colocasse a hélice na terra, a força física do vento precisaria superar a quantidade de fricção da terra para continuar acelerando a hélice giratória. Se a força do vento não for muito maior do que a fricção da terra, a hélice acelera, mas mais lentamente do que no exemplo anterior.

Velocidade angular é a medida da taxa de rotação de um objeto, ou quão rapidamente o objeto gira em torno de um ponto fixo ou eixo ao longo de um período de tempo. O Studio mede a velocidade angular de acordo com quantos radianos um objeto gira por segundo. Existem 2π radianos (6.283) em uma rotação, então, para que um objeto complete uma rotação por segundo, ele deve ter torque suficiente para girar cerca de 6 radianos. Entender a velocidade angular é importante para projetar a jogabilidade em suas experiências porque isso ajuda você a determinar quanto torque você precisa para alcançar uma determinada aceleração para seus objetos giratórios.

As seções a seguir se aprofundam ainda mais nesses conceitos enquanto você aprende a girar objetos em uma velocidade angular constante ou inicial com o torque necessário para superar quaisquer forças físicas opostas no ambiente. Ao revisar esses conceitos físicos com as técnicas que estão por vir, você poderá prever mais com precisão como ajustar os valores de propriedade para alcançar qualquer comportamento giratório ideal no Studio.

Manter uma força angular constante

Para que um objeto alcance e mantenha uma velocidade angular constante, ele precisa de uma força angular para superar qualquer força física oposta que desacelere a velocidade angular do objeto ou cause o objeto a permanecer estacionário. Por exemplo, se você deseja que um objeto tenha uma velocidade angular de [0, 12, 0] no Studio, você precisa de torque suficiente para que o objeto alcance e mantenha 12 radianos por segundo ao longo do eixo Y em seu ambiente, ou cerca de duas rotações completas por segundo.

A quantidade de torque que você aplica aos seus objetos não depende apenas das forças físicas opostas dentro do próprio ambiente, como gravidade e fricção, mas também do objeto em si. Por exemplo, se você tiver dois objetos da mesma forma que estão girando no mesmo eixo, o objeto maior com o maior momento de inércia requer mais torque para alcançar a mesma aceleração angular.

A pequena parte do triângulo tem um momento de inércia menor, então precisa de menos força angular para alcançar a mesma aceleração.
A grande parte do triângulo tem um momento de inércia maior, então precisa de mais força angular para alcançar a mesma aceleração.

As próximas subseções usam montagens de diferentes formas e tamanhos para ensinar você a girar ou todo um objeto ou apenas uma parte do objeto. Conforme você experimenta diferentes valores de propriedade, aprenderá a estimar a quantidade máxima de torque que você precisa para as montagens em suas próprias experiências.

Usar restrições AngularVelocity

Os objetos AngularVelocity são um tipo de restrição de movimentação que aplicam torque em toda uma montagem para manter uma velocidade angular constante. Para começar a girar a montagem, a restrição AngularVelocity precisa saber:

  • O ponto e a direção positiva ou negativa para aplicar uma força angular.
  • A quantidade de radianos que você deseja que a montagem gire por segundo.
  • A quantidade máxima de torque que o motor pode aplicar para que a montagem atinja uma velocidade angular constante.

Para demonstrar esse processo, você adicionará um bloco ao seu espaço de trabalho com uma fixação que uma restrição AngularVelocity faz referência para girar o bloco a 6 radianos por segundo ao longo do eixo Y do mundo em uma velocidade angular constante, ou cerca de uma rotação completa.

Adicionar fixação

Você pode especificar o ponto fixo para girar uma montagem adicionando um objeto Attachment à montagem e, em seguida, configurando a posição da fixação no espaço 3D. A experiência de Spinning Objects coloca uma fixação no centro de uma parte do bloco para que a restrição possa girar a parte no sentido anti-horário em torno de seu centro.

As fixações incluem auxílios visuais para ajudá-lo a visualizar seus eixos de rotação. A seta amarela denota o eixo primário da fixação, e a seta laranja denota o eixo secundário da fixação. Embora nenhum dos eixos de rotação influencie a rotação do bloco nos passos desta técnica, é importante entender esses auxílios visuais para referência futura, pois eles podem ajudá-lo a determinar o comportamento ideal para diferentes tipos de restrições, como o HingeConstraint na próxima técnica.

Para adicionar uma fixação:

  1. Na janela Explorer, insira uma parte bloco no Workspace.

  2. Insira uma fixação na nova parte.

    1. Na janela Explorer, passe o mouse sobre a parte e clique no botão ⊕. Um menu contextual será exibido.
    2. No menu, insira uma Attachment. A fixação será exibida no centro da parte.
    3. Renomeie a fixação para SpinAttachment.

Configurar restrição

Agora que seu bloco tem um ponto fixo para girá-lo, você pode configurar as propriedades de uma restrição AngularVelocity para especificar a direção de rotação, eixo ou eixos para aplicar uma velocidade angular constante alvo, a quantidade de radianos que você deseja que o bloco gire por segundo e a quantidade máxima de torque que o motor pode aplicar para que o bloco atinja uma velocidade angular constante.

A experiência de Spinning Objects aplica até 1000 Rowton-studs de força angular constante para girar o bloco a 6 radianos por segundo ao longo do eixo Y do mundo em uma velocidade angular constante. Rowton-studs são as unidades físicas primárias da Roblox para medir torque. Para referenciar as unidades físicas da Roblox e como elas se convertem para unidades métricas, consulte Roblox Units.

Para configurar uma restrição AngularVelocity:

  1. Para tornar a restrição visível no visualizador, para que você possa referenciar sua direção rotacional, ative Show Constraint Details no menu View do Studio.

  2. Insira uma restrição AngularVelocity na parte.

    1. Na janela Explorer, passe o mouse sobre a parte e, em seguida, clique no ícone ⊕. Um menu contextual será exibido.
    2. No menu contextual, insira AngularVelocity. O auxílio visual da restrição será exibido no meio da parte.
  3. Atribua a fixação da parte à nova restrição.

    1. Na janela Explorer, selecione a restrição.
    2. Na janela Properties,
      1. Defina Attachment0 como SpinAttachment.
      2. Defina AngularVelocity como 0, 6, 0 para girar a parte a 6 radianos por segundo ao longo do eixo Y. Note que, se você definir esta propriedade como 0, -6, 0, o bloco giraria no sentido horário.
      3. Defina MaxTorque como 1000 para aplicar até 1000 Rowton-studs de força angular constante por segundo para atingir a velocidade angular alvo.
      4. Mantenha RelativeTo como World para girar o bloco em relação à posição e orientação do mundo.
  4. Verifique se a quantidade de torque que você definiu gira o bloco a 6 radianos por segundo ao longo do eixo Y do mundo.

    • Selecione o modo de simulação Run no menu suspenso da mezzanine e clique no botão Play para começar. O Studio simula a experiência na posição da câmera atual sem seu avatar no espaço 3D.

      Opção Run no menu suspenso de modos de teste da mezzanine do Studio.

Você pode precisar ajustar seu torque dependendo da escala do seu bloco e de quaisquer forças físicas opostas em seu ambiente. Por exemplo, as propriedades da restrição AngularVelocity na experiência de exemplo funcionam para uma parte de bloco com um tamanho padrão de 4, 1, 2 em uma plataforma plana com um material plástico e um ambiente com a gravidade clássica predefinida.

No entanto, se o seu bloco for de um tamanho maior e em um terreno gramado, você precisa aumentar sua propriedade AngularVelocity.MaxTorque porque a força angular precisa superar tanto a massa do bloco quanto a fricção do ambiente. Por exemplo, a parte grande do bloco que é quadruplicada em relação ao tamanho da parte do exemplo precisa de pelo menos 300000 Rowton-studs de força angular constante para alcançar a velocidade angular definida!

Usar restrições HingeConstraint

Os objetos HingeConstraint são um tipo de restrição mecânica que permite que duas fixações girem em torno de um eixo, restringindo as fixações à mesma posição e seus eixos primários na mesma direção. Quando você define HingeConstraint.ActuatorType como Motor, essa restrição aplica torque nas duas fixações com o objetivo de que as fixações alcancem e mantenham uma velocidade angular constante.

Além disso, quando você coloca fixações em uma montagem com dois objetos, os objetos se bloqueiam juntos e tentam girar juntos de acordo com o eixo primário fixo da fixação. Se você ancorar um desses objetos, a força angular continua girando o outro objeto em uma velocidade angular constante enquanto o restante da montagem permanece estacionário.

Por exemplo, para começar a girar um objeto específico dentro de uma montagem, a restrição HingeConstraint precisa saber:

  • A posição onde você deseja que as fixações se sobreponham.
  • O ponto e a direção positiva ou negativa para aplicar uma força angular.
  • A quantidade de radianos que você deseja que a fixação gire por segundo.
  • A quantidade máxima de torque que o motor pode aplicar para que a fixação alcance uma velocidade angular constante.

Para demonstrar esse processo, você adicionará uma montagem de hélice com dois objetos ao seu espaço de trabalho com fixações em ambos os objetos que uma restrição HingeConstraint faz referência para girar a hélice a 3 radianos por segundo (cerca de meia rotação completa por segundo) ao longo do eixo Y em uma velocidade angular constante enquanto a base da hélice permanece estacionária.

Obter ativo da hélice

A Creator Store é uma aba da Toolbox que você pode usar para encontrar todos os ativos criados pela Roblox e pela comunidade Roblox para uso em seus projetos, incluindo modelos, imagens, malhas, áudio, plugins, vídeos e fontes. Você pode usar a Creator Store para adicionar um ativo individual ou uma biblioteca de ativos diretamente dentro de uma experiência aberta.

Este tutorial se refere a um modelo de hélice que você pode usar ao replicar cada etapa da técnica HingeConstraint de girar objetos. Para obter esse ativo de hélice de seu inventário para sua experiência:

  1. Adicione a hélice ao seu inventário.

    1. Navegue até a página de detalhes do ativo na Creator Store.
    2. No canto superior direito, clique no botão Get Model. O ativo da hélice agora está em seu inventário, e você pode reutilizá-lo em qualquer projeto na plataforma.
  2. No Studio, vá até a aba Home e clique no botão Toolbox. A janela Toolbox se abre.

    Toolbox destacado na barra de ferramentas do Studio.
  3. Na janela Toolbox, clique na aba Inventory. A classificação My Models é exibida.

  4. Clique no bloco Propeller. O modelo será exibido em seu visualizador.

Configurar fixações

Você pode especificar tanto a posição onde deseja que as fixações se sobreponham quanto a direção do movimento rotacional para girar um objeto específico dentro de uma montagem, adicionando dois objetos Attachment à montagem e, em seguida, configurando seu alinhamento e orientação no espaço 3D.

A experiência de Spinning Objects alinha duas fixações perto da posição onde a hélice não ancorada se sobrepõe com a base ancorada e orienta seu eixo primário de rotação para cima, de forma que gire no sentido anti-horário. A fixação da base não pode girar neste exemplo porque a base está ancorada.

Para configurar fixações para a restrição de dobradiça:

  1. Insira um objeto Attachment em Head e Base.

    1. Na janela Explorer, passe o mouse sobre Head e clique no botão ⊕. Um menu contextual será exibido.
    2. No menu, insira uma Attachment.
    3. Repita este processo para Base.
    4. Renomeie ambas as fixações para HeadAttachment e BaseAttachment, respectivamente.
  2. Rotacione HeadAttachment e BaseAttachment para que o eixo primário de cada fixação aponte para cima ao longo do eixo Y. Isso diz ao Studio para girar as fixações no sentido anti-horário.

  3. Mova BaseAttachment para o topo de Base e HeadAttachment para a borda inferior de Propeller. Isso diz ao Studio onde conectar a dobradiça em si e sobrepor ambas as fixações em tempo de execução.

Configurar restrição

Agora que suas fixações têm posição para se sobrepor e uma direção de movimento rotacional, você pode configurar as propriedades de uma restrição HingeConstraint para especificar a quantidade de radianos que você deseja que a fixação gire por segundo e a quantidade máxima de torque que o motor pode aplicar para que a fixação alcance uma velocidade angular constante.

Semelhante à técnica anterior, a experiência de Spinning Objects aplica até 1000 Rowton-studs de força angular constante para girar a fixação a 3 radianos por segundo ao longo do eixo Y em uma velocidade angular constante. No entanto, como a fixação da base está em um objeto ancorado, apenas a fixação da hélice pode girar.

Para configurar uma restrição de dobradiça:

  1. Insira um objeto HingeConstraint em Head.

    1. Na janela Explorer, passe o mouse sobre Head, em seguida, clique no ícone ⊕. Um menu contextual será exibido.
    2. No menu contextual, insira uma HingeConstraint.
  2. Atribua as fixações da hélice à nova restrição para que a hélice gire em relação à base ancorada.

    1. Na janela Explorer, selecione a restrição.
    2. Na janela Properties,
      1. Defina Attachment0 como BaseAttachment.
      2. Defina Attachment1 como HeadAttachment. A dobradiça será exibida no visualizador.
  3. Na janela Explorer, selecione a restrição e, em seguida, na janela Properties,

    1. Defina ActuatorType como Motor. Novos campos de propriedade serão exibidos.
    2. Defina MotorMaxTorque como 1000 para aplicar até 1000 Rowton-studs de força angular constante para alcançar a velocidade angular alvo.
    3. Defina AngularVelocity como 3 para girar a cabeça da hélice a 3 radianos por segundo.
  4. Verifique se a quantidade de torque que você definiu gira a hélice a 3 radianos por segundo ao longo do eixo Y.

    • Selecione o modo de simulação Run no menu suspenso da mezzanine e clique no botão Play para começar. O Studio simula a experiência na posição da câmera atual sem seu avatar no espaço 3D.

      Opção Run no menu suspenso de modos de teste da mezzanine do Studio.

Aplicar uma força angular inicial

Outra maneira de alterar a velocidade angular de um objeto é aplicando um impulso de força angular. Após o impulso de força angular, o objeto desacelera até ficar estacionário se houver uma força oposta, como a fricção, ou permanece em movimento com velocidade constante se não houver forças opostas.

Essa técnica é útil para girar objetos após um evento de jogabilidade ou clima significativo, como uma forte rajada de vento, porque fornece aos jogadores um feedback instantâneo. Para demonstrar, a próxima subseção ensina você a girar uma montagem com uma força angular inicial aleatória que você pode adaptar com novos valores para atender às suas próprias necessidades de jogabilidade.

Usar ApplyAngularImpulse

O método ApplyAngularImpulse aplica torque em toda uma montagem para obter uma velocidade angular inicial antes de desacelerar até parar. Para começar a girar a montagem, o método precisa saber:

  • A montagem para girar.
  • O eixo para aplicar torque para alcançar uma velocidade angular inicial.
  • A quantidade de torque a ser aplicada em cada eixo.

Você pode definir todos esses valores em um script. Por exemplo, o script de exemplo define a montagem a ser girada como o pai do script e, em seguida, aplica um impulso aleatório de força angular entre 0 e 100 Rowton-studs ao longo do eixo Y.

Para girar uma montagem usando ApplyAngularImpulse:

  1. Insira uma parte esfera no Workspace. O exemplo usa uma esfera com um MaterialVariant para que você possa visualizar claramente o movimento da esfera.

  2. Insira um script na nova parte.

    1. Na janela Explorer, passe o mouse sobre a parte e clique no botão ⊕. Um menu contextual será exibido.
    2. No menu, insira um Script.
  3. Substitua o código padrão pelo seguinte código:


local part = script.Parent
local impulse = Vector3.new(0, math.random(0, 100), 0)
part:ApplyAngularImpulse(impulse)
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.