Partilhar via


Testar se um objeto ir caber numa área utilizando realidade mista

Pode utilizar o controlo Câmara de medição para determinar se um objeto de tamanho conhecido encaixará numa determinada área. Neste artigo, vamos criar uma aplicação de tela para fazer isso mesmo.

Dica

Os controlos mixed-reality (MR) funcionam melhor em ambientes bem iluminados com superfícies de textura plana. O monitorização é melhor em dispositivos compatíveis com LIDAR.

Adicionar campos de entrada de dimensões mínimas a uma aplicação de tela

Em primeiro lugar, iremos criar uma aplicação de tela em branco. Em seguida, adicionaremos uma forma de o utilizador introduzir as dimensões mínimas para testar (isto é, a menor área que irá conter o objeto que queremos encaixar).

  1. Criar uma aplicação de tela em branco.

  2. Selecione o separador Inserir. Introduza e coloque três controlos Etiqueta de texto no ecrã.

  3. Altere a propriedade Text das etiquetas para Largura Mínima, Profundidade Mínima e Altura Mínima, respetivamente.

    Uma captura de ecrã de uma etiqueta de texto em construção no Microsoft Power Apps Studio, mostrado ao lado das respetivas propriedades.

  4. Selecione o separador Inserir. Introduza três controlos Introdução de texto e coloque-os à direita das três etiquetas.

  5. Mude o nome dos controlos Introdução de texto para minWidth, minDepth e minHeight, respetivamente.

    Uma captura de ecrã de um controlo Introdução de texto em construção no Microsoft Power Apps Studio, mostrado ao lado das respetivas propriedades.

  6. Selecione os três controlos Introdução de texto. Altere a propriedade Format do grupo para Número e defina a propriedade Default para 1,0.

    Uma captura de ecrã de três controlos Introdução de texto em construção no Microsoft Power Apps Studio, mostrado ao lado das propriedades do grupo selecionado.

Adicionar e vincular o controlo Câmara de medição

Em seguida, adicionaremos o controlo Câmara de medição para permitir que o utilizador meça uma área tridimensional. Iremos vincular as medidas a uma tabela de dados para utilização posterior.

  1. Selecione o separador Inserir e expanda Suporte de dados.

  2. Selecione Câmara de medição para colocar o controlo no ecrã da aplicação. Arraste o controlo próximo do fundo do ecrã.

  3. Altere as propriedades do controlo da forma que se segue:

    Nome da propriedade Valor Onde
    Unit of measurement Feet or Meters Selecionar no separador Propriedades
    Measurement type Volume Selecionar no separador Propriedades
    Desenhar caixa Ativo Selecionar no separador Propriedades
    Items Table({label:"Volume de Teste"}) Introduza no separador Avançadas
    ItemsLabels "etiqueta" Introduza no separador Avançadas
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Volume de Teste")); Introduza no separador Avançadas

As propriedades Items, ItemsLabels e OnMixedRealitySelect do controlo Câmara de medição deve parecer-se com os seguintes exemplos quando terminar:

Uma captura de ecrã de um controlo Medir em 3D em construção no Microsoft Power Apps Studio, mostrado ao lado das respetivas propriedades Items e ItemsLabels.

Uma captura de ecrã de um controlo Medir em 3D em construção no Microsoft Power Apps Studio, mostrado ao lado da respetiva propriedade OnMixedRealitySelect.

A fórmula em Items captura as dimensões da área medida numa tabela de dados chamada "Volume de Teste". A fórmula em OnMixedRealitySelect define uma variável chamada "testVolume" para os valores capturados na tabela "Volume de Teste".

Apresentar os resultados

Finalmente, adicionaremos etiquetas de texto para apresentar as medidas que foram tiradas e o resultado do teste (isto é, se o objeto caberá na área medida).

  1. Selecione o separador Inserir. Introduza e coloque quatro controlos Etiqueta de texto no ecrã.

  2. Altere a propriedade Text dos controlos Etiqueta da forma que segue. (Dica: Copie cada fórmula e cole-a na barra de fórmulas ou no separador Avançadas de propriedades, o que preferir.)

    • Primeira etiqueta:

          If(IsBlankOrError(testVolume), "No Measurement captured",
              If(testVolume.Height >= Value(minHeight.Text) &&
              ((testVolume.BoundingWidth >= Value(minWidth.Text) && testVolume.BoundingDepth >= Value(minDepth.Text)) ||
              (testVolume.BoundingWidth >= Value(minDepth.Text) && testVolume.BoundingDepth >= Value(minWidth.Text))),
              "Fit Test Succeeded", "Fit Test Failed"))
      

      Esta fórmula define o texto da etiqueta de acordo com o facto de o teste ter sido bem sucedido ou de ter falhado, com base nas dimensões mínimas necessárias para conter o objeto que queremos encaixar. Se o teste não foi executado, quer porque não foram capturadas medições ou ocorreu um erro, o texto da etiqueta reflete isso.

      Uma captura de ecrã de um controlo Etiqueta de texto em construção no Microsoft Power Apps Studio, mostrado com a respetiva propriedade Text na barra de fórmulas e no separador de propriedades avançadas.

    • Segunda etiqueta:

          Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
      

      Esta fórmula define o texto da etiqueta como "Largura Delimitadora:" seguida da dimensão da largura da área medida.

    • Terceira etiqueta:

          Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
      

      Esta fórmula define o texto da etiqueta como "Profundidade Delimitadora:" seguida da dimensão da profundidade da área medida.

    • Quarta etiqueta:

          Concatenate("Bounding Height: ", Text(testVolume.Height))
      

      Esta fórmula define o texto da etiqueta como "Altura Delimitadora:" seguida da dimensão da altura da área medida.

O ecrã da aplicação deve ter o seguinte aspeto:

Uma captura do ecrã final da aplicação.

Testar a aplicação

Selecione o botão de pré-visualização para executar a aplicação no modo de pré-visualização. Selecione Câmara de medição para preencher as etiquetas com dados. Para verificar se os enlaces de etiquetas estão a funcionar, introduza novos valores nos campos de entrada de texto.

Uma captura de ecrã do ecrã da aplicação no modo de pré-visualização depois de terem sido introduzidas novas dimensões mínimas.

Os valores para Largura Delimitadora e Profundidade Delimitadora podem ser trocados quando efetuar o teste.

Guarde e publique a sua aplicação. Abra-a num dispositivo compatível com realidade mista para testar se um objeto com as dimensões especificadas se ajustará dentro dos limites de qualquer medição capturada.

Filtrar uma origem de dados

A aplicação que criámos testa um único conjunto de dimensões que são especificadas pelo utilizador quando a aplicação é executada. No entanto, pode expandi-la para testar novamente qualquer origem de dados ao aplicar a fórmula como um predicado de Filtro.

Por exemplo, imagine que a nossa aplicação contém uma referência a uma tabela do Dataverse denominada Produtos que inclui três colunas: Largura, Profundidade e Altura (correspondente às dimensões de cada produto). Para filtrar a coleção para mostrar apenas as medições que se ajustam num volume medido, podemos aplicar a fórmula que segue.

    If(IsBlankOrError(testVolume), Products,
    Filter(Products, testVolume.Height >= Height &&
        ((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
        (testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))

Consulte também

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).