Analisando propostas

Calibração de Humanoide em Unity 3d com Acelerômetro Ble

Publicado em 27 de Outubro de 2026 dias na TI e Programação

Sobre este projeto

Aberto

Calibração de Humanoide no Unity 3D com Arduino Nano 33 BLE

Descrição do projeto

Procuro desenvolvedor com experiência em **Unity 3D, C# e sistemas de controle por acelerômetro** para realizar a calibração da movimentação de um humanoide em terceira pessoa.

O projeto faz parte do **DC Smart Fusion Metaverse**, um ambiente virtual 3D no qual o jogador controla um personagem por meio da inclinação de um dispositivo físico equipado com Arduino Nano 33 BLE.

**Importante: a comunicação Bluetooth, a recepção dos dados no Unity e a movimentação do humanoide já estão funcionando.** O trabalho consiste exclusivamente na calibração e no aperfeiçoamento do sistema de controle existente.

1. Escopo técnico e arquitetura existente

O sistema utiliza a seguinte comunicação:

Arduino Nano 33 BLE → Bluetooth BLE → Bridge Windows → UDP (porta 9000) → Unity 3D → Humanoide.

O projeto já possui os seguintes componentes:

- `BridgeLauncher`: inicia automaticamente o programa de comunicação.
- `UDPAccelReceiver`: recebe os dados enviados pela porta UDP 9000.
- `DC_BLE_Accel_5C51`: recebe e disponibiliza os dados do acelerômetro.
- `HumanoidTiltController`: interpreta a inclinação e controla o movimento.
- `PlayerRoot`: objeto do personagem equipado com `CharacterController`.
- Câmera em terceira pessoa utilizada como referência de orientação.

A conexão ble/udp está operacional, os dados do acelerômetro chegam ao unity e o humanoide já responde aos movimentos físicos do dispositivo.

O principal problema atual é a necessidade de ajustar direções, sensibilidade, velocidade, rotação e estabilidade.

2. Serviços necessários

A) Calibração dos eixos

Corrigir os movimentos para frente, trás, direita e esquerda, ajustando `forwardAxis`, `strafeAxis`, `invertForward` e `invertStrafe`.

Cada inclinação deverá corresponder à direção correta do humanoide.

B) Posição neutra e zona morta

Ajustar a calibração inicial (baseline) e o parâmetro `deadZone`, impedindo que pequenas oscilações do acelerômetro provoquem movimentos involuntários.

O personagem deverá permanecer parado quando o dispositivo estiver em repouso.

C) Sensibilidade e curva de resposta

Ajustar `fullTiltDeltaForward`, `fullTiltDeltaStrafe` e a curva de resposta para obter controle progressivo.

Pequenas inclinações deverão produzir movimentos lentos, enquanto inclinações maiores deverão aumentar suavemente a velocidade.

D)Suavização e velocidade

Ajustar `smoothHz`, `moveSpeed`, `faceTurnSpeed` e `minMoveMagnitudeToRotate`.

O objetivo é proporcionar caminhada, mudanças de direção e rotação naturais, sem tremores, acelerações bruscas ou atrasos excessivos.

E) Estabilidade e segurança

Garantir que o personagem interrompa o movimento quando o dispositivo retornar à posição neutra ou quando os dados BLE deixarem de chegar.

Evitar movimentos inesperados durante pequenas oscilações ou interrupções da comunicação.

3. Critérios de entrega e aceitação

O serviço será considerado concluído quando:

1. O humanoide responder corretamente às quatro direções.
2. Permanecer parado quando o controle estiver em repouso.
3. Apresentar velocidade proporcional à inclinação.
4. Realizar movimentos e rotações suaves, sem tremores.
5. Parar automaticamente quando houver perda dos dados BLE.
6. Permitir ajustar sensibilidade, zona morta, velocidade e suavização pelo Inspector do Unity.
7. Manter a comunicação Bluetooth e UDP existente funcionando.
8. Apresentar scripts C# corrigidos, organizados e comentados.
9. Funcionar no projeto Unity existente, sem erros de compilação ou execução relacionados às alterações.
10. Ser aprovado em testes práticos com o dispositivo físico.

4. Testes remotos

Os testes serão realizados por compartilhamento de tela, com a placa Arduino Nano 33 BLE conectada ao meu computador.

O profissional poderá orientar as configurações e acompanhar em tempo real os movimentos do humanoide durante a calibração.

Será necessário testar as quatro direções, a posição neutra, a sensibilidade progressiva, a rotação e o comportamento durante uma interrupção da comunicação.

5. Entrega final

O profissional deverá entregar:

- `HumanoidTiltController.cs` corrigido e comentado.
- Ajustes necessários nos componentes existentes, caso sejam indispensáveis à calibração.
- Parâmetros configurados no Inspector do Unity.
- Orientações para futuras alterações de sensibilidade e velocidade.
- Demonstração prática do funcionamento.

Condição de aprovação: o serviço será validado após demonstração prática e confirmação dos critérios de entrega.

6. Limites do serviço

Não é necessário desenvolver o metaverso completo, criar cenários, personagens, multiplayer ou reconstruir a comunicação Bluetooth.

A contratação é exclusivamente para calibrar e aperfeiçoar a movimentação do humanoide utilizando a estrutura já existente.

Busco um profissional que tenha experiência prática em Unity e consiga realizar o trabalho remotamente, preservando as funcionalidades que já estão operacionais.

Categoria TI e Programação
Subcategoria Aplicativos desktop
Qual é o alcance do projeto? Alteração média

Prazo de Entrega: Não estabelecido

Habilidades necessárias