ecrãs led interativos
| caso de estudo |
ecrãs led interativos
| caso de estudo |
PROJETO: Pesquisa e Desenvolvimento de Aplicativos para Ecrãs LED Interativos
SOFTWARE: Godot Engine | GDscript | Blender | Adobe Photoshop
TAREFAS: Algoritmo de Protocolo Interactivo | Desenvolvimento do Aplicativo | Programação | Otimização de Código | Direção de Arte
Imaginem tentar conectar um ecrã LED de última geração com um software concebido para touch screens tradicionais – esse foi o desafio que enfrentei quando comecei a criar conteúdo interativo para estes ecrãs. O ecrã enviava informação através de pacotes UDP, um conceito no qual tive de mergulhar de cabeça. Após uma pesquisa intensiva, descobri que o Godot conseguia receber estes pacotes, mas que iria requerer um toque mágico de GDscript.
Durante a criação destas minhas aplicações interactivas deparei-me com algumas limitações técnicas que merecem destaque:
Resolução Interativa Limitada:
A baixa resolução da superfície interativa, de apenas 1:16 (um sensor para cada 16 pixels), impôs desafios significativos.
Adaptação da Lógica de Programação:
A estratégia lógica de programação precisou de ser completamente repensada e adaptada para essa baixa resolução interativa. Afinal, o motor de jogos não se comporta da mesma forma neste caso como em aplicações para telemóvel, por exemplo, onde a resolução da superfície de toque e a resolução gráfica são equivalentes, de 1:1. Nestes displays LED não existe uma possível função fluida de arrastamento integrada, tão comum em outros ecrãs com sensibilidade ao toque. Isto deve-se à distância física entre cada sensor. Assim sendo, tive que re-pensar e arranjar uma solução alternativa de poder contornar a situação de forma inteligente. Acabei por criar um algoritmo que verificava a proximidade de um toque, comparando as respetivas coordenadas com as coordenadas de toques anteriores e, se suficientemente próximos, criava um arrastamento virtual fictício entre ambos os toques.
Decifrando a Informação:
Graças ao protocolo interativo cedido pelos fornecedores da tecnologia LED, consegui desvendar como o ecrã processava e organizava a informação que transmitia. Munido desse conhecimento, desenvolvi e programei o meu próprio algoritmo capaz de extrair, de forma autónoma e sistemática, o número de pontos de toque e as respetivas coordenadas contidos nos pacote de dados UDP enviado pelo ecrã para o computador.
Teste inicial:
Outro teste:
E mais testes:
Testes iniciais para um conceito de jogo de futebol:
Ecrã LED maior:
Alguns desafios técnicos pelo caminho:
Versão mais fluida e funcional:
Factos & Curiosidades:
Para o aplicativo de água interactiva:
Tomei como ponto de partida o excelente trabalho "Water Simulation in Godot 4" de Crigz Vs Game Dev (ver vídeo em anexo para mais informações).
Uma vez mais, a estratégia e lógica de programação teve que repensada e readaptada para poder funcionar na baixa resolução de toque como a de um ecrã LED, neste caso.
Quanto ao jogo de bolas interativas, tive algumas ideias para tornar a interatividade mais dinâmica:
Quando as bolas são pisadas próximo ao centro da bola, a velocidade transmitida é nula, ou próxima de zero;
Por outro lado, quanto mais próximo da extremidade da bola, maior a velocidade transmitida. Este pequeno detalhe ajuda a simular o que acontece na realidade, tornando o jogo mais realista, mais responsivo e mais envolvente para o utilizador.
As decorações em toda a volta do chão interativo foram inspiradas no design de pavimentos da tradição Grega (exemplos abaixo):