Adicionar um grupo de fontes de quadros
Uma sessão AR pode conter vários componentes de fonte de quadros, chamados de grupo de fontes de quadros (frame source group). Em tempo de execução, a sessão seleciona a fonte de quadros mais adequada do grupo com base no dispositivo atual e nos recursos AR ativados. Este artigo explica como usar e gerenciar grupos de fontes de quadros.
Antes de começar
- Compreenda os conceitos básicos, tipos e métodos de seleção em tempo de execução de fontes de quadros.
Usar o grupo de fontes de quadros da sessão AR predefinida
Sessões criadas com a configuração padrão incluem automaticamente um grupo de fontes de quadros, geralmente suficiente para usar um único recurso AR.
Diferentes sessões predefinidas contêm diferentes fontes de quadros.
Sessões criadas com a predefinição ARSessionFactory.ARSessionPreset.ImageTracking ou o menu
AR Session (Image Tracking Preset)contêm apenas uma única fonte de quadros:
Sessões criadas com a predefinição ARSessionFactory.ARSessionPreset.MegaBlock_MotionTracking_Inertial ou o menu
AR Session (Mega Block Default Preset)contêm uma hierarquia de cena com múltiplos componentes de fonte de quadros:
Se uma cena inicialmente usa uma predefinição para criar a sessão, ao adicionar outros recursos durante a iteração, é necessário adicionar não apenas o componente de filtro de quadros correspondente, mas também componentes de fonte de quadros adequados conforme necessário.
Importante
Após atualizar da versão 4.7 ou inferior, é necessário excluir completamente a sessão e recriá-la através do menu ou do ARSessionFactory para usar o grupo de fontes de quadros predefinido.
Abaixo estão listados todos os componentes de fonte de dados de quadro para configurações padrão predefinidas de recursos AR. Observe que a ordem na lista corresponde à ordem dos componentes de fonte de dados de quadro na cena:
| Predefinição | Componentes de fonte de dados de quadro |
|---|---|
Nota
A ordenação dos componentes criados com predefinições garante o uso da fonte de quadros ideal em todos os dispositivos suportados pelas fontes de quadros integradas.
Usar a configuração padrão de fonte de quadros
Com parâmetros padrão, a configuração da fonte de quadros ajusta-se automaticamente com base no dispositivo e nos recursos AR ativados em tempo de execução.
Se os parâmetros da fonte de quadros forem modificados manualmente, quando os recursos AR da sessão mudarem (por exemplo, ao adicionar rastreamento de movimento a uma sessão que inicialmente continha apenas rastreamento de imagem), pode ser necessário ajustar manualmente os parâmetros da fonte de quadros para atender às novas necessidades do recurso, garantindo assim que todos os recursos AR funcionem com o melhor desempenho.
Importante
Após atualizar da versão 4.7 ou inferior, é necessário excluir completamente a sessão e recriá-la através do menu ou do ARSessionFactory para usar os parâmetros padrão corretos.
Adicionar um grupo de fontes de quadros
Na janela Hierarchy, selecione AR Session (EasyAR), clique com o botão direito e use o menu EasyAR Sense > [ Recurso AR ] > Frame Source : * para adicionar um componente de fonte de quadros adequado para esse recurso. Também é possível usar o menu EasyAR Sense > Frame Source by Transform Type > * Dof > Frame Source : * para adicionar o componente de fonte de quadros necessário.
Em scripts, use ARSessionFactory.AddFrameSource<Source>(GameObject, bool) para adicionar um componente de fonte de quadros.
Por exemplo, usando o menu EasyAR Sense > Frame Source by Transform Type > 3 Dof Rot-Only > Frame Source : Three Dof Camera Device, você adiciona um ThreeDofCameraDeviceFrameSource à sessão selecionada.

O código de script correspondente é:
ARSessionFactory.AddFrameSource<ThreeDofCameraDeviceFrameSource>(session);
Ordenação de fontes de quadros
Durante o processo de montagem da sessão, apenas uma fonte de quadros do grupo será selecionada e montada na sessão. A regra de seleção depende do valor da propriedade AssembleOptions.FrameSourceSelection. Com a configuração padrão, é possível influenciar a fonte de quadros selecionada ajustando a ordem dos componentes no grupo de fontes de quadros.
Geralmente, você pode usar os métodos de ordenação de objetos na cena diretamente na janela Hierarchy para mover os objetos de fonte de quadros e reordená-los.
Em scripts, use Transform.SetSiblingIndex(int) para ajustar a ordem dos objetos.
Por exemplo, para colocar o MotionTrackerFrameSource antes de outras fontes de quadros, selecione o objeto Motion Tracker na janela Hierarchy e arraste-o para a posição superior.
O mesmo efeito pode ser alcançado com o seguinte código de script:
motionTrackerFrameSource.transform.SetSiblingIndex(0);
Além disso, existem métodos de ordenação predefinidos disponíveis. Na janela Hierarchy, selecione AR Session (EasyAR), clique com o botão direito e use o menu EasyAR Sense > Utility > Sort Frame Source : * > * para ordenar componentes específicos de fonte de quadros.
Em scripts, use ARSessionFactory.SortFrameSource(GameObject, ARSessionFactory.FrameSourceSortMethod) para obter o mesmo efeito.
Por exemplo, usando o menu EasyAR Sense > Utility > Sort Frame Source : Motion Tracker > System SLAM, você coloca o MotionTrackerFrameSource antes do ARCoreFrameSource, ARCoreARFoundationFrameSource, ARKitFrameSource, ARKitARFoundationFrameSource e AREngineFrameSource.

O código de script correspondente é:
ARSessionFactory.SortFrameSource(session, new ARSessionFactory.FrameSourceSortMethod { MotionTracker = ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod.PreferEasyAR });
Após essa ordenação, a hierarquia da cena se torna:

Tópicos relacionados
- Saiba como adicionar e configurar fontes de quadros para headsets
- Experimente obter a fonte de quadros em uso durante a execução
