BR112019019556A2 - criação e geração de ambiente tridimensional - Google Patents

criação e geração de ambiente tridimensional Download PDF

Info

Publication number
BR112019019556A2
BR112019019556A2 BR112019019556A BR112019019556A BR112019019556A2 BR 112019019556 A2 BR112019019556 A2 BR 112019019556A2 BR 112019019556 A BR112019019556 A BR 112019019556A BR 112019019556 A BR112019019556 A BR 112019019556A BR 112019019556 A2 BR112019019556 A2 BR 112019019556A2
Authority
BR
Brazil
Prior art keywords
model
environment
data file
content
representation
Prior art date
Application number
BR112019019556A
Other languages
English (en)
Other versions
BR112019019556B1 (pt
Inventor
Handa Aniket
G Perez Carlos
Brett Marshall Colton
Anthony Martinez Molina Harold
Srinivasan Vidya
Original Assignee
Microsoft Technology Licensing Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of BR112019019556A2 publication Critical patent/BR112019019556A2/pt
Publication of BR112019019556B1 publication Critical patent/BR112019019556B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mixers With Rotating Receptacles And Mixers With Vibration Mechanisms (AREA)
  • Processing Of Solid Wastes (AREA)
  • Moulding By Coating Moulds (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Optics & Photonics (AREA)

Abstract

a presente invenção refere-se à criação e geração de ambiente tridimensional (3d). em um exemplo, um ambiente 3d pode ser criado com a utilização de um ou mais modelos, em que representações bidimensionais (2d) dos modelos podem ser manipuladas com a utilização de um aplicativo de criação. os modelos podem compreender pontos de ancoragem, que podem ser utilizados para costurar os modelos em conjunto quando da renderização do ambiente 3d. em um outro exemplo, um modelo pode compreender um ou mais pontos de conteúdo, que podem ser utilizados para posicionar conteúdos dentro do ambiente 3d. um arquivo de dados de ambiente pode ser gerado com base em um ou mais modelos e conteúdos associados aos pontos de conteúdo, por meio do que se cria um arquivo que pode ser distribuído para outros dispositivos de computação. um aplicativo de tela de exibição pode ser utilizado para gerar o ambiente 3d com base no arquivo de dados de ambiente. nesse sentido, o aplicativo de tela de exibição pode costurar os modelos e popular o ambiente 3d com os conteúdos.

Description

Relatório Descritivo da Patente de Invenção para CRIAÇÃO E GERAÇÃO DE AMBIENTE TRIDIMENSIONAL.
Antecedentes [001] Sites de publicação têm sido um caminho chave para compartilhar e consumir informação na rede. Uma coleção de serviços existe que democratiza a criação de site para a rede. No entanto, não existem serviços para solucionar os problemas de criação de sites que realizam todo o potencial de conteúdos tridimensionais (3D). Com uma crescente pressão para facilmente criar e compartilhar conteúdos 3D, há a necessidade de ferramentas e/ou serviços que facilitem a criação e/ou a consumação de conteúdos 3D.
[002] É em relação a essas e a outras considerações gerais que as modalidades são descritas. Além disso, embora problemas relativamente específicos sejam discutidos, deve ser entendido que as modalidades não devam ser limitadas à resolução dos problemas específicos identificados nos antecedentes.
Sumário [003] A presente invenção refere-se à criação e geração de ambiente tridimensional (3D). Em um exemplo, um ambiente 3D pode ser criado com a utilização de um ou mais modelos, em que representações bidimensionais (2D) dos modelos podem ser selecionadas e posicionadas com a utilização de um aplicativo de criação. Um modelo pode compreender um ou mais pontos de ancoragem, que pode ser utilizado para costurar o modelo em conjunto com um ou mais outros modelos quando renderizando o ambiente 3D. Em um outro exemplo, um modelo pode compreender um ou mais pontos de conteúdo, que podem ser utilizados para posicionar itens de conteúdo dentro do ambiente 3D. Um arquivo de dados de ambiente pode ser gerado com base em um ou mais modelos e nos conteúdos associados com os pontos de conteúdo, por meio do que um arquivo é criado que pode
Petição 870190093906, de 19/09/2019, pág. 15/69
2/35 ser distribuído para outros dispositivos de computação.
[004] Um aplicativo de tela de exibição pode ser utilizado para gerar o ambiente 3D com base no arquivo de dados de ambiente. Como um exemplo, o aplicativo de tela de exibição pode acessar modelos indicados por um arquivo de dados de ambiente e renderizar os modelos com base em uma operação de costura de modo a criar uma combinação aparentemente contínua dos modelos. O aplicativo de tela de exibição pode também popular o ambiente 3D com conteúdo com base nos pontos de conteúdo dos modelos. Nesse sentido, pode ser possível facilmente criar ambientes 3D de acordo com os aspectos divulgados neste documento, ainda que um usuário tenha potencialmente pouca ou nenhuma experiência com design 3D.
[005] Este sumário é fornecido para apresentar uma seleção de conceitos de modo simplificado que são descritos abaixo mais tarde na Descrição Detalhada. Este sumário não pretende identificar recursos chave ou recursos essenciais do assunto reivindicado, nem pretende ser utilizado para limitar o escopo do assunto reivindicado.
Breve Descrição dos Desenhos [006] Exemplos não limitativos e não exaustivos são descritos com referência às figuras que se seguem.
[007] A FIG. 1 ilustra uma vista geral de um sistema de exemplo para a criação e geração de um ambiente tridimensional.
[008] A FIG. 2 ilustra uma vista geral de um método de exemplo para a criação de um ambiente tridimensional com a utilização de uma representação bidimensional.
[009] A FIG. 3 ilustra uma vista geral de um método de exemplo para a geração de um ambiente tridimensional.
[0010] A FIG. 4 ilustra uma vista geral de uma interface de usuário de exemplo para a criação de um ambiente tridimensional com a utilização de modelos bidimensionais.
Petição 870190093906, de 19/09/2019, pág. 16/69
3/35 [0011] A FIG. 5 ilustra uma vista de exemplo dentro de um ambiente tridimensional.
[0012] A FIG. 6 é um diagrama de blocos que ilustra um exemplo de componentes físicos de um dispositivo de computação com os quais aspectos da descrição podem ser praticados.
[0013] As FIGS. 7A e 7B são diagramas de blocos simplificados de um dispositivo de computação móvel com os quais aspectos da presente descrição podem ser praticados.
[0014] A FIG. 8 é um diagrama de blocos simplificado de um sistema de computação distribuído no qual aspectos da presente descrição podem ser praticados.
[0015] A FIG. 9 ilustra um dispositivo de computação tablet para a execução de um ou mais aspectos da presente descrição.
Descrição Detalhada [0016] Na descrição detalhada que se segue, são feitas referências aos desenhos de acompanhamento que constituem parte da mesma, e nos quais são mostradas por meio de ilustrações as modalidades específicas ou exemplos. Estes aspectos podem ser combinados, outros aspectos podem ser utilizados, e mudanças estruturais podem ser feitas sem que se separem da presente descrição. As modalidades podem ser praticadas como métodos, sistemas ou dispositivos. Neste sentido, as modalidades podem tomar a forma de uma implementação de hardware, uma implementação completamente em software, ou uma implementação que combine aspectos de hardware e software. A descrição detalhada que se segue, por essa razão, não deve ser tomada em um sentido limitative, e o escopo da presente descrição é definido pelas reivindicações em anexo e seus equivalentes.
[0017] Aspectos da presente descrição se relacionam com a criação e geração de ambientes tridimensionais (3D). Em um exemplo, um
Petição 870190093906, de 19/09/2019, pág. 17/69
4/35 ambiente 3D pode ser criado com a utilização de um aplicativo de criação, em que um usuário do aplicativo de criação pode graficamente selecionar representações bidimensionais (2D) de modelos, que podem ser armazenadas como um arquivo de dados de ambiente. O arquivo de dados de ambiente pode, em seguida, mais tarde ser utilizado para gerar um ambiente 3D compreendendo renderizações 3D dos modelos selecionados. Em alguns exemplos, diferentes tipos de conteúdo podem ser embutidos ou incluídos no ambiente 3D. Exemplos de conteúdo incluem, mas não se limitam a, objetos 3D (por exemplo, modelos 3D, figuras, formas, etc.) ou objetos 2D (por exemplo, arquivos, imagens, apresentações, documentos, web sites, vídeos, recursos remotos, etc.), dentre outros conteúdos. Em exemplos, um ambiente 3D pode ser um espaço virtual, tal como um mundo de realidade virtual (VR), ou pode ser um espaço do mundo real no qual o conteúdo pode ser visualizado ou posto em camadas sobre o mundo real, dentre outras técnicas de VR ou de realidade aumentada (AR).
[0018] Um ambiente 3D criado de acordo com os aspectos divulgados nesse documento pode, em seguida, ser consumido com a utilização de um aplicativo de tela de exibição em um dispositivo de computação tal como um computador desktop ou um smartphone. Em um exemplo, um ambiente 3D pode ser experenciado através de um vasto espectro de dispositivos, variando de dispositivos low-end (por exemplo, GOOGLE CARDBOARD) a dispositivos high-end (por exemplo, MICROSOFT HOLOLENS, OCULOUS RIFT, HTC VIVE, etc.). Uma vez que o mesmo ambiente 3D pode ser gerado com a utilização de dispositivos de computação desktop bem como dispositivos móveis, uma sobrecarga adicional (por exemplo, a transmissão de todas as texturas exigidas, mapas de luz, arquivos de áudio, etc.) pode não ser exigida para a geração do ambiente 3D. Além disso, idiossincrasias específicas de plataforma ou dispositivo podem ser tratadas pelo apli
Petição 870190093906, de 19/09/2019, pág. 18/69
5/35 cativo de tela de exibição, de modo a tornar tais idiossincrasias invisíveis para ambos, o usuário final e o autor do ambiente 3D.
[0019] Um ambiente 3D pode compreender um ou mais modelos, em que um modelo pode compreender uma sala virtual, uma cena virtual, ou qualquer outra subparte de um mundo virtual. Como descrito acima, um usuário pode utilizar um aplicativo de criação para selecionar, organizar, e/ou customizar um ou mais modelos para criar um ambiente 3D. O ambiente 3D pode, em seguida, ser armazenado como um arquivo de dados de ambiente, em que o arquivo de dados de ambiente pode armazenar informações relativas a um ou mais modelos e/ou conteúdos a serem incluídos no ambiente 3D. Um aplicativo de tela de exibição pode ser utilizado para renderizar o ambiente 3D com base no arquivo de dados de ambiente. O aplicativo de tela de exibição pode compreender recursos de computação associados com os modelos utilizados pelo arquivo de dados de ambiente, de modo tal que o arquivo de dados de ambiente não necessita compreender tais recursos. Em alguns exemplos, o arquivo de dados de ambiente pode compreender recursos de computação para serem utilizados na renderização do ambiente 3D ou os recursos podem ser recuperados a partir de um servidor ou outra localização remota, dentre outros exemplos. [0020] Ao renderizar o ambiente 3D, o aplicativo de tela de exibição pode identificar um ou mais pontos de ancoragem dentro de um modelo, que podem ser utilizados quando for costurar em conjunto os modelos conectados ou adjacentes especificados pelo arquivo de dados de ambiente em um ambiente 3D. Como um exemplo, um modelo pode compreender um ponto de ancoragem de entrada e um ponto de ancoragem de saída, em que o ponto de ancoragem de entrada pode indicar uma porta ou outra entrada para o modelo e o ponto de ancoragem de saída pode indicar uma porta ou outra saída para o modelo. Deste modo, quando se costura em conjunto múltiplos modelos (por
Petição 870190093906, de 19/09/2019, pág. 19/69
6/35 exemplo, modelos adjacentes ou conectados), o ponto de ancoragem de saída de um primeiro modelo pode ser utilizado para posicionar o ponto de ancoragem de entrada de um segundo modelo (e, por extensão, o segundo modelo), de modo que se cria uma contínua combinação de modelos. Em alguns exemplos, um ponto de ancoragem pode especificar uma direção, em que a direção de um ponto de ancoragem de entrada pode apontar na direção do modelo, enquanto a direção de um ponto de ancoragem de saída pode apontar para longe do modelo. [0021] Em certos aspectos, um ponto de conteúdo pode ditar onde o conteúdo pode ser posicionado (por exemplo, como um item de conteúdo) dentro de um ambiente 3D. Em exemplos, um ponto de conteúdo ou ancoragem pode definir uma posição de renderização dentro de um modelo. Em aspectos, um ou mais pontos de ancoragem podem ser incluídos como parte de um modelo (por exemplo, como um objeto de ponto nulo utilizando uma convenção numérica básica), que pode ser utilizado por um aplicativo de tela de exibição ou outro renderizador para obter e acrescentar filhos (por exemplo, outros modelos) aos pontos de ancoragem. De modo semelhante, pontos de conteúdo podem ser utilizados para posicionar conteúdos dentro do modelo. Deste modo, o ambiente 3D tendo conteúdos posicionados em diferentes pontos de ancoragem e/ou pontos de conteúdo pode ser criado sem exigir informação a respeito do ambiente 3D antes da renderização. Em alguns exemplos, um usuário que cria um ambiente 3D pode ser capaz de posicionar pontos de ancoragem e/ou pontos de conteúdo dentro de um ambiente 3D sem a necessidade de adicionar um código. Em outros exemplos, um usuário pode ser capaz de adicionar, mover, ou deletar pontos de conteúdo e/ou pontos de ancoragem de um modelo.
[0022] Em alguns exemplos, um conjunto de modelos pode ser gerado, em que diferentes tipos de sala podem ser predefinidos como
Petição 870190093906, de 19/09/2019, pág. 20/69
7/35 parte do conjunto. O conjunto de modelos pode ser projetado de tal modo que a costura de um modelo em conjunto com outro modelo de um mesmo conjunto pode formar um modelo aparentemente contínuo. Em outros exemplos, aspectos de um modelo podem ser gerados dinamicamente ou programaticamente. Em um exemplo, um modelo pode indicar que certos aspectos podem ser substituídos dependendo do modelo com o qual ele pode ser costurado. Como um exemplo, um primeiro modelo pode indicar que uma parede ou um arco pode ser substituído por uma porta, de tal modo que o ponto de entrada de um segundo modelo pode ser costurado ao primeiro modelo na porta. Será apreciado que outra substituição ou técnicas de geração de modelo possam ser utilizadas sem que se separem do espírito desta descrição.
[0023] A FIG. 1 ilustra uma visão global de um exemplo de sistema 100 para a criação e geração de um ambiente tridimensional. Conforme ilustrado, o sistema 100 compreende os dispositivos de computação 102 e 104, e o serviço de ambiente 3D 106. Em um exemplo, os dispositivos de computação 102 e 104 podem ser quaisquer de uma variedade de dispositivos de computação, incluindo, mas não estando limitado a, um dispositivo de computação móvel, um dispositivo de computação laptop, um dispositivo de computação tablet, ou um dispositivo de computação desktop. Em alguns exemplos, o serviço de ambiente 3D 106 pode ser fornecido como parte de uma plataforma de produtividade, de comunicação, ou colaborativa. Será apreciado que enquanto o serviço de ambiente 3D 106 e os elementos 108-114 são ilustrados em separado dos dispositivos de computação 102 e/ou 104, um ou mais elementos 108-114 podem ser fornecidos pelos dispositivos de computação 102 e/ou 104 em outros exemplos. Como um exemplo, o dispositivo de computação 102 pode compreender o aplicativo de criação 108, enquanto o dispositivo de computação 104 pode
Petição 870190093906, de 19/09/2019, pág. 21/69
8/35 compreender o aplicativo de tela de exibição 110.
[0024] O serviço de ambiente 3D 106 compreende o aplicativo de criação 108, o aplicativo de tela de exibição 110, o armazenamento de dados de modelo 112, e o armazenamento de dados de ambientes criados 114. O aplicativo de criação 108 pode ser utilizado para criar um ambiente 3D de acordo com aspectos divulgados neste documento. Em um exemplo, o aplicativo de criação 108 pode exibir representações 2D de um ou mais modelos 3D, que podem ser selecionados, posicionados, e/ou customizados por um usuário com o objetivo de criar um ambiente 3D. Um modelo pode compreender um ou mais pontos de conteúdo, que podem ser utilizados pelo usuário para posicionar um conteúdo dentro do ambiente 3D. Em alguns exemplos, o aplicativo de criação 108 pode fornecer uma variedade de temas, em que os modelos podem ser associados com um ou mais temas, ou podem ser alterados ou adaptados com base em um tema selecionado pelo usuário (por exemplo, cores, texturas, iluminação, etc., podem ser modificados). Em exemplos, um modelo pode ser utilizado por múltiplos temas, em que pelo menos alguns dos aspectos geométricos do modelo (por exemplo, o layout, recursos arquitetônicos ou geográficos, etc.) podem ser inalterados, enquanto a estética do modelo pode ser variável (por exemplo, o esquema de cores, iluminação, áudio, etc.).
[0025] O aplicativo de criação 108 pode produzir um ambiente 3D criado como um arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende informações associadas com os modelos selecionados (por exemplo, um identificador de modelo, um nome de modelo, um tipo de modelo, etc.), informações de posicionamento (por exemplo, coordenadas, identificadores de pontos de ancoragem, etc.), informações de conteúdo (por exemplo, qual conteúdo deve ser exibido para um ou mais pontos de conteúdo, o conteúdo a ser exibido, uma referência ao conteúdo, etc.), recursos de customizaPetição 870190093906, de 19/09/2019, pág. 22/69
9/35 ção (por exemplo, texturas de customização, sons, etc.), dentre outras informações. Em alguns exemplos, o aplicativo de criação 108 pode ser um aplicativo baseado na web, em que um dispositivo de computação de um usuário pode acessar o aplicativo de criação 108 com a utilização de um navegador da web. Em outros exemplos, o aplicativo de criação 108 pode ser um aplicativo executável, que pode ser recuperado e executado pelo dispositivo de computação do usuário.
[0026] O aplicativo de tela de exibição 110 pode ser utilizado para gerar, visualizar, explorar, e/ou interagir com o ambiente 3D com base em um arquivo de dados de ambiente. Em um exemplo, o aplicativo de tela de exibição 110 pode ser um aplicativo baseado na web, em que o dispositivo de computação de um usuário pode acessar o aplicativo de tela de exibição 110 com a utilização de um navegador da web. Em outros exemplos, o aplicativo de tela de exibição 110 pode ser um aplicativo executável, que pode ser recuperado e executado pelo dispositivo de computação de um usuário. De acordo com aspectos divulgados nesse documento, o aplicativo de tela de exibição pode avaliar um arquivo de dados de ambiente para identificar um ou mais modelos de um ambiente 3D. Se um arquivo de dados de ambiente fizer referência a uma pluralidade de modelos, os modelos podem ser costurados em conjunto na renderização do ambiente 3D. O aplicativo de tela de exibição 110 pode popular o ambiente 3D renderizado com conteúdo em vários pontos de conteúdo de um ou mais modelos, com base no conteúdo especificado pelo arquivo de dados de ambiente. Em um exemplo, o aplicativo de tela de exibição 110 pode utilizar qualquer de uma variedade de motores de renderização 3D e pode manipular detalhes de implementação específica de motor e/ou de dispositivo quando estiver renderizando o ambiente 3D, de modo que o autor do arquivo de dados de ambiente não necessite estar familiarizado com as idiossincrasias específicas do motor e/ou do dispositivo.
Petição 870190093906, de 19/09/2019, pág. 23/69
10/35 [0027] O armazenamento de dados de modelo 112 pode armazenar um ou mais modelos que podem ser utilizados para criar e/ou gerar um ambiente 3D. Em um exemplo, os modelos armazenados pelo armazenamento de dados de modelo 112 podem ser associados com um ou mais temas, de modo tal que um usuário do aplicativo de criação 108 possa selecionar um tema e ao mesmo possam ser apresentados modelos que estão associados com o tema selecionado. Em alguns exemplos, um conjunto de modelos pode ser armazenado pelo armazenamento de dados de modelo 112, em que diferentes tipos de sala podem ser predefinidos como parte do conjunto. O conjunto de modelos pode ser projetado de tal modo a costurar um modelo em conjunto com outro modelo do mesmo conjunto o que pode formar um modelo aparentemente contínuo. Em outros exemplos, aspectos de um modelo armazenado no armazenamento de dados de modelo 112 podem ser gerados dinamicamente ou programaticamente. Em um exemplo, um modelo pode indicar que certos aspectos podem ser substituídos dependendo do modelo com o qual ele possa ser costurado. Como um exemplo, um primeiro modelo pode indicar que uma parede ou um arco possa ser substituído por uma porta, de tal modo que um ponto de entrada do segundo modelo possa ser costurado ao primeiro modelo na porta. Será apreciado que outra substituição ou técnicas de geração de modelo possam ser utilizadas sem que se separe do espírito desta descrição.
[0028] O armazenamento de dados de ambientes criados 114 pode armazenar um ou mais arquivos de dados de ambiente. Em alguns exemplos, um “arquivo de dados de ambiente” como é utilizado neste documento pode ser um arquivo em um sistema de arquivos, uma entrada em um banco de dados, ou pode ser armazenado com a utilização de qualquer de uma variedade de outras técnicas de armazenamento de dados. Um ambiente 3D criado pelo aplicativo de criação
Petição 870190093906, de 19/09/2019, pág. 24/69
11/35
108 pode ser armazenado no armazenamento de dados de ambientes criados 114. Em um exemplo, onde o aplicativo de criação 108 é um aplicativo executado localmente, pelo menos uma parte do arquivo de dados de ambiente pode ser recebida de um dos dispositivos de computação 102 e 104, e armazenada com a utilização do armazenamento de dados de ambientes criados. Em alguns exemplos, o aplicativo de tela de exibição 110 pode recuperar um arquivo de dados de ambiente a partir do armazenamento de dados de ambientes criados 114, que, em conjunto com um ou mais modelos provenientes do armazenamento de dados de modelo 112, pode ser utilizado para gerar um ambiente 3D. Em um exemplo onde o aplicativo de tela de exibição é um aplicativo executado localmente, um armazenamento de dados de modelo pode ser armazenado localmente e/ou remotamente com relação ao dispositivo que executa o aplicativo, e pelo menos uma parte de um arquivo de dados de ambiente pode ser recuperada de um armazenamento de dados de ambientes criados 114. Em alguns exemplos, o arquivo de dados pode ser transmitido ou recuperado em blocos, de modo a reduzir o consumo de banda e/ou melhorar a capacidade de resposta. Será apreciado que outro armazenamento de dados e/ou técnicas de recuperação possam ser utilizados sem que se separem do espírito desta descrição.
[0029] Os aplicativos 116 e 118 dos dispositivos de computação 102 e 104, respectivamente, podem ser quaisquer de uma variedade de aplicativos. Em um exemplo, os aplicativos 116 e/ou 118 podem ser um aplicativo de criação como descrito acima, em que um usuário do dispositivo de computação 102 e/ou 104 possa utilizar o aplicativo para criar um ambiente 3D descrito por um arquivo de dados de ambiente. Em alguns exemplos, o arquivo de dados de ambiente pode ser armazenado pelo armazenamento de dados de ambientes criados 114. Em um outro exemplo, os aplicativos 116 e/ou 118 podem ser um aplicati
Petição 870190093906, de 19/09/2019, pág. 25/69
12/35 vo de tela de exibição como descrito acima, que pode ser utilizado por um usuário do dispositivo de computação 102 e/ou 104 para visualizar, renderizar, e/ou explorar um ambiente 3D definido pelo menos em parte por um arquivo de dados de ambiente. Em outros exemplos, os dispositivos de computação 102 e/ou 104 podem compreender um armazenamento de dados de modelo semelhante ao armazenamento de dados de modelo 112 e/ou um armazenamento de dados de ambientes criados semelhante ao armazenamento de dados de ambientes criados 114. Em exemplos, um hardware de AR e/ou dispositivo de VR (não ilustrados) podem ser anexados aos dispositivos de computação 102 e/ou 104 e utilizados para visualizar e/ou envolver-se com um ambiente 3D renderizado. Por exemplo, um headset de AR ou de VR pode ser utilizado.
[0030] A FIG. 2 ilustra uma vista global de um exemplo de método 200 para a criação de um ambiente tridimensional com a utilização de uma representação bidimensional. Em um exemplo, aspectos do método 200 podem ser executados por um dispositivo de computação (por exemplo, os dispositivos de computação 102 e/ou 104 na FIG. 1), ou podem ser executados por um aplicativo de criação (por exemplo, o aplicativo de criação 108). O fluxo se inicia na operação 202, onde um padrão de ambiente pode ser selecionado. O padrão de ambiente pode definir uma sensação e/ou aparência geral do ambiente 3D (por exemplo, iluminação, esquema de cores, texturas, sons, localização, etc.). Por exemplo, um padrão de escritório pode ser selecionado, que pode ser utilizado para gerar um ambiente 3D que represente um escritório, um padrão de jardim pode ser selecionado para gerar um ambiente 3D que represente um espaço ao ar livre, etc.
[0031] Após selecionar o padrão de ambiente, o fluxo continua para a operação 204 onde uma seleção de modelo pode ser recebida. Como descrito neste documento, um ou mais modelos podem ser
Petição 870190093906, de 19/09/2019, pág. 26/69
13/35 apresentados a um usuário quando da criação de um ambiente 3D. Em alguns exemplos, um conjunto de modelos pode ser apresentado, em que um modelo do conjunto pode ter sido projetado para ser costurado em união com um outro modelo do conjunto, de modo que é gerado um modelo aparentemente contínuo. Como um exemplo, modelos em um conjunto podem ter cores, texturas, escala de objetos, ou temas semelhantes, etc. Em aspectos, o ambiente 3D pode compreender um ou mais modelos diferentes (por exemplo, salas, cenas, etc.).
[0032] O fluxo progride para a operação 206, onde um ponto de conteúdo pode ser selecionado dentro do modelo selecionado. Como descrito acima, um modelo pode compreender um ou mais pontos de conteúdo, que podem ser utilizados para exibir ou fornecer conteúdo em diferentes posições dentro do modelo. Após a seleção de um ponto de conteúdo, um menu pode ser gerado que exibe diferentes tipos de conteúdo que podem ser posicionados no ponto de conteúdo selecionado. Como um exemplo, um usuário pode selecionar um conteúdo que se relaciona com objetos 3D, vídeos, imagens, documentos, apresentações, planilhas, coleções de objetos, e algo semelhante. O menu exibido na operação 206 pode ser operável para receber entradas de usuário que compreendem uma seleção de um ou mais tipos de conteúdo para ser posicionado no ponto de conteúdo selecionado. Em alguns exemplos, vários pontos de conteúdo podem ser selecionados, tanto separadamente como em conjunto, de modo tal que o conteúdo pode ser associado com vários pontos de conteúdo do modelo selecionado na operação 206.
[0033] Em vários aspectos, um ambiente 3D pode compreender vários modelos interconectados. O fluxo continua para a determinação 208 onde é determinado se um modelo adicional deve ser adicionado ao ambiente 3D. Em um exemplo, a determinação pode compreender
Petição 870190093906, de 19/09/2019, pág. 27/69
14/35 a determinação de se o usuário forneceu uma indicação de que um outro modelo deve ser adicionado. Em adição ao recebimento de uma seleção de um novo modelo, um posicionamento do modelo em relação a um ou mais modelos existentes também pode ser recebida. Em um aspecto, um elemento de interface de usuário pode ser posicionado próximo a um ponto de ancoragem para um modelo existente. Após a seleção do elemento de interface de usuário, um menu pode ser exibido que ilustra os tipos de modelos que podem se conectados ao modelo existente no ponto de ancoragem. Os modelos selecionáveis podem ter esquemas individuais e, em aspectos, podem ter várias variantes diferentes (por exemplo, nenhuma porta, uma porta, duas portas, circular, quadrado, área interna, área externa, etc.). O menu pode ser operacional para receber uma seleção de um modelo a partir do menu. Após a recepção da seleção, um novo modelo pode ser conectado ao modelo existente no ponto de ancoragem. Se um modelo adicional é selecionado, o fluxo segue para a ramificação “SIM” e retorna para a operação 204. O fluxo pode, em seguida, realizar o ciclo entre as operações 204 e 208, de modo que adiciona tantos modelos ao ambiente 3D quantos forem desejados pelo usuário.
[0034] No entanto, se nenhuma sala adicional for adicionada, ao invés disso o fluxo segue para a ramificação “NÃO” para a operação 210. Na operação 210, um arquivo de dados de ambiente que descreve o ambiente 3D criado pode ser gerado. Em um exemplo, o arquivo de dados de ambiente pode armazenar informações relativas a um ou mais modelos selecionados e/ou conteúdos selecionados para os pontos de conteúdo dos modelos. O arquivo de dados de ambiente pode ser utilizado por um aplicativo de tela de exibição para renderizar um ambiente 3D de acordo com os aspectos divulgados neste documento. Em alguns exemplos, o arquivo de dados de ambiente pode compreender recursos de computação para utilizar ao renderizar o ambiente
Petição 870190093906, de 19/09/2019, pág. 28/69
15/35
3D ou os recursos podem ser recuperados a partir de um servidor ou outra localização remota, dentre outros exemplos.
[0035] Movendo para a operação 212, o arquivo de dados de ambiente pode ser armazenado. O armazenamento do arquivo de dados de ambiente pode compreender a geração de um ou mais arquivos de saída ou uma entrada em um banco de dados, dentre outras técnicas de armazenamento. Em alguns exemplos, o arquivo de dados de ambiente pode ser fornecido a um armazenamento de dados de ambientes criados para serem acessados por outros usuários, tal como o armazenamento de dados de ambientes criados 114 na FIG. 1. O fluxo termina na operação 212. Neste sentido, o método permite que um usuário que não possua uma experiência 3D técnica possa projetar e criar um ambiente 3D.
[0036] A FIG. 3 ilustra uma vista global de um exemplo de método 300 para a geração de um ambiente tridimensional. Em um exemplo, aspectos do método 300 podem ser executados por um dispositivo de computação (por exemplo, os dispositivos de computação 102 e/ou 104 da FIG. 1), ou podem ser executados por um aplicativo de tela de exibição (por exemplo, o aplicativo de tela de exibição 110). O fluxo se inicia na operação 302, onde um arquivo de dados de ambiente pode ser recuperado. O arquivo de dados de ambiente pode ser recuperado a partir de um armazenamento de dados remoto ou local. Em alguns exemplos, o arquivo de dados de ambiente pode ser recuperado a partir de um armazenamento de dados de ambientes criados, tal como o armazenamento de dados de ambientes criados 114 da FIG. 1. Em alguns exemplos, somente uma parte do arquivo de dados de ambiente pode ser recuperada inicialmente, enquanto as partes subsequentes podem ser recuperadas tanto via solicitação ou com base em recursos de computação disponíveis, dentre outros exemplos.
[0037] O fluxo progride para a operação 304, onde um modelo po
Petição 870190093906, de 19/09/2019, pág. 29/69
16/35 de ser identificado no arquivo de dados de ambiente recuperado. Em um exemplo, o modelo pode ser especificado por um identificador de modelo, um nome de modelo, etc. Em um outro exemplo, o modelo pode estar associado com outras informações, incluindo, mas não se limitando a, um número de entradas ou saídas, ou um tema. Em alguns exemplos, o modelo pode ser selecionado a partir do arquivo de dados de ambiente com base na proximidade do modelo à posição do usuário no ambiente 3D ou com base em um tempo esperado para adquirir os recursos exigidos para renderizar o modelo, dentre outros critérios.
[0038] Na operação 306, uma representação 3D do modelo pode ser renderizada no ambiente 3D. A renderização do modelo pode compreender o acesso a recursos associados com o modelo. Em um exemplo, os recursos podem ser armazenados local ou remotamente, ou em uma combinação dos mesmos. Em alguns exemplos, um motor de renderização de terceiros pode ser utilizado para renderizar o ambiente. Em alguns exemplos, um modelo pode ser ajustado ou modificado antes ou durante a renderização. Como um exemplo, entradas e/ou saídas podem ser dinamicamente atualizadas de acordo com os aspectos divulgados neste documento. Em um outro exemplo, as cores, iluminação, ou texturas de um modelo podem ser alteradas. Será apreciado que qualquer uma de uma variedade de técnicas de renderização pode ser utilizada sem que se separe do espírito desta descrição.
[0039] Movendo para a operação 308, os pontos de conteúdo do modelo podem ser populados com conteúdo conforme indicado pelo arquivo de dados de ambiente. Como um exemplo, uma representação 2D do conteúdo pode ser gerada para um documento, uma página da web, ou outro conteúdo bidimensional. Em um outro exemplo, um objeto 3D pode ser renderizado como flutuando no modelo ou pode ser
Petição 870190093906, de 19/09/2019, pág. 30/69
17/35 posicionado em um pedestal, entre outros conteúdos. Pelo menos uma parte do conteúdo pode ser armazenada pelo arquivo de dados de ambiente, pode ser armazenada localmente em qualquer outro local no dispositivo, ou pode ser recuperada a partir de uma localização remota.
[0040] Na determinação 310, pode ser determinado se o arquivo de dados de ambiente contém um outro modelo. Em alguns exemplos, a determinação pode adicionalmente compreender a avaliação dos recursos de computação disponíveis, em que o fluxo pode pausar na determinação 310 de tal modo que os recursos de computação possam estar dedicados para a renderização de outras partes do ambiente 3D, dentre outras operações. Se for determinado que o arquivo de dados de ambiente não contém um outro modelo, o fluxo segue para a ramificação “NÃO” para a operação 316, onde o ambiente 3D renderizado pode ser apresentado ao usuário. Em alguns exemplos, pelo menos um ambiente parcialmente renderizado pode ser apresentado para o usuário mais cedo no método 300. Em algus exemplos, o usuário pode ser inicialmente posicionado em uma sala de boas vindas ou em uma localização predefinida no ambiente 3D. O fluxo termina na operação 316.
[0041] Se, no entanto, for determinado na determinação 310 que o arquivo de dados de ambiente compreende um modelo adicional, em vez disso o fluxo segue para a ramificação “SIM” para a operação 312, onde o próximo modelo pode ser identificado pelo arquivo de dados de ambiente. Em um exemplo, o modelo pode ser especificado por um identificador de modelo, um nome de modelo, etc. Em um outro exemplo, o modelo pode estar associado com outras informações, incluindo, mas não se limitando a, um número de entradas ou saídas, ou um tema. Em alguns exemplos, o modelo pode ser selecionado a partir do arquivo de dados de ambiente com base na proximidade do modelo
Petição 870190093906, de 19/09/2019, pág. 31/69
18/35 com a posição do usuário no ambiente 3D ou com base em urn tempo esperado para a aquisição dos recursos exigidos para a renderização do modelo, dentre outros critérios.
[0042] O fluxo progride para a operação 314, onde o modelo recém-identificado pode ser costurado com o modelo precedente. Em um exemplo, pontos de ancoragem de ambos os modelos podem ser identificados e utilizados para determinar a localização na qual o próximo modelo deve ser renderizado. Por exemplo, um ponto de ancoragem de saída do modelo precedente pode ser identificado e utilizado para determinar uma localização para um ponto de ancoragem de entrada do novo modelo. Em outros exemplos, um modelo pode ser ajustado (por exemplo, substituindo uma parede por uma porta, refinando as texturas, alterando a escala, etc.). Será apreciado que outras operações possam ser executadas para costurar os dois modelos sem que se separe do espírito desta descrição. O fluxo, em seguida, se move para a operação 306, onde o novo modelo pode ser renderizado no ambiente 3D, de acordo com as determinações de costura provenientes da operação 314. O fluxo, em seguida, continua através das operações 308 e 310, com base no modelo recém-identificado. Eventualmente, nenhum modelo adicional será apresentado para a renderização e o fluxo terminará na operação 316 como discutido acima.
[0043] A FIG. 4 ilustra uma vista global de um exemplo de interface de usuário 400 para a criação de um ambiente tridimensional com a utilização de modelos bidimensionais. O exemplo de ambiente 3D mostrado na interface de usuário 400 compreende três modelos diferentes, que, no exemplo imediato, são salas: sala 402, 404 e 406. Em um exemplo, a estrela 426 indica uma posição inicial para a perspectiva de um usuário quando o ambiente 3D é inicialmente renderizado. Em alguns exemplos, a posição inicial pode ser móvel com a utilização da interface de usuário 400, enquanto, em outros exemplos, um tipo
Petição 870190093906, de 19/09/2019, pág. 32/69
19/35 de sala de “boas vindas” pode especificar uma posição inicial do usuário no ambiente 3D.
[0044] Conforme ilustrado, as salas 402, 404 e 406 compreendem um ou mais pontos de conteúdo, tais como o ponto de conteúdo 416. O ponto de conteúdo 416 é ilustrado como uma marca de verificação, pelo que indica que um conteúdo está associado com o ponto de conteúdo 416. Por contraste, o ponto de conteúdo 408 é ilustrado como um sinal de positivo escuro (se comparado aos pontos de conteúdo sem associação, cinzas) para indicar que o ponto de conteúdo 408 está atualmente selecionado. Em resposta à seleção, o menu 410 que exibe diferentes tipos de conteúdo disponível pode ser visualizado. Será apreciado que enquanto o menu 410 é ilustrado como a fornecer três opções de conteúdo, qualquer de uma variedade de conteúdo pode ser selecionada como discutido em detalhes adicionais acima. Após o recebimento de uma seleção de um dos tipos de conteúdo disponíveis por meio do menu 410, o conteúdo selecionado pode ser posicionado no ponto de conteúdo 408.
[0045] Os pontos de ancoragem 418, 420, 422 e 424 podem indicar os pontos de ancoragem para as salas 402, 404 e 406. Enquanto os pontos de ancoragem podem não ser visíveis quando o ambiente 3D é finalmente renderizado, a interface de usuário 400 pode exibir os pontos de ancoragem de entrada 418 e 424 junto aos pontos de ancoragem de saída 418 e 422 com o objetivo de ilustrar o fluxo do ambiente 3D e fornecer uma indicação de como as salas 402, 404 e 406 se ajustam em conjunto.
[0046] A interface de usuário 400 também pode incluir um ou mais elementos de interface de usuário que contribuem para a adição de um novo modelo ao ponto de conexão de um modelo existente. Por exemplo, o elemento de interface de usuário 412 pode ser operacional para receber uma seleção para adicionar uma nova sala. Após o rece
Petição 870190093906, de 19/09/2019, pág. 33/69
20/35 bimento de uma seleção no elemento de interface de usuário 412, uma sala de menu 414 pode ser exibida. A sala de menu 414 pode exibir um ou mais tipos diferentes de salas que podem ser conectadas aos pontos de conexão. Após a recepção de uma seleção de uma sala na sala de menu 414, uma nova sala pode ser adicionada à representação 2D exibida do ambiente 3D. Enquanto exemplos de salas e modelos são discutidos neste documento, será apreciado que qualquer de uma variedade de tipos de modelo e/ou sala possa ser utilizado sem que se separe do espírito desta descrição.
[0047] A FIG. 5 ilustra um exemplo de vista 500 dentro de um ambiente tridimensional. Em um exemplo, a vista 500 pode ser uma vista gerada com base em um arquivo de dados de ambiente de acordo com os aspectos divulgados neste documento. A vista 500 pode ser uma perspectiva do usuário dentro de um modelo (por exemplo, a sala 402 na FIG. 4) de um ambiente 3D, de tal modo que um autor do ambiente 3D possa ter especificado que o conteúdo 502 e 504 deve ser apresentado ao usuário nos pontos de conteúdo do modelo.
[0048] As FIGS. 6-9 e as descrições associadas fornecem uma discussão sobre uma variedade de ambientes operacionais nos quais aspectos da descrição podem ser praticados. No entanto, os dispositivos e sistemas ilustrados e discutidos com relação às FIGS. 6-9 são à título de exemplo e ilustração e não são limitantes de um vasto número de configurações de dispositivos de computação que podem ser utilizados para praticar os aspectos da descrição, descritos neste documento.
[0049] A FIG. 6 é um diagrama de blocos que ilustra componentes físicos (por exemplo, hardware) de um dispositivo de computação 600 com o qual os aspectos da descrição podem ser praticados. Os componentes de dispositivos de computação descritos abaixo podem ser adequados para os dispositivos de computação descritos acima, inclu
Petição 870190093906, de 19/09/2019, pág. 34/69
21/35 indo os dispositivos de computação 102 e 104 e o serviço de ambiente 3D 106. Em uma configuração básica, o dispositivo de computação 600 pode incluir pelo menos uma unidade de processamento 602 e uma memória de sistema 604. Dependendo da configuração e tipo de dispositivo de computação, a memória de sistema 604 pode compreender, mas não está limitada a, um armazenamento volátil (por exemplo, uma memória de acesso aleatória), um armazenamento não volátil (por exemplo, uma memória somente de leitura), uma memória flash, ou qualquer combinação de tais memórias.
[0050] A memória de sistema 604 pode incluir um sistema operacional 605 e um ou mais módulos de programas 606 adequados para executar o aplicativo de software 620, tal como um ou mais componentes suportados pelos sistemas descritos neste documento. Como exemplos, a memória de sistema 604 pode armazenar um aplicativo de criação 624 e um armazenamento de dados de ambiente 626. O sistema operacional 605, por exemplo, pode ser adequado para controlar a operação do dispositivo de computação 600.
[0051] Além disso, as modalidades da descrição podem ser praticadas em conjunto com bibliotecas de gráficos, outros sistemas operacionais, ou qualquer outro programa de aplicativo e não está limitada a qualquer sistema ou aplicativo particular. Esta configuração básica é ilustrada na FIG. 6 por aqueles componentes dentro de uma linha tracejada 608. O dispositivo de computação 600 pode ter recursos ou funcionalidades adicionais. Por exemplo, o dispositivo de computação 600 também pode incluir dispositivos de armazenamento de dados adicionais (removíveis e/ou não removíveis) tais como, por exemplo, discos magnéticos, discos óticos, ou fita. Tal armazenamento adicional é ilustrado na FIG. 6 por um dispositivo de armazenamento removível 609 e por um dispositivo de armazenamento não removível 610.
[0052] Como afirmado acima, um número de módulos de progra
Petição 870190093906, de 19/09/2019, pág. 35/69
22/35 ma e arquivos de dados pode ser armazenado na memória de sistema 604. Enquanto está em execução na unidade de processamento 602, os módulos de programa 606 (por exemplo, o aplicativo 620) podem executar processos que incluem, mas não se limitam a, os aspectos, conforme descrito neste documento. Outros módulos de programa que podem ser utilizados em concordância com os aspectos da presente descrição podem incluir correio eletrônico e aplicativos de contato, aplicativos de processamento de palavras, aplicativos de planilhas, aplicativos de banco de dados, aplicativos de apresentação de slides, programas de aplicativo de desenho ou auxiliado por computador, etc.
[0053] Além disso, as modalidades da descrição podem ser praticadas em um circuito elétrico que compreende elementos eletrônicos discretos, chips eletrônicos integrados ou empacotados contendo portas lógicas, um circuito que utiliza um microprocessador, ou um chip único contendo elementos eletrônicos ou microprocessadores. Por exemplo, as modalidades da descrição podem ser praticadas por meio de um sistema-em-um-chip (SOC) onde cada um ou vários dos componentes ilustrados na FIG. 6 podem estar integrados em um único circuito integrado. Um tal dispositivo SOC pode incluir uma ou mais unidades de processamento, unidades gráficas, unidades de comunicação, unidades de virtualização de sistema e várias funcionalidades de aplicativo, todas das quais estão integradas (ou “queimadas”) no substrato do chip como um único circuito integrado. Quando em funcionamento por meio de um SOC, a funcionalidade, descrita neste documento, com respeito à capacidade do cliente em comutar protocolos pode ser operada por meio de um aplicativo específico de lógica integrada com outros componentes no dispositivo de computação 600 no circuito integrado único (chip). As modalidades da descrição também podem ser praticadas com a utilização de outras tecnologias capazes de executar operações lógicas tais como, por exemplo, AND, OR, e
Petição 870190093906, de 19/09/2019, pág. 36/69
23/35
NOT, incluindo mas não estando limitado a tecnologias mecânicas, óticas, fluídicas, e quânticas. Em adição, as modalidades da descrição podem ser praticadas com um computador de propósito geral ou em quaisquer outros circuitos ou sistemas.
[0054] O dispositivo de computação 600 também pode ter um ou mais dispositivo(s) de entrada 612 tais como um teclado, um mouse, uma caneta, um dispositivo de entrada de som ou voz, um dispositivo de entrada de toque ou inserção, etc. O(s) dispositivo(s) de saída 614 tais como uma tela de exibição, autofalantes, uma impressora, etc., também podem ser incluídos. Os dispositivos acima mencionados são exemplares e outros podem ser utilizados. O dispositivo de computação 600 pode incluir uma ou mais conexões de comunicação 616 permitindo comunicações com outros dispositivos de computação 650. Exemplos de conexões de comunicação 616 adequadas incluem, mas não estão limitadas a, um transmissor de radiofrequência (RF), um receptor, e/ou um circuito transceptor; barramento seria universal (USB), portas seriais e/ou paralelas.
[0055] O termo meio legível por computador como utilizado neste documento pode incluir um meio de armazenamento por computador. O meio de armazenamento por computador pode incluir um meio removível ou não removível, volátil ou não volátil, implementado em qualquer método ou tecnologia para o armazenamento de informações, tais como instruções legíveis por computador, estruturas de dados, ou módulos de programas. A memória de sistema 604, o dispositivo de armazenamento removível 609, e o dispositivo de armazenamento não removível 610, são todos exemplos de meios de armazenamento por computador (por exemplo, armazenamento de memória). O meio de armazenamento por computador pode incluir RAM, ROM, memória somente de leitura eletricamente apagável (EEPROM), memória flash ou outra tecnologia de memória, CD-ROM, disco versátil
Petição 870190093906, de 19/09/2019, pág. 37/69
24/35 digital (DVD) ou outro armazenamento ótico, fitas cassetes magnéticas, fita magnética, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro artigo de fabricação que possa ser utilizado para armazenar informação e que possa ser acessado pelo dispositivo de computação 600. Qualquer um desses meios de armazenamento por computador pode ser parte de um dispositivo de computação 600. O meio de armazenamento por computador não inclui uma onda portadora ou outro sinal de dados modulado ou propagado.
[0056] O meio de comunicação pode ser incorporado pelas instruções legíveis por computador, estruturas de dados, módulos de programas, ou outros dados em um sinal de dados modulado, tal como uma onda portadora ou outro mecanismo de transporte, e inclui qualquer meio de entrega de informações. O termo “sinal de dados modulado” pode descrever um sinal que tenha uma ou mais características definidas ou alteradas em uma tal maneira a codificar uma informação no sinal. A título de exemplo, e não de limitação, o meio de comunicação pode incluir um meio cabeado tal como uma rede de cabos ou uma conexão diretamente cabeada, e um meio sem fios tal como um acústico, por radiofrequência (RF), infravermelho, e outros meios sem fios.
[0057] As FIGS. 7A e 7B ilustram um dispositivo de computação móvel 700, por exemplo, um telefone móvel, um smartphone, um “computador vestivel’Vwearable computer (tal como um smart watch), um computador tablet, um computador laptop, e algo semelhante, com os quais as modalidades da descrição podem ser praticadas. Em alguns aspectos, o cliente pode ser um dispositivo de computação móvel. Com referência à FIG. 7A, um aspecto de um dispositivo de computação móvel 700 para a implementação dos aspectos é ilustrado. Em uma configuração básica, o dispositivo de computação móvel 700
Petição 870190093906, de 19/09/2019, pág. 38/69
25/35 é um computador de mão tendo ambos os elementos de entrada e os elementos de saída. O dispositivo de computação móvel 700 normalmente inclui uma tela de exibição 705 e um ou mais botões de entrada 710 que permitem ao usuário inserir informações no dispositivo de computação móvel 700. A tela de exibição 705 do dispositivo de computação móvel 700 também pode funcionar como um dispositivo de entrada (por exemplo, uma tela de exibição de tela de toque).
[0058] Se incluído, um elemento de entrada lateral opcional 715 permite entradas de usuário adicionais. O elemento de entrada lateral 715 pode ser um comutador rotatório, um botão, ou qualquer outro tipo de elemento de entrada manual. Em aspectos alternativos, o dispositivo de computação móvel 700 pode incorporar mais ou menos elementos de entrada. Por exemplo, a tela de exibição 705 pode não ser uma tela sensível ao toque em algumas modalidades.
[0059] Em ainda uma outra modalidade alternativa, o dispositivo de computação móvel 700 é um sistema de telefone portátil, tal como um telefone celular. O dispositivo de computação móvel 700 também pode incluir um teclado opcional 735. O teclado opcional 735 pode ser um teclado físico ou um teclado “soft” gerado sobre a tela de exibição de tela sensível ao toque.
[0060] Em várias modalidades, os elementos de saída incluem a tela de exibição 705 para exibir a interface gráfica de usuário (GUI), um indicador visual 720 (por exemplo, um diodo emissor de luz), e/ou um transdutor de áudio 725 (por exemplo, um autofalante). Em alguns aspectos, o dispositivo de computação móvel 700 incorpora um transdutor de vibração para fornecer ao usuário uma resposta tátil. Em ainda um outro aspecto, o dispositivo de computação móvel 700 incorpora portas de entrada e/ou saída, tais como uma entrada de áudio (por exemplo, um jack de microfone), e uma saída de áudio (por exemplo, um jack de fones de ouvido), e uma saída de vídeo (por exemplo, uma
Petição 870190093906, de 19/09/2019, pág. 39/69
26/35 porta HDMI) para enviar sinais ou receber sinais de um dispositivo externo.
[0061] A FIG. 7B é um diagrama de blocos que ilustra a arquitetura de um aspecto de um dispositivo de computação móvel. Ou seja, o dispositivo de computação móvel 700 pode incorporar um sistema (por exemplo, uma arquitetura) 702 para implementar alguns aspectos. Em uma modalidade, o sistema 702 é implementado como um “smartphone” capaz de executar um ou mais aplicativos (por exemplo, um navegador, email, calendário, gerenciamento de contatos, clientes de mensagem, jogos, e players/clientes de mídia). Em alguns aspectos, o sistema 702 é integrado como um dispositivo de computação, tal como um assistente digital pessoal integrado (PDA) e um telefone sem fio.
[0062] Um ou mais programas de aplicativos 766 podem ser carregados na memória 762 e ser executados sobre ou em associação com o sistema operacional 764. Exemplos dos programas de aplicativos incluem programas de discador telefônico, programas de email, programas de gerenciamento de informação pessoal (PIM), programas de processamento de palavras, programas de planilhas, programas de navegador de Internet, programas de mensagem, e assim por diante. O sistema 702 também inclui uma área de armazenamento não volátil 768 dentro da memória 762. A área de armazenamento não volátil 768 pode ser utilizada para armazenar informações persistentes que não devem ser perdidas se o sistema 702 for desligado. Os programas de aplicativos 766 podem utilizar e armazenar informações na área de armazenamento não volátil 768, tal como email ou outras mensagens utilizadas por um aplicativo de email, e algo semelhante. Um aplicativo de sincronização (não mostrado) também reside no sistema 702 e é programado para interagir com um aplicativo de sincronização correspondente residente em um computador hospedeiro para manter a informação armazenada na área de armazenamento não volátil 768 sin
Petição 870190093906, de 19/09/2019, pág. 40/69
27/35 cronizada com a informação correspondente armazenada no computador hospedeiro. Como deve ser apreciado, outros aplicativos podem ser carregados na memória 762 e ser executados no dispositivo de computação móvel 700 descrito neste documento (por exemplo, motores de busca, módulo extrator, módulo de ranqueamento de relevância, módulo de pontuação de resposta, etc.).
[0063] O sistema 702 tem uma fonte de energia 770, que pode ser implementada como uma ou mais baterias. A fonte de energia 770 pode adicionalmente incluir uma fonte de energia externa, tal como um adaptador de CA ou uma base de carregamento energizada que suplemente ou recarregue as baterias.
[0064] O sistema 702 também pode incluir uma camada de interface de rádio 772 que executa a função de transmissão e recepção de comunicações de radiofrequência. A camada de interface de rádio 772 facilita a conectividade sem fios entre o sistema 702 e o “mundo exterior”, por meio de um transportador de comunicação ou um provedor de serviços. As transmissões para e de a camada de interface de rádio 722 são conduzidas sob o controle do sistema operacional 764. Em outras palavras, as comunicações recebidas pela camada de interface de rádio 772 podem ser disseminadas para os programas de aplicativos 766 por meio do sistema operacional 764, e vice-versa.
[0065] O indicador visual 720 pode ser utilizado para fornecer notificações visuais, e/ou uma interface de áudio 774 pode ser utilizada para produzir notificações audíveis por meio do transdutor de áudio 725. Na modalidade ilustrada, o indicador visual 720 é um diodo emissor de luz (LED) e o transdutor de áudio 725 é um autofalante. Estes dispositivos podem ser acoplados diretamente à fonte de energia 770 para que quando ativados, eles permaneçam ligados por uma duração ditada pelo mecanismo de notificação mesmo que o processador 760 e outros componentes possam desligar para conservar energia da ba
Petição 870190093906, de 19/09/2019, pág. 41/69
28/35 teria. 0 LED pode ser programado para permanecer ligado indefinidamente até que o usuário tome alguma ação para indicar o estado ligado do dispositivo. A interface de áudio 774 é utilizada para fornecer sinais audíveis para e receber sinais audíveis do usuário. Por exemplo, em adição a estar acoplada ao transdutor de áudio 725, a interface de áudio 774 também pode estar acoplada a um microfone para receber uma entrada audível, de modo a facilitar uma conversa telefônica. Em concordância com modalidades da presente descrição, o microfone também pode servir como um sensor de áudio para facilitar o controle das notificações, como será descrito abaixo. O sistema 702 pode adicionalmente incluir uma interface de vídeo 776 que habilita uma operação de uma câmera de bordo 730 para gravar imagens estáticas, fluxo de vídeo, e similares.
[0066] Um dispositivo de computação móvel 700 implementando o sistema 702 pode ter funcionalidades ou recursos adicionais. Por exemplo, o dispositivo de computação móvel 700 também pode incluir dispositivos de armazenamento de dados adicionais (removíveis e/ou não removíveis) tais como, discos magnéticos, discos óticos, ou fitas. Tal armazenamento adicional é ilustrado na FIG. 7B pela área de armazenamento não volátil 768.
[0067] Os dados/informações gerados ou capturados pelo dispositivo de computação móvel 700 e armazenados por meio do sistema 702 podem ser armazenados localmente no dispositivo de computação móvel 700, como descrito acima, ou os dados podem ser armazenados em qualquer número de mídias de armazenamento que possam ser acessadas pelo dispositivo por meio da camada de interface de rádio 772 ou por meio de uma conexão cabeada entre o dispositivo de computação móvel 700 e um dispositivo de computação separado associado com o dispositivo de computação móvel 700, por exemplo, um computador servidor em uma rede de computação distribuída, tal co
Petição 870190093906, de 19/09/2019, pág. 42/69
29/35 mo a Internet. Como deve ser apreciado tais dados/informações podem ser acessados por meio do dispositivo de computação móvel 700 por meio de uma camada de interface de rádio 772 ou por meio de uma rede de computação distribuída. De modo semelhante, tais dados/informações podem ser prontamente transferidos entre os dispositivos de computação para o armazenamento e a utilização de acordo com os meios de armazenamento e transferência de dados/informações bem conhecidos, incluindo o correio eletrônico e sistemas de compartilhamento de dados/informações colaborativos.
[0068] A FIG. 8 ilustra um aspecto da arquitetura de um sistema para o processamento de dados recebidos em um sistema de computação a partir de uma fonte remota, tal como um computador pessoal 804, um dispositivo de computação tablet 806, ou um dispositivo de computação móvel 808, como descrito acima. O conteúdo exibido no dispositivo servidor 802 pode ser armazenado em diferentes canais de comunicação ou outros tipos de armazenamento. Por exemplo, vários documentos podem ser armazenados com a utilização de um serviço de diretório 822, um portal da web 824, um serviço de caixa de correio 826, um armazenamento de mensagem instantânea 828, ou um site de rede social 830.
[0069] Um aplicativo de tela de exibição de ambiente 820 pode ser empregado por um cliente que se comunica com o dispositivo servidor 802, e/ou o armazenamento de dados de ambiente 3D 821 pode ser empregado pelo dispositivo servidor 802. O dispositivo servidor 802 pode fornecer dados para e a partir de um dispositivo de computação do cliente tal como um computador pessoal 804, um dispositivo de computação tablet 806, e/ou um dispositivo de computação móvel 808 (por exemplo, um smartphone) através da rede 815. A título de exemplo, o sistema de computador descrito acima pode ser incorporado em um computador pessoal 804, um dispositivo de computação tablet 806,
Petição 870190093906, de 19/09/2019, pág. 43/69
30/35 e/ou um dispositivo de computação móvel 808 (por exemplo, um smartphone). Qualquer uma dessas modalidades do dispositivo de computação pode obter conteúdo a partir do armazenamento 816, em adição à recepção de dados gráficos utilizáveis para serem tanto processados em um sistema de origem de gráficos, ou pós-processados em um sistema de computação receptor.
[0070] A FIG. 9 ilustra um exemplo de dispositivo de computação tablet 900 que pode executar um ou mais aspectos divulgados neste documento. Em adição, os aspectos e funcionalidades descritos neste documento podem operar em sistemas distribuídos (por exemplo, sistemas de computação baseados em nuvem), onde a funcionalidade do aplicativo, memória, armazenamento e recuperação de dados, e várias funções de processamento podem ser operadas remotamente, umas das outras, através de uma rede de computação distribuída, tal como a Internet ou uma intranet. Interfaces de usuário e informações de vários tipos podem ser exibidas por meio de telas de exibição a bordo de dispositivos de computação ou por meio de unidades de tela de exibição remotas associadas com um ou mais dispositivos de computação. Por exemplo, as interfaces de usuário e informações de vários tipos podem ser exibidas e sofrerem interação com uma superfície de parede sobre a qual as interfaces de usuário e informações de vários tipos são projetadas. A interação com uma multiplicidade de sistemas de computação com os quais as modalidades da invenção podem ser praticadas incluem, entrada de dados via teclas, entrada de dados via tela sensível ao toque, entrada de dados via voz ou outro áudio, entrada de dados via gestos onde um dispositivo de computação associado é equipado com uma funcionalidade de detecção (por exemplo, uma câmera) para capturar e interpretar os gestos do usuário para controlar as funcionalidades do dispositivo de computação, e algo semelhante.
[0071] Como será compreendido a partir da descrição precedente,
Petição 870190093906, de 19/09/2019, pág. 44/69
31/35 um aspecto da tecnologia se refere a um sistema que compreende: pelo menos um processador, e uma memória que armazena instruções que, quando executadas por ao menos um processador, faz com que o sistema execute um conjunto de operações. O conjunto de operações compreende: a recuperação de um arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende uma pluralidade de modelos para um ambiente tridimensional (3D); a geração, no ambiente 3D, de uma primeira representação 3D de um primeiro modelo da pluralidade de modelos, em que o primeiro modelo está associado com um ponto de ancoragem de saída; a determinação de se o arquivo de dados de ambiente indica que um segundo modelo da pluralidade de modelos é adjacente ao primeiro modelo, em que o segundo modelo está associado com um ponto de ancoragem de entrada; e com base na determinação de que o segundo modelo é adjacente ao primeiro modelo, a geração de uma segunda representação 3D do segundo modelo, em que a representação do segundo modelo está posicionada no ambiente 3D de modo tal que o ponto de ancoragem de entrada associado com o segundo modelo é posicionado em proximidade ao ponto de entrada do primeiro modelo. Em um exemplo, a geração da primeira representação 3D do primeiro modelo compreende: a determinação de que o arquivo de dados de ambiente especifica um item de conteúdo associado com um ponto de conteúdo do primeiro modelo; e a geração de uma representação do item de conteúdo no ponto de conteúdo do primeiro modelo na primeira representação 3D. Em um outro exemplo, a geração da representação do item de conteúdo compreende a geração de uma solicitação para um recurso remoto associado com o item de conteúdo. Em um exemplo adicional, o conjunto de operações ainda compreende: a apresentação da representação 3D em uma tela de exibição de um dispositivo de usuário. Em ainda um outro exemplo, o primeiro modelo indica uma posição
Petição 870190093906, de 19/09/2019, pág. 45/69
32/35 inicial em uma perspectiva de um usuário, e em que a apresentação de uma representação 3D compreende a apresentação da representação 3D a partir da posição inicial para a perspectiva do usuário. Em ainda um exemplo adicional, a recuperação do arquivo de dados de ambiente compreende a solicitação de pelo menos uma parte do arquivo de dados de ambiente a partir de um armazenamento de dados remoto. Em um outro exemplo, o primeiro modelo e o segundo modelo compreendem um conjunto de modelos tendo um tema semelhante.
[0072] Em um outro aspecto, a tecnologia se relaciona com um método para a geração de um arquivo de dados de ambiente que representa um ambiente tridimensional (3D). O método compreende: o recebimento de uma seleção de usuário de um padrãode ambiente para o ambiente 3D; o recebimento de uma seleção de usuário de um primeiro modelo, em que o primeiro modelo está associado com o padrão de ambiente selecionado; a apresentação de uma tela de exibição bidimensional (2D) do primeiro modelo, em que a tela de exibição 2D compreende a tela de exibição de um ou mais pontos de conteúdo do primeiro modelo; o recebimento de uma seleção de usuário de um ponto de conteúdo a partir de um ou mais pontos de conteúdo que indicam um conteúdo a ser exibido no ponto de conteúdo selecionado; e a geração do arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende informações sobre o padrão de ambiente selecionado, o primeiro modelo, e o ponto de conteúdo selecionado, em que o ponto de conteúdo selecionado está associado com o conteúdo indicado. Em um exemplo, o método ainda compreende: a apresentação de uma tela de exibição de um ou mais modelos associados com o padrão de ambiente selecionado, em que o um ou mais modelos são exibidos com a utilização de representações 2D. Em um outro exemplo, o método ainda compreende: o recebimento de uma seleção de uma posição inicial para uma perspectiva de um usuário, em que a
Petição 870190093906, de 19/09/2019, pág. 46/69
33/35 seleção é localizada dentro do primeiro modelo; e o armazenamento da seleção recebida como parte do arquivo de dados de ambiente. Em um exemplo adicional, o método ainda compreende: o recebimento de uma seleção de um segundo modelo, em que a seleção compreende uma indicação de que o segundo modelo está posicionado adjacente ao primeiro modelo. Em ainda um outro exemplo, o arquivo de dados de ambiente compreende um identificador associado com o primeiro modelo e um identificador associado com o segundo modelo. Em ainda um exemplo adicional, o método ainda compreende: o armazenamento do arquivo de dados de ambiente gerado em um armazenamento de dados remoto para o acesso por um ou mais dispositivos de usuário.
[0073] Em um aspecto adicional, a tecnologia se relaciona a um método para a geração de um ambiente tridimensional (3D) com a utilização de um arquivo de dados de ambiente. O método compreende: a recuperação do arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende uma pluralidade de modelos para o ambiente 3D; a geração, no ambiente 3D, de uma primeira representação 3D de um primeiro modelo da pluralidade de modelos, em que o primeiro modelo está associado com um ponto de ancoragem de saída; a determinação de se o arquivo de dados de ambiente indica que um segundo modelo da pluralidade de modelos é adjacente ao primeiro modelo, em que o segundo modelo está associado com um ponto de ancoragem de entrada; e com base na determinação de que o segundo modelo é adjacente ao primeiro modelo, a geração de uma segunda representação 3D do segundo modelo, em que a representação do segundo modelo está posicionada no ambiente 3D de tal modo que o ponto de ancoragem de entrada associado com o segundo modelo está posicionado na proximidade do ponto de entrada do primeiro modelo. Em um exemplo, a geração da primeira representação 3D do
Petição 870190093906, de 19/09/2019, pág. 47/69
34/35 primeiro modelo compreende: a determinação de se o arquivo de dados de ambiente especifica um item de conteúdo associado com um ponto de conteúdo do primeiro modelo; e a geração de uma representação do item de conteúdo no ponto de conteúdo do primeiro modelo na primeira representação 3D. Em um outro exemplo, a geração da representação do item de conteúdo compreende a geração de uma solicitação para um recurso remoto associado com o item de conteúdo. Em um exemplo adicional, o método ainda compreende: a apresentação da representação 3D em uma tela de exibição de um dispositivo de usuário. Em ainda um outro exemplo, o primeiro modelo indica uma posição inicial para uma perspectiva de um usuário, e em que a apresentação da representação 3D compreende a apresentação da representação 3D a partir da posição inicial para a perspectiva do usuário. Em ainda um exemplo adicional, a recuperação do arquivo de dados de ambiente compreende a solicitação de pelo menos uma parte do arquivo de dados de ambiente a partir de um armazenamento de dados remoto. Em um outro exemplo, o primeiro modelo e o segundo modelo compreendem um conjunto de modelos tendo um tema semelhante.
[0074] Os aspectos da presente descrição, por exemplo, são descritos acima com referência ao diagrama de blocos e/ou as ilustrações operacionais de métodos, sistemas, e produtos de programa de computador de acordo com os aspectos da descrição. As funções/atos anotados nos blocos podem ocorrer fora da ordem como mostrada em qualquer fluxograma. Por exemplo, dois blocos mostrados em sucessão podem, de fato, ser executados substancialmente ao mesmo tempo ou os blocos podem, algumas vezes, ser executados na ordem reversa, dependendo da funcionalidade/atos envolvidos.
[0075] A descrição e ilustração de um ou mais aspectos fornecidos nessa solicitação não têm o intuito de limitar ou restringir o escopo da
Petição 870190093906, de 19/09/2019, pág. 48/69
35/35 descrição conforme reivindicado de qualquer maneira. Os aspectos, exemplos, e detalhes fornecidos neste pedido são considerados suficientes para expressar a posse e habilitar outros a fazerem e utilizarem o melhor modo da descrição reivindicada. A descrição reivindicada não deve ser construída como sendo limitada em qualquer aspecto, exemplo, ou detalhe fornecido nesta solicitação. Independentemente de se mostrado ou descrito em combinação ou separadamente, os vários recursos (ambos estruturais e metodológicos) são pretendidos que sejam seletivamente incluídos ou omitidos para produzir uma modalidade com um conjunto particular de recursos. Tendo sido fornecido com a descrição e ilustração da presente solicitação, um especialista na tecnologia pode prever variações, modificações, e aspectos alternativos que caiam dentro do espírito dos aspectos mais amplos do conceito inventivo geral incorporado nesta solicitação que não se separam do escopo mais amplo da descrição reivindicada.
Petição 870190093906, de 19/09/2019, pág. 49/69

Claims (15)

  1. REIVINDICAÇÕES
    1. Sistema, caracterizado pelo fato de que compreende: pelo menos um processador; e uma memória que armazena instruções que, quando executadas por ao menos um processador, faz com que o sistema execute um conjunto de operações, o conjunto de operações compreendendo:
    a recuperação de um arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende uma pluralidade de modelos para um ambiente tridimensional (3D);
    a geração, no ambiente 3D, de uma primeira representação 3D de um primeiro modelo da pluralidade de modelos, em que o primeiro modelo é associado com um ponto de ancoragem de saída;
    a determinação de que o arquivo de dados de ambiente indica que um segundo modelo da pluralidade de modelos é adjacente ao primeiro modelo, em que o segundo modelo é associado com um ponto de ancoragem de entrada; e com base na determinação de que o segundo modelo é adjacente ao primeiro modelo, a geração de uma segunda representação 3D do segundo modelo, em que a representação do segundo modelo é posicionada no ambiente 3D de modo tal que o ponto de ancoragem de entrada associado com o segundo modelo é posicionado em proximidade ao ponto de entrada do primeiro modelo.
  2. 2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a geração da primeira representação 3D do primeiro modelo compreende:
    a determinação de que o arquivo de dados de ambiente especifica um item de conteúdo associado com um ponto de conteúdo do primeiro modelo; e a geração de uma representação do item de conteúdo no
    Petição 870190093906, de 19/09/2019, pág. 50/69
    2/5 ponto de conteúdo do primeiro modelo na primeira representação 3D.
  3. 3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de operações ainda compreende:
    apresentar a representação 3D em uma tela de exibição de um dispositivo de usuário.
  4. 4. Método implementado por computador para a geração de um arquivo de dados de ambiente que representa um ambiente tridimensional (3D), caracterizado pelo fato de que compreende:
    receber uma seleção de usuário de um padrão de ambiente para um ambiente 3D;
    receber uma seleção de usuário de um primeiro modelo, em que o primeiro modelo está associado com o padrão de ambiente selecionado;
    apresentar uma tela de exibição bidimensional (2D) do primeiro modelo, em que a tela de exibição 2D compreende uma tela de exibição de um ou mais pontos de conteúdo do primeiro modelo;
    receber uma seleção de usuário de um ponto de conteúdo a partir de um ou mais pontos de conteúdo que indica um conteúdo para a tela de exibição no ponto de conteúdo selecionado; e gerar um arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende informações sobre o padrão de ambiente selecionado, o primeiro modelo, e o ponto de conteúdo selecionado, em que o ponto de conteúdo selecionado está associado com o conteúdo indicado.
  5. 5. Método implementado por computador, de acordo com a reivindicação 4, caracterizado pelo fato de que ainda compreende apresentar uma tela de exibição de um ou mais modelos associados com o padrão de ambiente selecionado, em que o um ou mais modelos são visualizados com a utilização de representações 2D.
    Petição 870190093906, de 19/09/2019, pág. 51/69
    3/5
  6. 6. Método implementado por computador, de acordo com a reivindicação 4, caracterizado pelo fato de que ainda compreende:
    receber uma seleção de um segundo modelo, em que a seleção compreende uma indicação de que o segundo modelo está posicionado adjacente ao primeiro modelo.
  7. 7. Método implementado por computador para a geração de um ambiente tridimensional (3D) com a utilização de um arquivo de dados de ambiente, caracterizado pelo fato de que compreende:
    recuperar o arquivo de dados de ambiente, em que o arquivo de dados de ambiente compreende uma pluralidade de modelos para o ambiente 3D;
    gerar, no ambiente 3D, uma primeira representação 3D de um primeiro modelo da pluralidade de modelos, em que o primeiro modelo está associado com um ponto de ancoragem de saída;
    determinar que o arquivo de dados de ambiente indique que um segundo modelo da pluralidade de modelos é adjacente ao primeiro modelo, em que o segundo modelo está associado com um ponto de ancoragem de entrada; e com base na determinação de que o segundo modelo é adjacente ao primeiro modelo, a geração de uma segunda representação 3D do segundo modelo, em que a representação do segundo modelo está posicionada no ambiente 3D de tal modo que o ponto de ancoragem de entrada associado com o segundo modelo está posicionado em proximidade com o ponto de entrada do primeiro modelo.
  8. 8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que ainda compreende:
    apresentar a representação 3D em uma tela de exibição de um dispositivo de usuário.
  9. 9. Método, de acordo com a reivindicação 8, caracterizado
    Petição 870190093906, de 19/09/2019, pág. 52/69
    4/5 pelo fato de que o primeiro modelo indica uma posição inicial na perspectiva do usuário, e de que a apresentação da representação 3D compreende a apresentação da representação 3D a partir da posição inicial na perspectiva do usuário.
  10. 10. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a recuperação do arquivo de dados de ambiente compreende a solicitação de, pelo menos, uma parte do arquivo de dados de ambiente a partir de um armazenamento de dados remoto.
  11. 11. Sistema, de acordo com a reivindicação 3, caracterizado pelo fato de que o primeiro modelo indica uma posição inicial na perspectiva do usuário, e em que a apresentação da representação 3D compreende a apresentação da representação 3D a partir da posição inicial na perspectiva do usuário.
  12. 12. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro modelo e o segundo modelo compreendem um conjunto de modelos tendo um tema semelhante.
  13. 13. Método implementado por computador, de acordo com a reivindicação 4, caracterizado pelo fato de que ainda compreende:
    receber uma seleção de uma posição inicial na perspectiva de um usuário, em que a seleção está localizada dentro do primeiro modelo; e armazenar a seleção recebida como parte do arquivo de dados de ambiente.
  14. 14. Método implementado por computador, de acordo com a reivindicação 6, caracterizado pelo fato de que o arquivo de dados de ambiente compreende um identificador associado com o primeiro modelo e um identificador associado com o segundo modelo.
  15. 15. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a geração da primeira representação 3D do primeiro modelo compreende:
    Petição 870190093906, de 19/09/2019, pág. 53/69
    5/5 determinar que o arquivo de dados de ambiente especifique um item de conteúdo associado com um ponto de conteúdo do primeiro modelo; e gerar uma representação do item de conteúdo no ponto de conteúdo do primeiro modelo na primeira representação 3D.
BR112019019556-4A 2017-04-25 2018-04-11 Sistema para gerar um ambiente de realidade virtual tridimensional, método implementado por computador para gerar um arquivo de dados de ambiente e método implementado por computador para gerar um ambiente de realidade virtual tridimensional BR112019019556B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762489904P 2017-04-25 2017-04-25
US62/489,904 2017-04-25
US15/636,125 2017-06-28
US15/636,125 US10388077B2 (en) 2017-04-25 2017-06-28 Three-dimensional environment authoring and generation
PCT/US2018/026994 WO2018200199A1 (en) 2017-04-25 2018-04-11 Three-dimensional environment authoring and generation

Publications (2)

Publication Number Publication Date
BR112019019556A2 true BR112019019556A2 (pt) 2020-04-22
BR112019019556B1 BR112019019556B1 (pt) 2024-05-21

Family

ID=

Also Published As

Publication number Publication date
SG11201909454QA (en) 2019-11-28
CN110573224B (zh) 2023-09-01
MX2019012626A (es) 2020-01-30
US12008725B2 (en) 2024-06-11
ZA201905873B (en) 2020-12-23
CN110573224A (zh) 2019-12-13
EP3616032A1 (en) 2020-03-04
RU2019137607A3 (pt) 2021-07-12
EP3615155A1 (en) 2020-03-04
ZA201905870B (en) 2020-11-25
JP7080902B2 (ja) 2022-06-06
US10453273B2 (en) 2019-10-22
CN110573997B (zh) 2021-12-03
US10388077B2 (en) 2019-08-20
CN110573997A (zh) 2019-12-13
CO2019011966A2 (es) 2020-01-17
US20200013236A1 (en) 2020-01-09
CO2019011870A2 (es) 2020-01-17
IL270118B1 (pt) 2023-02-01
PH12019550189A1 (en) 2020-06-29
RU2019137607A (ru) 2021-05-25
AU2018257944B2 (en) 2022-09-29
IL270118B2 (en) 2023-06-01
SG11201909455UA (en) 2019-11-28
WO2018200199A1 (en) 2018-11-01
MY202365A (en) 2024-04-24
MX2019012624A (es) 2020-01-30
AU2018260575A1 (en) 2019-09-19
EP3616043A1 (en) 2020-03-04
CL2019002950A1 (es) 2020-03-13
US11138809B2 (en) 2021-10-05
CN110832450B (zh) 2024-04-23
JP2020518071A (ja) 2020-06-18
AU2018257944A1 (en) 2019-09-19
RU2019137605A (ru) 2021-05-25
IL270118A (pt) 2019-12-31
WO2018200200A1 (en) 2018-11-01
US20180308274A1 (en) 2018-10-25
BR112019022129A2 (pt) 2020-05-05
KR20190139902A (ko) 2019-12-18
US20180308289A1 (en) 2018-10-25
IL270112B (en) 2022-07-01
RU2765341C2 (ru) 2022-01-28
US11436811B2 (en) 2022-09-06
CN118170283A (zh) 2024-06-11
NZ756888A (en) 2023-10-27
US20220375181A1 (en) 2022-11-24
JP7189152B2 (ja) 2022-12-13
AU2018260575B2 (en) 2022-04-21
US20180308290A1 (en) 2018-10-25
WO2018200201A1 (en) 2018-11-01
CN110832450A (zh) 2020-02-21
JP2020518077A (ja) 2020-06-18
CL2019002951A1 (es) 2020-03-13
CA3056953A1 (en) 2018-11-01
IL270112A (pt) 2019-12-31
KR20190141162A (ko) 2019-12-23
CA3056956A1 (en) 2018-11-01
PH12019550188A1 (en) 2020-06-08

Similar Documents

Publication Publication Date Title
AU2018257944B2 (en) Three-dimensional environment authoring and generation
US11823341B2 (en) 3D object camera customization system
US9792665B2 (en) Real time visual feedback during move, resize and/or rotate actions in an electronic document
CN109416704B (zh) 基于网络的可嵌入协作工作空间
EP2872982B1 (en) Location-dependent drag and drop ui
KR102274474B1 (ko) 삽입형 동적 콘텐츠 미리 보기 창
AU2015241256A1 (en) Command user interface for displaying and scaling selectable controls and commands
KR20150021500A (ko) 리본을 사용하여 애플리케이션 사용자 인터페이스에 액세스하는 기법
EP3126947A1 (en) Sliding surface
US11164395B2 (en) Structure switching in a three-dimensional environment
TW201519067A (zh) 自電子文件中的資料產生視覺化
US10304225B2 (en) Chart-type agnostic scene graph for defining a chart
EP3356950A1 (en) Font typeface preview
US11048376B2 (en) Text editing system for 3D environment
BR112019019556B1 (pt) Sistema para gerar um ambiente de realidade virtual tridimensional, método implementado por computador para gerar um arquivo de dados de ambiente e método implementado por computador para gerar um ambiente de realidade virtual tridimensional
EP3008561A1 (en) Persistent reverse navigation mechanism

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/04/2018, OBSERVADAS AS CONDICOES LEGAIS