O telemóvel tornou-se câmara de mão para o Blender: addon gratuito e de código aberto
O addon Phone Camera Controller transforma um smartphone com iOS ou Android numa câmara virtual de mão para o Blender. O telemóvel mostra o viewport em tempo real, e a câmara 3D da cena repete o movimento do telemóvel. Se mantiver premida a gravação, o percurso é guardado em fotogramas-chave normais da câmara. O addon é gratuito, distribuído com código aberto sob GPL e pesa 35 KB.
Na ideia dos desenvolvedores, com o telemóvel é possível fazer movimentos de câmara difíceis de obter com o rato: andar com ele pela sala e gravar um voo em volta da cena como filmagem de mão. O foco pode ser deslocado à mão durante a tomada, e isso também entra na animação.
O que é gravado na tomada
A câmara é controlada em seis graus de liberdade: posição em X, Y, Z e rotação (panorâmica, inclinação, rolamento). Os dados vêm do giroscópio, do acelerómetro e do rastreio AR da posição do telemóvel. A objetiva também se ajusta a partir do smartphone: distância focal, distância de focagem, diafragma, grau de desfoque e profundidade de campo aplicam-se de imediato.
«A distância focal, a distância de focagem, o diafragma e a profundidade de campo são definidos a partir do telemóvel e gravados em chaves durante a filmagem, pelo que o foco pode ser deslocado à mão», escrevem os desenvolvedores na página do addon.
Pode gravar-se de duas maneiras. Uma pressão curta coloca um único fotograma-chave no fotograma atual. Se mantiver o botão premido, a posição e a rotação são escritas fotograma a fotograma enquanto a linha temporal corre; ao soltar o botão, a gravação para. A linha temporal também se controla a partir do telemóvel: início, pausa, rebobinar, passo por fotogramas, salto para o começo ou para o fim.
As definições de movimento estão reunidas no painel lateral Phone Cam (tecla N no viewport):
- a rotação e a translação ativam-se em separado — por exemplo, só rotação para uma panorâmica como de um tripé;
- a sensibilidade define quão longe a câmara se desloca por cada passo de movimento real: para percursos pequenos e medidos, reduz-se;
- a suavização elimina o tremor dos sensores: mais alta — andamento suave, mais baixa — filmagem de mão em cru;
- qualquer eixo pode ser invertido;
- a calibração da pose neutra memoriza a posição atual da câmara, para que cada tomada comece pelo mesmo enquadramento.
O addon funciona com vários telemóveis ao mesmo tempo, cada um conduz a sua própria câmara na cena. Para isso, no Blender adiciona-se uma câmara por telemóvel e ligam-se na aplicação, enquanto o viewport segue a última câmara selecionada.
Ligação sem definições de rede
O telemóvel e o computador encontram-se sozinhos através de Bonjour/mDNS, também no Windows: não é preciso introduzir endereços IP, portas nem códigos de emparelhamento. Basta premir Start Server no painel e o Blender aparece na lista de anfitriões da aplicação. A pré-visualização chega ao telemóvel no mesmo modo de sombreamento que no viewport: Solid para velocidade ou Material Preview para ver cor e luz. Isto é útil mesmo sem gravação — por exemplo, para mostrar a um cliente o enquadramento no ecrã do telemóvel sem renderizar nada.
As limitações estão indicadas sem rodeios. Ambos os dispositivos têm de estar na mesma rede Wi-Fi local; por rede móvel e redes remotas o addon não funciona. Os desenvolvedores aconselham 5 GHz, em 2,4 GHz a latência é maior. Enquanto o servidor está a correr e o telemóvel está ligado, o addon renderiza uma pré-visualização com 640 pixels de largura por predefinição (a largura e a taxa de fotogramas mudam-se nas definições do addon). São usadas as portas HTTP 8254 e UDP 8255 — é útil saber, se a rede do estúdio estiver fechada por uma firewall. A cena é transmitida apenas localmente e não é carregada para a internet.
Onde o obter e quanto custa a gravação
O addon Phone Camera Controller na versão 1.4.1 está publicado num único arquivo para todas as plataformas. Está escrito em Python puro, exige Blender 4.2 ou mais recente em macOS, Windows (64 bits) ou Linux e foi testado no Blender 5.2 LTS. Instala-se através de Install from Disk nas definições, e não é necessária palavra-passe de administrador. A aplicação Phone Camera Control é gratuita na App Store e no Google Play (Android 8.0 e mais recente); o telemóvel precisa de giroscópio e acelerómetro.
A monetização diz respeito apenas à gravação. A transmissão, o controlo da câmara, as definições, a linha temporal e o trabalho com vários telemóveis não têm limites e não têm publicidade. Depois do registo na aplicação, são atribuídos 30 Ad Credits para gravação; ver um anúncio curto acrescenta 10 segundos de gravação, não há limite diário. A compra única Ad-Free retira a publicidade e levanta as restrições à gravação; o seu preço não é indicado na página do addon. Não há versões Lite e Pro: o conjunto de funções é igual para todos. A conta na aplicação serve para a contagem dos créditos.
Em que difere de outras «câmaras no telemóvel»
Ferramentas semelhantes já existiam antes. O PocketCam, no marketplace Superhive, também dá rastreio 6DoF, visor em tempo real e gravação com reprodução da linha temporal com som. Aí a ligação faz-se por código QR, o telemóvel abre a interface no navegador sem instalar aplicação, e são anunciadas estabilização e licença comercial. Em 2021, como escreveu a BlenderNation, o VirtuCamera oferecia possibilidades semelhantes: transmissão do movimento por Wi-Fi, difusão do viewport, gravação de chaves, controlo da distância focal e suavização. Exigia um iPhone ou iPad com suporte de ARKit e funcionava com o Blender 2.83–2.92.
Na nossa avaliação, face ao PocketCam as principais diferenças do Phone Camera Controller são o addon gratuito e o funcionamento inteiramente na rede local: o PocketCam é vendido a pagamento, exige ligação à internet e uma conta Cloudflare, mas em troca não está preso a uma única rede Wi-Fi. Outra diferença é a gravação da distância de focagem e do diafragma em conjunto com o movimento, de modo que o operador pode ele próprio deslocar o foco durante a tomada. Em comparação com o VirtuCamera, acrescentaram-se Android e as versões atuais do Blender. O ponto fraco é o modelo com créditos: o modo gratuito provavelmente basta para experimentar e filmar alguns percursos curtos, mas para trabalho regular com tomadas longas será muito provavelmente necessária a compra única. Também não é claro como o rastreio AR se comporta em percursos longos: os desenvolvedores não apresentam dados sobre a deriva. Eles próprios aconselham segurar o telemóvel com as duas mãos, começar o movimento devagar e, nos solavancos, cancelar a tomada e refilmar, pelo que será provavelmente de prever a limpeza das curvas depois da gravação.
Ну и какая погрешность?
Интересная для меня тема, даже специально зарегистрировался здесь ради неё.
Когда-то давно экспериментировал с наложением эффекта камеры, раскачивающейся при ходьбе, на 2D анимацию, но использовал совсем другие инструменты. У меня тогда был Макбук с HDD диском. В нём есть датчики Sudden Motion Sensor, которые следят за изменением положения ноутбука в пространстве. Их основная цель – обеспечить парковку головок жесткого диска в случае падения и, тем самым, обезопасить диск и данные на нём. Существует бесплатный софт, который позволяет вести запись в файл данных с этих датчиков. Я запускал воспроизведение анимационного куска на ноуте, включал запись данных с сенсоров в файл и проносил ноут в руках по комнате, стараясь синхронизировать его движения с происходящем на экране. Делал несколько дублей. Затем данные с датчиков пересохранял в Excel файл, импортировал в AftеrEffects и накладывал на анимацию. Чтобы снизить дрожание и сделать движение более плавным, приходилось эти данные предварительно перемножать, подбирая коэффициенты. Погрешность меня не интересовала, нужен был эффект как таковой.
Вот ещё демо анимационно-игровых трюков, которые можно делать с помощью датчиков Sudden Motion Sensor в ноутбуке:
https://www.youtube.com/watch?v=koHfshmHUmI