Sistema de sono

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

Cada montagem na Roblox Engine corresponde a um único corpo rígido. A posição e a velocidade de cada corpo rígido descrevem onde ele está localizado e quão rápido está se movendo, e uma das principais tarefas do motor é atualizar as posições e velocidades de cada montagem.

As montagens podem ser conectadas entre si com restrições mecânicas e restrições de mover para formar mecanismos como carros ou aviões. À medida que o número de montagens e restrições em um mecanismo aumenta, o tempo necessário para simular o mecanismo também aumenta. Felizmente, esse aumento é compensado quando o sistema de sono determina que o motor pode pular a simulação de montagens não em movimento.

Estados de sono

Cada montagem pode estar em um dos três estados: acordado, dormindo ou verificando sono.

Acordado

Uma montagem acordada está se movendo ou acelerando, e, portanto, é simulada. As montagens entram nesse estado a partir de situações descritas em dormindo e verificando sono, bem como em situações adicionais de despertar.

Dormindo

Uma montagem dormindo não está se movendo nem acelerando, e, portanto, não é simulada.

Uma montagem é considerada não em movimento verificando sua velocidade linear e velocidade rotacional. Se sua velocidade linear for inferior ao limite de Velocidade Linear e sua velocidade rotacional for inferior ao limite de Velocidade Rotacional, a montagem é considerada não em movimento.

Em alguns casos, verificar simplesmente a falta de movimento causaria uma montagem a entrar incorretamente no estado de dormir. Por exemplo, se uma bola é lançada para cima, sua velocidade se aproxima de zero conforme atinge a altura máxima, tornando-se uma candidata a entrar em sono e nunca voltar para baixo. Para lidar com tais casos, o motor considera uma montagem como acelerando se sua aceleração linear ou aceleração rotacional forem maiores que os limites de Aceleração Linear e Aceleração Rotacional, respectivamente, e impedirá que a montagem caia em sono.

Verificando sono

Uma montagem não em movimento que compartilha uma restrição com pelo menos uma montagem vizinha acordada é colocada no estado de verificando sono e não é simulada. A cada passo de mundo, uma montagem em verificação de sono verifica se:

Se alguma dessas condições for verdadeira, ou sob quaisquer das situações adicionais de despertar, a montagem em verificação de sono entra no estado acordado.

Referência de limites

A tabela a seguir fornece os vários limites de velocidade e aceleração usados para determinar se uma montagem está se movendo ou acelerando.

LimiteValorMudança de estado
Velocidade Linear0.33 studs/sacordadodormindo
Velocidade Rotacional0.42 studs/sacordadodormindo
Aceleração Linear0.24 studs/s²acordadodormindo
Aceleração Rotacional0.24 studs/s²acordadodormindo
Velocidade Linear do Vizinhos0.48 studs/sverificando sonoacordado
Velocidade Rotacional do Vizinhos0.59 studs/sverificando sonoacordado
Aceleração Linear de Despertar16.9 studs/s²acordadodormindo
Aceleração Rotacional de Despertar16.9 studs/s²acordadodormindo

Os limites de velocidade rotacional e aceleração refletem a velocidade e aceleração de um ponto localizado na esfera de contorno da montagem (uma esfera que contém todas as partes de uma montagem) que se move rigidamente com a montagem.

Juntas atuadas

Às vezes, os desenvolvedores querem mover partes muito lentamente usando uma junta atuada, uma restrição que aplica força ou movimento para mover partes conectadas, como uma HingeConstraint usando um Motor. Para suportar esses cenários, montagens conectadas a juntas atuadas usam um limite de velocidade de sono mais rigoroso. Isso retarda quando essas montagens entram em sono, permitindo movimento lento e controlado sem que o sistema físico as coloque em sono prematuramente.

As seguintes são consideradas juntas atuadas:

Situações adicionais de despertar

Além das situações descritas em verificando sono e dormindo, uma montagem entra no estado acordado quando:

Visualização de depuração

Durante os testes de jogo, você pode visualizar os estados de sono da montagem ativando as Partes Acordadas no widget Opções de Visualização no canto superior direito do viewport 3D.

Uma visão aproximada do viewport 3D com o botão Opções de Visualização indicado no canto superior direito.

Uma vez habilitado, as partes simuladas serão contornadas pelo seu estado de sono atual, com partes acordadas contornadas em vermelho, partes verificando sono contornadas em laranja, e partes dormindo sem contorno.

Partes simuladas contornadas pela cor representando seu estado de sono atual
©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.