A próxima geração de jogos de VR no PS5

O headset de VR de última geração da Sony Interactive Entertainment, o PlayStation® VR2 (PS VR2), é lançado hoje, e estamos empolgados em compartilhar as ferramentas mais recentes que o senhor pode usar para criar para essa plataforma inovadora. Nesta postagem, abordaremos dois aspectos do desenvolvimento para o PS VR2: gráficos e entradas.

O PS VR2 aproveita a potência gráfica e de computação de última geração do PS5 para ajudá-lo a criar jogos de VR impressionantes e de alto desempenho. O senhor pode ter como meta uma resolução equivalente a 4k, executando títulos a 60 Hz, 90 Hz ou 120 Hz, o que deve ser possível com o PS5 usando algumas das técnicas discutidas abaixo.
Primeiro, vamos começar com os pipelines de renderização. Recomendamos o Universal Render Pipeline (URP) para a maioria dos desenvolvedores de VR porque o URP será nosso primeiro pipeline de renderização a oferecer suporte a alguns dos recursos exclusivos do PS VR2, como renderização foveated e rastreamento do olhar. O senhor também pode usar o Scriptable Render Pipeline (SRP), o Built-in Render Pipeline e o High Definition Render Pipeline (HDRP), mas saiba que alguns recursos, como a renderização foveated, só estão disponíveis no URP por enquanto.
No geral, o URP é uma ótima opção para jogos de VR. Ele é flexível, fácil de usar e personalizável. Ele também funciona bem se o senhor estiver criando para várias plataformas, incluindo dispositivos de VR tudo-em-um. O senhor pode criar seu próprio pipeline de renderização personalizado usando o SRP, e fornecemos uma API C# extensa que permite implementar qualquer renderizador que seus jogos exijam.
O PS5 também oferece avanços na GPU por meio de sua nova API gráfica NGGC. Com o NGGC, aproveitamos as tecnologias de otimização disponíveis no PS5 de maneiras que antes não estavam disponíveis. Também rearquitetamos nosso backend de renderização para permitir a utilização eficiente em vários núcleos e melhorar as transições de estado da GPU. Isso resulta em uma renderização mais eficiente em termos de uso de CPU, GPU e memória, ao mesmo tempo em que oferece os mesmos resultados visuais, sem qualquer reautorização de ativos ou código de jogo.

O PS VR2 será capaz de usar uma técnica conhecida como renderização foveated. Essa técnica ajuda o senhor a criar jogos de VR com melhor fidelidade visual, diminuindo a carga de trabalho de renderização da GPU necessária para uma determinada cena. A renderização foveated é usada para melhorar o desempenho da GPU, reduzindo a qualidade da imagem na visão periférica.
O hardware do PS VR2 pode ir além, usando o rastreamento ocular para otimizar a renderização da GPU. Ao projetar as informações do olhar no espaço da tela, o senhor pode renderizar com alta qualidade na área exata da tela para onde o jogador está olhando.
A intenção da renderização foveated e do rastreamento ocular é manter a alta qualidade da imagem nas partes da imagem consideradas importantes, ao mesmo tempo em que se desvanece suavemente para resoluções mais baixas nas áreas da imagem consideradas menos importantes. Isso significa que o senhor pode reduzir o tamanho de alguns alvos de renderização e, ao mesmo tempo, manter a qualidade onde deseja.
Removemos toda a complexidade de configurar isso no Unity, permitindo que o senhor tenha controle suficiente sobre o grau de foveation para poder equilibrar a qualidade da imagem com o desempenho da GPU para seus requisitos específicos.
Com esse recurso, a renderização foveated no PS VR2 pode ser até 2,5 vezes mais rápida, sem nenhuma perda perceptual em comparação com a qualidade de imagem equivalente por meio da renderização estéreo padrão. Também observamos ganhos até 3,6 vezes mais rápidos quando a renderização foveated é combinada com o rastreamento ocular. (Observe que esses testes representam aumentos ideais no desempenho, testados em uma demonstração do Unity, e os números variam de acordo com o seu jogo).
A renderização foveated no PS VR2 pode proporcionar uma enorme redução no uso da GPU e, ao mesmo tempo, produzir a mesma qualidade perceptual - e, combinada com a tecnologia de rastreamento ocular, os ganhos de desempenho são ainda melhores.

