;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

O que é o metaverso? Entenda o 'mundo virtual' que Zuckerberg quer criar

Lucas Carvalho

De Tilt, em São Paulo*

29/10/2021 04h00Atualizada em 30/10/2021 16h14

Nesta quinta-feira (28), o conglomerado Facebook ou a se chamar Meta, numa tentativa da empresa de Mark Zuckerberg de refletir seu novo foco: construir o metaverso. Mas o que é esse tal de metaverso?

O metaverso é uma espécie de universo virtual 3D que, segundo alguns, será o futuro da internet. Para Zuckerberg e seus colegas do Meta, trata-se da maior revolução na maneira como interagimos online desde a invenção do smartphone.

A ideia é que, no futuro, vamos interagir com a internet como se estivéssemos literalmente "dentro" dela. As pessoas terão avatares virtuais que serão suas contrapartes nesse mundo digital e, por meio deles, poderão conversar, trabalhar e se conectar com amigos e parentes.

"Ao invés de apenas olhar para a tela, você estará nela", afirmou Sue Young, diretora de produtos do Facebook, em encontro com jornalistas realizado ontem (27). "Já que amos tanto tempo em frente a telas, queremos que seja um tempo de qualidade."

Para entrar nesse mundo virtual, as pessoas precisarão de óculos especiais e pulseiras que captam os movimentos da mão, que ainda estão em desenvolvimento. Ou podem começar já, usando os celulares e visores de realidade virtual que já existem, como o Oculus Quest, fabricado pela Meta.

A empresa também já tem aplicativos, como o Horizon Worlds, que permitem criar seu avatar e viver numa versão tridimensional do Facebook, ível por um Oculus Quest. Mas a aposta de Zuckerberg é de que toda a internet será ada dessa forma, não só as redes sociais.

Se o metaverso realmente for o futuro da internet, Zuckerberg quer que a sua empresa seja sinônimo dele. Daí vem o nome Meta. Mas a aposta não é só no nome. A empresa também está desenvolvendo ativamente os produtos, dispositivos e plataformas que usaremos para construir e habitar esse metaverso, de óculos a pulseiras inteligentes, além de avatares e programas para desenhar ambientes digitais.

Um exemplo desse investimento é o recém-lançado Ray-Ban Stories, um par de óculos com câmeras que, segundo Zuckerberg, são um primeiro estágio rumo aos óculos inteligentes que nos permitirão enxergar o metaverso como se ele estivesse realmente ao nosso redor.

Ao todo, o conglomerado de Zuckerberg promete investir mais de US$ 200 milhões na sua visão do metaverso, incluindo US$ 150 milhões na formação de programadores capazes de construir os ambientes virtuais que serão usados nesse mundo paralelo.

Não é só Zuckerberg

O conglomerado do Facebook não é o único de olho nesse tal de metaverso. No início do ano, a Epic Games, empresa de jogos eletrônicos por trás do Fortnite, que virou febre mundial, levantou US$ 1 bilhão em uma rodada de investimentos para financiar "sua visão de longo prazo para o metaverso".

Games, afinal de contas, são uma espécie de metaverso: mundos virtuais em que você pode viver uma vida inteira de maneira 100% digital e remota. Não precisa nem ter um objetivo fechado de ganhar pontos ou ar de fase, por exemplo.

Nos últimos anos, o próprio Fortnite expandiu seu leque de produtos, realizando shows e eventos de marcas dentro de seu mundo digital. Em agosto deste ano, a cantora norte-americana Ariana Grande fez uma série de shows dentro do jogo, uma "experiência musical", vista por milhões de pessoas.

Outros jogos também têm flertado com o conceito de metaverso. O Roblox, por exemplo, reúne em uma plataforma milhares de jogos conectados ao ecossistema maior, em que os jogadores podem criar experiências diferentes.

Nesse sentido, há ainda a plataforma Unity, para desenvolvimento de aplicativos em 2D e 3D, e que hoje está investindo no que chama de "gêmeos digitais" (cópias do mundo real), e a multinacional Nvidia, que está construindo seu "omniverse", uma plataforma para conectar mundos virtuais 3D.

"Estou plenamente convencido de que o metaverso será uma nova economia muito maior do que a nossa atual economia", afirmou o presidente da Nvidia, Jensen Hang, em outubro.

Questão de dinheiro

Variações do metaverso já existem há anos, seja nas redes sociais, na realidade virtual e nos games online, seja no mundo das criptomoedas.

Jogos interativos ou de construção de mundos, como Minecraft, Fortnite e Roblox, além do pioneiro Second Life, têm, todos, elementos do metaverso. Neles, os usuários podem trabalhar e colaborar, participar de eventos e trocar dinheiro real por mercadorias e serviços virtuais.

Porém, até aqui esses são mundos fechados. Visionários do metaverso preveem uma realidade virtual na qual alguém pode se mover livremente entre esses diferentes mundos digitais.

Usuários poderiam até mesmo ter uma única identidade virtual, na forma de um avatar, e o capital em dinheiro que eles têm num mundo valeria também no outro. Todo mundo pagaria usando uma criptomoeda universalmente aceita.

É esta plataforma universal que Zuckerberg quer ficar famoso (e ganhar dinheiro) por ter criado. Mas ele mesmo ite que essa visão do futuro não vai se concretizar, pelo menos, nos próximos dois anos — é um projeto de longo prazo. Mas o executivo diz que sua empresa está comprometida com essa ideia, a ponto de arriscar seu nome e sua reputação por ela.

*Com informações da Deutsche Welle e BBC