Objetos giratórios são objetos que giram em um ou mais eixos dentro do espaço 3D. Usando o poder incorporado do motor de simulação do Roblox, você pode fazer com que os objetos giratórios e interagir com seu ambiente de uma maneira que imita o comportamento físico real do mundo real que é familiar e intuitivo para os jogadores, como a gravidade, aero-dinâmica e fricção.
Usando o arquivo Objetos Giratórios.rbxl como referência, este tutorial explica como forças físicas afetam o movimento ângular 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:
- Usando um AngularVelocity mover restrição para girar uma montagem inteira em uma velocidade angular constante.
- Usando um HingeConstraint limite mecânico para girar uma peça dentro de uma montagem em uma velocidade angular constante à medida que o resto da montagem permanece estacionário.
- Usando o método ApplyAngularImpulse para girar uma montagem com um impulso inicial de força angular para que a montagem decelerar lentamente ao longo do tempo.
Movimento Angular e Forças Físicas
O Roblox Studio é um motor de simulação de mundo real que emula o comportamento físico em tempo real, então, 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 de rotação, é movimento ao redor de um ponto ou eixo fixo. Por exemplo, quando um propulsor tem movimento angular, ele gira ao redor de seu eixo de rotação no meio do propulsor.
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 os objetos em movimento permanecem em movimento com uma velocidade constante a menos que sejam ativados por uma força externa. Por exemplo, um propulsor estacionário permanece estacionário a menos que uma força física, como o vento, o empurne para girar.
Torque é a medida da força física que causa os objetos girarem, 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 rápido eles podem acelerar.
Isso ocorre porque o torque precisa ser maior que qualquer força física direcional empurrando de volta contra o Objeto, como a gravidade ou fricção. Por exemplo, se você colocasse a hélice na sujeira, a força física do vento precisaria superar a quantidade de fricção da sujeira para continuar acelerando o propulsor giratório. Se a força do vento não for muito maior
Velocidade angular é a medida da rotação de um Objeto, ou quão rápido o objeto gira em torno de um ponto ou eixo fixo por um período de tempo. O Studio mede a velocidade angular de acordo com o número de radianos
As seções a seguir ajudam a entender melhor esses conceitos à medida que você aprende a girar objetos em uma velocidade angular constante ou inicial com a velocidade de torque necessária para superar quaisquer forças físicas opostas dentro do ambiente. À medida que você revisa esses conceitos de física com as próximas técnicas, você pode prever mais precisamente como ajustar os valores de propriedade para alcançar qualquer comportamento de rotação ideal no Studio.
Mantenha 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 decelerá a velocidade angular do Objetoou causará o objeto a permanecer estacionário. Por exemplo, se você quiser que um objeto tenha uma velocidade angular de [0, 12, 0] </
A quantidade de torque que você aplica aos seus objetos não só depende de forças físicas opostas dentro do próprio ambiente, como a gravidade e fricção, mas também do próprio objeto. Por exemplo, se você tiver dois objetos do mesmo formato que giram no mesmo eixo, o maior objeto com o maior momento de inertia requer mais torque para alcançar a mesma aceleração angular.
As seguintes subseções usam montagens de diferentes formas e tamanhos para ensinar você como girar um objeto inteiro ou apenas uma parte do Objeto. À medida que você experimenta com diferentes valores de propriedade, você aprenderá a estimar a quantidade máxima de torque que você precisa para montagens em suas próprias experiências.
Usando Constrangimentos de Velocidade Angular
AngularVelocity objetos são um tipo de restrição de mover que aplica torque em uma montagem inteira para manter uma velocidade angular constante. Para começar a girar a montagem, a restrição de mover precisa saber:
- O ponto e direção positiva ou negativa para aplicar uma força angular.
- A quantidade de radianos que você quer que a montagem gire por segundo.
- A quantidade máxima de torque que o motor pode aplicar para a montagem atingir uma velocidade angular constante.
Para demonstrar esse processo, você adicionará um bloco ao seu espaço de trabalho com um acessório que uma AngularVelocity restrição de referência apontará para girar o bloco 6 radianos por segundo ao longo do eixo Y do mundo em uma velocidade de rotação constante, ou cerca de uma rotação completa.
Adicionar Acessório
Você pode especificar o ponto fixo para girar uma montagem adicionando um objeto Attachment à montagem, então configurando a posição do anexono espaço 3D. A experiência de exemplo Spinning Objects coloca um acessório no centro de uma peça de bloco para que o limite possa girar o bloco contracorrentemente em torno do centro de si mesmo.
Acessórios incluem auxílios visuais para ajudá-lo a visualizar seus eixos de rotação. A seta amarela denota o eixo principal do anexo, e a seta laranja denota o eixo secundário do anexo. Embora nenhum eixo de rotação afete a rotação do bloco nos passos desta técnica, é importante entender esses auxílios visuais para futuras referên
Para adicionar um anexo:
Na janela Explorer , insira uma peça de bloco na Área de Trabalho .
Insira um acessório na nova peça.
- Na janela Explorer , passe o mouse sobre a peça e clique no botão ⊕. Um menu contextual será exibido.
- Do menu, insira um Ataque . O acessório será exibido no centro da peça.
- Renomeie o acessório para SpinArrow .
Configurar Con限
Agora que seu bloco tem um ponto fixo para girar o bloco, você pode configurar as propriedades de um AngularVelocity limite para especificar a direção de rotação, eixos ou eixos para aplicar uma velocidade de ângulo constante, a quantidade de raios que você quer que o bloco gire por segundo e a quantidade máxima de torque que o motor pode aplicar para o bloco atingir uma velocidade de ângulo constante.
A experiência Objetos Giratórios aplica-se até 1000 Rowton-studs de força angular constante para girar o bloco 6 radianos por segundo ao longo do eixo Y do mundo em uma velocidade angular constante. Os studs são unidades físicas principais do Roblox para medir o torque. Para referenciar as unidades físicas do Roblox e como elas são convertidas para unidades métricas, veja Unidades
Para configurar um AngularVelocity limite:
(Opcional) Faça a restrição visível no espaço 3D para que você possa referenciar sua direção de rotação.
- Na barra de menu, navegue até a aba Modelo e depois na seção Construtores.
- Se não estiver ativado, clique em Detalhes de Conjunto para exibir ajudas visuais de conjunto.
Insira um AngularVelocity limite na peça.
- Na janela Explorer , passe o mouse sobre a peça, então clique no ícone ⊕. Um menu contextual será exibido.
- Do menu contextual, insira Velocidade Angular . A ajuda visual do restriçãoé exibida no meio da peça.
Atribua o acessório da peça à nova restrição.
- Na janela Explorer , selecione a restrição.
- Na janela Propriedades ,
- Definir Ataque0 para SpinArrow .
- Definir Velocidade Angular para 0, 6, 0 para girar a peça 6 radianos por segundo ao longo do eixo Y. Observe que se você definisse essa propriedade para 0, -6, 0, o bloco giraria no sentido horário.
- Definir MaxTorque para 1000 para aplicar até 1000 Rowton-studs de força angular constante por segundo para alcançar a velocidade angular alvo.
- Mantenha RelativeTo para World para girar o bloco em relação à posição e orientação do mundo.
Verifique a quantidade de torque que você configurou faz com que o bloco gire 6 radianos por segundo ao longo do eixo Y do mundo.
Na barra de menu, navegue até a aba Teste .
Na seção Simulação, clique no Seletor de Modo. Um menu suspenso será exibido.
Selecione Correr . O Studio simula a experiência na posição de câmera atual sem o seu avatar no espaço 3D.
Você pode precisar ajustar seu torque dependendo do tamanho e das forças físicas opostas em seu ambiente. Por exemplo, as propriedades do AngularVelocity 约束 na experiência de exemplo trabalham para uma peça de bloco com um tamanho padrão de 4, 1, 2 em uma plataforma plana com um material de plástico, e um ambiente com a configuração clássica de gravidade.
No entanto, se o seu bloco for um tamanho maior e em terreno de grama, você precisa aumentar sua propriedade AngularVelocity.MaxTorque porque a força angular precisa superar tanto a massa quanto a fricção do bloco do ambiente. Por exemplo, a grande peça de bloco que é quatro vezes maior que a peça do exemplo precisa de pelo menos
Usando Con約束 Restrições
HingeConstraint objetos são um tipo de restrição mecânica que permite que duas peças girar em torno de um eixo, restringindo as peças à mesma posição e seus principais eixos na mesma direção. Quando você configura HingeConstraint.ActuatorType para 0> Motor
Além disso, quando você coloca acessórios em uma montagem com dois objetos, os objetos bloqueiam juntos e tentam girar juntos, de acordo com o eixo principal fixo do anexo. Se você ancorar um desses objetos, a força angular continua girando o outro objeto em uma velocidade angular constante enquanto o resto da montagem permanece estacionário.
Por exemplo, para iniciar a rotação de um determinado objeto dentro de uma montagem, o limite HingeConstraint precisa saber:
- A posição onde você deseja que os acessórios se sobreposição.
- O ponto e direção positiva ou negativa para aplicar uma força angular.
- A quantidade de radianos que você quer que o anexe gire por segundo.
- A quantidade máxima de torque que o motor pode aplicar para a aplicação atingir 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 anexos em ambos os objetos que uma restrição HingeConstraint referência-se para girar a hélice 3 ângulos por segundo (cerca de um terço de rotação por segundo) ao longo do eixo Y em uma velocidade constante.
Obtenha o recurso Propeller
A Loja do Criador é uma aba da Caixa de Ferramentas que você pode usar para encontrar todos os recursos que são feitos pela Roblox e pela comunidade Roblox para uso em seus projetos, incluindo modelos, imagens, malhas, áudio, plugin, vídeo e fontes de fontes. Você pode usar a Loja do Criador para adicionar um recurso ou biblioteca de recursos diretamente em uma experiência aberta.
Este tutorial referencia um modelo de hélice que você pode usar como você replica cada etapa da técnica HingeConstraint de girar objetos. Você pode adicionar este modelo ao seu inventário dentro do Studio clicando no link Adicionar ao Inventário na seguinte etapa. Uma vez que os recursos estiverem dentro de seu inventário, você pode reutilizá-los em qualquer projeto na plataforma.
Para obter este recurso do seu inventário para sua experiência:
Na barra de menu, selecione a aba Ver .
Na seção Mostrar, clique em Caixa de ferramentas. A janela Caixa de ferramentas será exibida.
Na janela da Caixa de Ferramentas , clique na aba Inventário . O display de Meus Modelos será sortido.
Clique no mosaico Propeller . O modelo será exibido em sua janela de visualização.
Configurar Acessórios
Você pode especificar ambas as posições em que você deseja que os acessórios se sobreposição e a direção do movimento de rotação para girar um determinado objeto dentro de uma montagem, adicionando dois objetos Attachment à montagem, e configurando sua alinhação e orientação no espaço 3D.
A experiência Objetos Giratórios alinha duas peças perto da posição de onde o propulsor não ancorado sobra com a base, e ou orienta seu eixo principal de rotação para cima para que eles giram contra-relógio. A peça de base não pode girar neste exemplo, pois a base está ancorada.
Para configurar anexos para a restrição de pino:
Insira um objeto Attachment em Cabeça e Base .
- Na janela Explorer , passe o mouse sobre Cabeça e clique no botão ⊕. Um menu contextual será exibido.
- Do menu, insira um Ataque .
- Repita esse processo para Base .
- Renomeie ambos os anexos HeadExecution e BaseExecution , respectivamente.
Girar Ataque de Cabeça e Base de Ataque para que o eixo principal de cada acessório apontar para cima no eixo Y. Isso diz ao Studio para girar os acessórios contra o sentido horário.
Mover BaseAttachment para a parte superior de Base e HeadAttachment para a parte inferior de 1> Propeller1>. Isso diz ao Studio onde conectar o hinge em si, e sobrepor ambos os acessórios em tempo de execução.
Configurar Con限
Agora que seus anexos têm posição para sobreposição e uma direção de movimento de rotação, você pode configurar as propriedades de um HingeConstraint limite para especificar a quantidade de radianos que você deseja que o anexo gire por segundo e a quantidade máxima de torque que o motor pode aplicar para o anexo atingir uma velocidade constante de ângulo.
Semelhante à técnica anterior, a experiência de Objetos Giratórios aplica até 1000 Rowton-studs de força angular constante para girar o acessório 3 radians por segundo ao longo do eixo Y em uma velocidade angular constante. No entanto, porque a base da acessória está em um objeto ancorado, apenas a acessória do propulsor pode girar.
Para configurar uma restrição de articulado:
Insira um objeto HingeConstraint em Cabeça.
- Na janela Explorer , passe o mouse sobre Cabeça e, em seguida, clique no ícone ⊕. Um menu contextual será exibido.
- Do menu contextual, insira um HingeConstraint .
Atribua os acessórios do propulsor à nova restrição para que o propulsor gire em relacionamento com a base ancorada.
- Na janela Explorer , selecione a restrição.
- Na janela Propriedades ,
- Definir Ataque0 para Base de Ataque .
- Definir Ataque1 para Head攻头 . O pino é exibido na janela de visualização.
Na janela Explorer, selecione a restrição, então na janela Propriedades,
- Definir ActuatorType para Motor . Novos campos de propriedade são exibidos.
- Definir MotorMaxTorque para 1000 para aplicar até 1000 Rowton-studs de força angular constante para alcançar a velocidade angular alvo.
- Definir Velocidade Angular para 3 para girar a cabeça do propulsor 3 radiais por segundo.
Verifique a quantidade de torque que você configurou faz com que o propulsor gire 3 radianos por segundo ao longo do eixo Y.
Na barra de menu, navegue até a aba Teste .
Na seção Simulação, clique no Seletor de Modo. Um menu suspenso será exibido.
Selecione Correr . O Studio simula a experiência na posição de câmera atual sem o seu avatar no espaço 3D.
Aplicando uma Força Angular Inicial
Outra maneira de alterar a velocidade angular de um Objetoé aplicando um impulso de força angular. Depois do impulso de força angular, o objeto geralmente desacelera até se tornar estacionário se houver uma força oposta, como fricção, ou permanecer em movimento com velocidade constante se não houver forças opostas.
Essa técnica é útil para girar objetos depois de um evento de jogo ou de clima significativo, como um vento forte, porque ela fornece comentário/retornoinstantâneo aos jogadores. Para demonstrar, a seguinte seção ensina você como girar uma montagem com uma força de ângulo inicial que você pode adaptar com novos valores para atender aos seus próprios requisitos de jogo.
Usando ApplyAngularImpulse
O método ApplyAngularImpulse aplica torque em uma montagem inteira para obter uma velocidade angular inicial antes de desacelerar para uma parada. 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 a cada eixo.
Você pode definir todos esses valores em um script. Por exemplo, o script de exemplo define a montagem para girar como o pai do script, então aplica um impulso aleatório de força angular entre 0 e 100 Rowton-studs na eixe Y.
Para girar uma montagem usando ApplyAngularImpulse :
Insira uma peça esfera no Espaço de Trabalho . O exemplo usa uma esfera com um MaterialVariant para que você possa ver claramente o movimento da esfera.
Insira um script na nova parte.
- Na janela Explorer , passe o mouse sobre a peça e clique no botão ⊕. Um menu contextual será exibido.
- Do menu, insira um Script .
Substitua o código padrão com o seguinte código:
local part = script.Parentlocal impulse = Vector3.new(0, math.random(0, 100), 0)part:ApplyAngularImpulse(impulse)