Além do desempenho gráfico, o rastreamento ocular também permite um novo método de entrada. O senhor pode usar o rastreamento ocular para permitir que os usuários selecionem itens nos menus, iniciem interações com NPCs, usem ferramentas no mundo e muito mais. O rastreamento ocular poderia até ser um ponto focal da mecânica de jogo.
O aproveitamento do rastreamento ocular funciona da mesma forma que outros dispositivos de entrada do XR. O senhor tem acesso aos componentes do olhar, que é uma combinação de posição e rotação em ambos os olhos que define um lugar no mundo virtual. O senhor pode usar isso para saber onde o usuário está olhando no momento.
Além das informações básicas de pose, o senhor também terá acesso ao diâmetro da pupila e aos estados de piscar de ambos os olhos do jogador. Combinando isso com a pose, o senhor pode começar a formar suas próprias ideias sobre a jogabilidade e a interação para interagir mais profundamente com os jogadores.
Aqui está um exemplo de um retículo simples baseado no olhar:
public class GazeReticle : MonoBehaviour
{
Vector3 m_GazePosition;
Vector3 m_GazeForward;
Quaternion m_GazeRotation;
// In this script, gazeTracker is driven by a TrackedPoseDriver component wired up to the Position/Rotation
// of the eyeGazePosition and eyeGazeRotation from PSVR2 headset in the Input System Actions.
public GameObject gazeTracker;
void Update()
{
RaycastHit hitInfo;
m_GazePosition = gazeTracker.transform.position;
m_GazeRotation = gazeTracker.transform.rotation;
m_GazeForward = m_GazeRotation * Vector3.forward;
if (Physics.Raycast(m_GazePosition, m_GazeForward, out hitInfo, 10.0f))
{
transform.position = hitInfo.point;
}
}
}O senhor verá um objeto rastreador de olhar que aciona o movimento do retículo nesse script, usando o mesmo TrackedPoseDriver que poderíamos usar para rastrear qualquer outro controlador XR no Unity. Acontece que esse está vinculado a eyeGazePosition e eyeGazeRotation configurados em nosso Input System Action Map. Há também um TrackedPoseProvider criado especificamente para lidar com o rastreamento ocular se o senhor estiver planejando usar os métodos de entrada mais tradicionais da Unity.
Os novos Sense Controllers estão disponíveis para os desenvolvedores da Unity e incluem recursos exclusivos e interessantes encontrados apenas no PS VR2.
A detecção de toque do dedo usa o toque capacitivo para detectar quando os dedos do jogador estão apoiados nos botões sem realmente pressioná-los. Esses controles estão disponíveis em todos os botões primários e thumbsticks, de modo que o senhor pode usá-los para realizar gestos mais naturais com as mãos dos jogadores durante o jogo. O senhor também poderia, em uma abordagem mais básica, usar um modelo de mão para permitir que os jogadores "vejam" onde estão seus dedos quando olham para o controle. Isso pode realmente ajudar os jogadores a manter o foco e a imersão em uma experiência sem precisar levantar o fone de ouvido ou procurar um botão específico.
O PS VR2 usa a tecnologia de rastreamento de dentro para fora para o novo sistema, oferecendo rastreamento de seis graus de liberdade para o headset e os controles. Agora o senhor pode usar a maior parte, se não toda, a pilha padrão do Unity XR, facilitando o desenvolvimento de seus jogos para um alcance mais amplo da plataforma. Para configurar os próprios controladores, expusemos esses controles de entrada por meio do Unity Input Manager tradicional e do pacote Input System mais recente.
Além do rastreamento ocular e da entrada do controlador, o SDK do PS VR2 também permite o controle total da tecnologia háptica do PS VR2 Sense. Isso inclui feedback háptico baseado em áudio para proporcionar uma experiência mais profunda aos jogadores, bem como um suporte de vibração mais tradicional. Os novos controles também incluem os mesmos gatilhos adaptativos disponíveis nos controles DualSense do PS5, o que significa que o usuário pode programar os gatilhos com diferentes estilos de feedback com base no contexto do jogo. Além da háptica baseada no controle, o PS VR2 adicionou o feedback do headset, permitindo que os jogadores tenham uma vibração ajustável no headset. Isso pode ser usado para alertar os jogadores sobre um evento ou combinado com áudio para adicionar sensações mais realistas às experiências.
Trabalhamos muito para oferecer flexibilidade ao senhor quando se trata de integrar a entrada e a háptica do PS VR2 aos seus jogos. Com uma combinação de melhorias de rastreamento e um Unity XR SDK padrão para PS VR2, o senhor pode aproveitar toda a pilha do Unity XR, incluindo coisas como o XR Interaction Toolkit, outros assets dependentes do XR SDK, pacotes da Unity Asset Store e outros pacotes disponíveis por meio do Unity Package Manager.
Esses recursos permitem que o senhor explore novas formas de jogabilidade e construção de mundos.
O PS VR2 está disponível hoje, e o senhor pode desenvolver para ele com o Unity 2021 LTS e posterior. A renderização foveated requer o Unity 2022.2 e posterior. Estamos empolgados para ver o que esse headset significa para o setor de VR, pois ele abre um novo nível de desempenho e controles de entrada para que os senhores criem experiências ainda mais imersivas e empolgantes.
O senhor precisará de uma assinatura ativa do Unity Pro (ou uma chave de licença da plataforma preferencial fornecida pelo respectivo titular da plataforma) para acessar esses módulos de compilação específicos por meio dos fóruns da plataforma do desenvolvedor. Registre-se aqui para se tornar um desenvolvedor do PlayStation.
Compartilhe seus jogos de PS VR2 e PS5 conosco usando a hashtag #MadewithUnity nas mídias sociais. O senhor tem dúvidas? Os desenvolvedores registrados do PlayStation podem se conectar conosco no fórum Unity no site de desenvolvedores do PlayStation.
