ARKit + SceneKit: Como posicionar um cenário corretamente?
Esse não é um tutorial de programação!!
No último projeto que participei, eu e minha equipe decidimos nos aventurar pelo mundo da Realidade Aumentada, porém não queríamos montar um cenário do zero, foi então que decidimos buscar cenários prontos com royalties free, catucando na internet, me deparei com o site Sketchfab.
Ao tentar colocar o cenário de forma “tradicional”, segui todos os passos:
- Coloquei o cenário com extensão “.scn” na pasta “.scnassets”
- Segui todos os passos esperados “programaticamente”
- Busquei mais na internet
- Mudei o código várias vezes e nada
O cenário aparecia, mas ele se movia junto com a minha câmera e por mais que eu buscasse, não encontrei solução.
Foi então que decidi inspecionar aquele modelo padrão que aparece quando você escolhe o tipo de projeto como Realidade aumentada.
Ao analisar bem o modelo, percebi que o tamanho do objeto (nave) em si, era enorme, mas era como se ela estivesse “dentro de uma caixa menor”, por isso eu conseguia me mover ao redor dela, mover o celular e ela continuava no mesmo lugar.
Então, o segredo era escala e proporção!!
O desafio agora era como descobrir qual o tamanho ideal. Bem, eu queria algo que simulasse um ambiente onde eu estivesse imersa nele, então teria que ser grande, mas não tão grande que você se perdesse nele. Aí realmente foi questão de experimentar, tomei como base o tamanho da caixa da nave, depois, a partir do tamanho original do cenário, fui multiplicando os valores por 0.1 ou 0.01 (sempre valores pequenos, pois os cenários eram muito grandes), até encontrar um que se adaptasse bem ao meu objetivo.
Sim, falei, falei e não mostrei como fazer. Bora lá!
1 — Criar uma nova cena
Obs: No meu caso, não estava mexendo com a câmera diretamente, então excluí ela do novo cenário.
2 — Criar nova “caixa”
3 — Definir tamanho da sua cena (depende muito de como você espera que seja a experiência e do tipo de cenário, por exemplo)
3.1 — Você pode mexer na textura das “paredes” da caixa, pra visualizar melhor o cenário que colocará dentro
4 — Copie a cena do cenário original e cole na caixa
5 — Ajuste a escala para caber dentro da caixa (ou com medidas próximas a ela)
6- Pronto! Agora pode programar e colocar a cena, você se sentirá em outra realidade!!
Créditos do cenário utilizado: “The Living Forest” (https://skfb.ly/69WTw) by proxy_doug is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
Para testar esse e outros cenários, baixe nosso jogo na AppStore: Link