O Unity, o OpenXR e o WebXR oferecem um kit de ferramentas versátil para criar interações diversas em experiências imersivas. O objetivo é desenvolver apps imersivos com os quais os usuários possam interagir usando experiências aprendidas. Você pode projetar qualquer coisa, desde gestos simples até simulações complexas baseadas em física.
Os apps Unity, OpenXR e WebXR só funcionam no espaço total.
Saiba mais sobre os princípios de design do Android XR.
Entradas
Os apps de RA podem incluir interações com rastreamento de mãos, olhos e rosto, gestos, comandos de voz e dispositivos de entrada tradicionais, como teclados, mouses e controles. Considere quais entradas seu app precisa para oferecer uma experiência do usuário natural e acessível.
- Ofereça suporte a gestos conhecidos para reduzir a curva de aprendizado do app. Ao interagir com a interface 2D, use gestos padrão do sistema, como o gesto de pinça. Para interações 3D, como pegar e jogar uma bola, você precisa projetar com gestos que imitam a interação do mundo real. Isso se baseia no conhecimento existente do usuário e reduz a necessidade de tutoriais.
- Se outros gestos forem necessários, verifique se eles são fáceis de aprender, lembrar e executar. Evite gestos complexos e de várias etapas ou posições não naturais que possam causar desconforto e fadiga. Considere fornecer guias para ensinar os usuários a usar gestos com as mãos.
- Verifique se a experiência pode ser usada com a mão esquerda ou direita. Se isso não for possível, siga a preferência de uso da mão do sistema.
- Embora as interações com as duas mãos possam ser imersivas, elas podem ser um desafio para usuários com mobilidade limitada. Priorize interações com uma mão para ações essenciais. Se for necessário usar gestos com as duas mãos, forneça métodos alternativos para usar apenas uma mão e alcançar o mesmo resultado.
- Os apps Unity, OpenXR e WebXR não se beneficiam automaticamente da backstack do Android. Implemente uma backstack para permitir que os usuários acessem o gesto de retorno do Android XR para desfazer ações ou voltar usando a navegação por gestos.
Interface
Elementos da interface do usuário, como botões, painéis e texto, são essenciais para interações naturais em apps de RA. O design precisa priorizar uma experiência do usuário inteligente e intuitiva. As escolhas específicas de design da interface dependem dos requisitos exclusivos do app.
- Coloque os elementos interativos principais e o conteúdo crucial na linha de visão e no campo de visão natural do usuário. Isso melhora a visibilidade e garante uma experiência confortável. Considere como os usuários devem interagir com a interface para determinar a que distância ela deve ser colocada. Por exemplo, ele está apontando com um ponteiro a laser ou tocando em botões diretamente com os dedos? Configure o tamanho da interface com base na distância pretendida do usuário. Consulte o guia de tamanho e escala do Android XR.
- Ao projetar elementos de interface interativos, como botões, considere como os usuários devem interagir com eles, o nível de precisão necessário para cada método de entrada (rastreamento de mão versus mouse) e adapte fatores como tamanho e espaçamento de destino. Garanta que as posições da interface permitam interações confortáveis. Forneça feedback visual para as ações do usuário. Consulte o guia de estilo do Android XR.
- A interface 2D, como painéis, é adequada para interações baseadas em menu. A interface 3D, como botões físicos, alavancas e interruptores, pode ser mais imersiva ao interagir com ambientes espaciais. Um equilíbrio cuidadoso entre interações baseadas em painéis para alta legibilidade e objetos 3D para interações focadas no mundo pode criar uma experiência poderosa e imersiva.
- Use tamanhos, tipos e contrastes de fonte adequados para garantir que o texto seja legível. Posicione a interface com base na distância em que os usuários vão ler o texto. Use fontes de campo de distância assinado para renderizar texto de forma suave em vários tamanhos de fonte. Consulte o guia de tipografia do Android XR.
Interações espaciais
Algumas das interações mais ricas em XR envolvem a capacidade do usuário de interagir diretamente com objetos 3D. Isso pode ser tão simples quanto pegar, inspecionar e jogar um objeto. Ele também inclui interações mais complexas, como puxar alavancas, pressionar botões e interagir com elementos que já estão em mãos do usuário, como borrifar um frasco. Para interações intuitivas com objetos 3D, projete com base no conhecimento prévio do usuário sobre o mundo.
- Considere integrar um mecanismo de física se quiser criar ações realistas. Se você estiver criando com o Unity, ele terá um motor de física integrado. Observe a quantidade de energia de processamento que os motores de física consomem e otimize para performance.
- A credibilidade é mais importante do que o realismo. Por exemplo, se um usuário acredita que jogou uma bola com força, o app precisa adicionar força extra à bola além do que os sensores do dispositivo indicam.
- Os objetos precisam ser criados para corresponder às affordances. Isso significa que todas as ações possíveis que um usuário pode realizar em ou com um objeto precisam ser consideradas no app. Por exemplo, um donut pode ser pego, jogado e comido. Em vez de comer o donut, o app pode usar uma narração dizendo "Não estou com fome agora". Essas soluções abordam as ações que um usuário espera realizar com um gráfico em anel.
- Os objetos podem ser mantidos usando várias técnicas, incluindo agrupamento, articulações físicas, acompanhamento e forças físicas. Cada técnica tem vantagens e desvantagens. Antes de implementar um método de extração personalizado, é essencial pesquisar e testar diferentes abordagens para determinar a mais adequada.
- A ergonomia é importante ao projetar em um ambiente 3D. Para acessibilidade, considere adicionar uma alça a superfícies planas para permitir que o usuário ajuste o produto a uma altura confortável. Teste cada objeto no espaço com vários usuários, já que o corpo de cada pessoa é diferente.
Design de cena
As cenas podem variar de mundos virtuais totalmente imersivos a experiências de realidade aumentada que combinam elementos virtuais com o ambiente real do usuário. Crie cenas que sejam confortáveis, funcionais e aproveitem os recursos exclusivos da XR.
- Limite as cenas que se movem ao redor do usuário, como voar. Isso pode causar desconforto, especialmente se o corpo físico do usuário permanecer parado. Algumas técnicas de locomotivação, como a visão de túnel (descrita na próxima seção), ajudam a reduzir o desconforto.
- Para criar experiências de realidade mista, use os recursos de compreensão de cena do Android XR para integrar objetos virtuais ao ambiente físico do usuário.
- Para aplicativos de realidade virtual, é possível incorporar visualizações limitadas do mundo real no espaço virtual. Isso ajuda os usuários a ficarem cientes do ambiente e interagir com objetos físicos sem sair da experiência imersiva.
Locomotiva
As experiências do Android XR são incentivadas a permitir que os usuários se movam livremente pelo espaço físico, conforme definido por um limite configurado. Por exemplo, alguns usuários acham que as experiências virtuais são mais imersivas quando são projetadas em torno de um espaço de autoria não móvel. Se você espera que os usuários se movam em um espaço virtual maior do que o limite permite, considere usar técnicas de locomoção que ampliem o movimento, como o teletransporte.
Com o teletransporte, um usuário aponta e seleciona ou usa um controlador para pular instantaneamente para um novo local. É ótimo para cobrir grandes distâncias rapidamente e, muitas vezes, é o método de locomoção que causa o menor enjoo. Ocultar brevemente a tela durante a transição pode minimizar o desconforto.
Outros métodos de locomoção
Se você usa outros métodos de locomoção, considere oferecer o teletransporte como alternativa.
- Caminhar no lugar com os braços balançando: simule caminhar balançando os braços ou movendo o controle para cima e para baixo. Alguns usuários podem achar isso cansativo ou menos intuitivo.
- Movimento contínuo: use o joystick ou o botão direcional de um controle para mover seu avatar pelo ambiente. Na maioria das circunstâncias, evite esse método, porque ele é uma causa comum de enjoo.
Se você decidir usar a locomoção na sua experiência, ofereça várias opções para acomodar as preferências individuais e melhorar a experiência do usuário.
O enjoo de movimento pode ocorrer quando há uma desconexão entre o movimento físico de um usuário e a experiência virtual. Para otimizar o conforto do usuário durante a locomoção:
- O horizonte virtual precisa permanecer estável e nivelado.
- Se um movimento contínuo for necessário, evite qualquer aceleração ou desaceleração progressiva. Mantenha a velocidade consistente.
- A visão de túnel pode ajudar a reduzir o enjoo de movimento ao restringir o campo de visão do usuário durante o movimento, com um efeito de vinheta que limita o movimento percebido nas áreas periféricas.
- Para a rotação, ajuste o ponto de vista de um usuário a ângulos específicos. Isso pode causar alguma desorientação, mas vai diminuir o enjoo.
- Os usuários têm níveis diferentes de tolerância. Permita que eles ajustem as configurações de conforto de acordo com a preferência, como escolher o método de locomoção, ativar ou desativar a visão de túnel ou ajustar a velocidade de movimento.
Áudio espacial
O som é uma ferramenta poderosa para criar paisagens sonoras imersivas que transportam os usuários para outro mundo e evocam emoções específicas. O áudio espacial posiciona com precisão os sons no ambiente virtual.
- O ambisônico é como um skybox para áudio, fornecendo um ambiente sonoro imersivo para os usuários. Use ambisônicos para sons ambientais de fundo ou outros cenários em que você quer replicar um campo de som esférico que rodeia o ouvinte.
- As dicas de áudio espacializadas podem direcionar a atenção do usuário.
- Use a espacialização de efeitos sonoros para aumentar a imersão.
- A espacialização do áudio de voz no local do alto-falante dá aos usuários uma sensação de presença, mesmo que não estejam de frente para o alto-falante.
- Permitir que os usuários ajustem o áudio. Por exemplo, eles podem querer desativar ou mudar o volume da música de fundo, dos efeitos sonoros ou das narrações.
- Considere adicionar legendas para pessoas surdas ou com perda auditiva.
Mais considerações sobre conforto
Para priorizar a acessibilidade, ofereça opções personalizáveis que atendam a diversas capacidades e preferências. Isso garante que uma ampla variedade de usuários possa aproveitar a experiência imersiva.
- Fazer com que o aplicativo seja executado a 72 quadros por segundo: isso ajuda a minimizar o tremor visual e evitar a náusea.
- Dê controle aos usuários: para tornar seu app mais fácil de usar para pessoas com diferentes níveis de afinidade com a XR, permita que os usuários personalizem a experiência com configurações personalizáveis. Considere permitir que os usuários remapeiem botões e gestos do controle para atender às necessidades ou preferências físicas. Por exemplo, usuários com mobilidade limitada das mãos podem se beneficiar de diferentes layouts de botões ou controles de entrada maiores e simples.