;(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

Lidia Zuin

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Festa imersiva de música eletrônica testa limite entre real e virtual em SP

Holo, espetáculo do Eric Prydz - Alisson Demetrio
Holo, espetáculo do Eric Prydz Imagem: Alisson Demetrio

Colunista do UOL

10/02/2023 04h00Atualizada em 10/02/2023 14h53

Durante a pandemia, o futuro dos eventos foi um dos tópicos mais questionados pelo mercado, especialmente no setor de entretenimento. Afinal, com o distanciamento social, usar espaços físicos se tornou uma prática proibida e antiética. Por conta disso, as especulações sobre o metaverso cresceram tanto que o boom de lives se desenrolou no Facebook se tornando Meta, no Fortnite virando um novo palco para shows e nas pessoas comprando terrenos virtuais e NFTs como estratégia de investimento.

ados três anos, o que realmente se manteve?

Redes sociais como Twitter e Instagram já adicionaram funcionalidades para compartilhar coleções de NFT, uma tecnologia que foi essencial para o financiamento de artistas e seus próximos projetos. Apesar de ser uma tecnologia digital, não necessariamente o retorno financeiro proporcionado por ela é usado apenas nesse âmbito.

O que se percebe, por exemplo, em iniciativas como a festa Afterlife (ou mais especificamente o caso do artista Anyma) é que o investimento em NFT levou à possibilidade de se realizar eventos que misturam o real e o virtual.

Diferente da proposta do "phygital" usada por empresas, a Afterlife tem uma abordagem mais artística e que se conecta ao conceito de cyphoria proposto no livro "The Age of Earthquakes: A Guide to the Extreme Present".

Combinando o termo cibernético e disforia, a palavra cyphoria pode ser descrita como:

  • "A crença de que a internet é o real e não uma sequência de realidades serializadas. [Trata-se de] um estado de vertigem pautado pela distorção hiperacelerada de dados e interações, que só aumenta a nossa angústia em tentar navegar e decifrar a realidade? tarefa que nunca foi fácil, mas hoje em dia torna-se ainda mais desafiadora."

Veja que cyphoria é descrita como "crença" e não transtorno, apesar de o conceito herdar seu sentido de "disforia", transtorno psiquiátrico que causa ansiedade e insatisfação por não existir uma conexão entre aquilo que é e o que é percebido.

Entre o uncanny valley dos androides realistas e as iterações do chatbot ChatGPT, ilusões de ótica são outra aposta no embaçamento de limites entre o real e o virtual.

Um exemplo famoso desse tipo de ferramenta é a tecnologia DeepScreen 3D da Ocean, utilizada por lojas em Londres. De forma similar, também o uso de grandes telas LED curvadas é capaz de proporcionar esse efeito 3D, como visto nas ruas de Tóquio.

É com essa mesma abordagem técnica que o duo de artistas Tale of Us, responsável pelo projeto Afterlife, percorre o mundo com instalações que misturam artes visuais, música e entretenimento, uma vez que a apresentação se desdobra em uma festa.

Depois de ar por diferentes cidades na Europa e na América do Norte, o projeto retorna a São Paulo no mês de março. A festa acontecerá no espaço Arca, um galpão de 9.000 m² e 16 m de pé-direito especialmente preparado para receber produções complexas e imersivas como a Afterlife.

Para Maurício Soares, sócio da Arca, essa comunhão entre experiências digitais e físicas são um desdobramento quase que natural no contexto da cena eletrônica —afinal, desde os anos 1970, artistas como Kraftwerk já estavam fazendo esse tipo de experimentação em seus shows.

Agora, com a disseminação dos smartphones, é indiscutível a maneira como esses aparelhos são usados não apenas para registrar experiências, mas também compartilhá-las online e, assim, criar iterações da narrativa ali contada.

Anteriormente, a Arca recebeu a festa mottus que trouxe, justamente, essa discussão entre homem e máquina através de projeções 3D.

Diante da projeção de imagens grandiosas acompanhadas de música eletrônica e um show de luzes, fica, de fato, difícil para que o público deixe seus celulares guardados.

Na cena eletrônica, existem diferentes casas que não permitem o uso do aparelho, como é o caso da alemã Berghain, mas, no caso da Arca, celulares não só são permitidos como também bem-vindos.

Para Maurício, o uso dos smartphones em festas imersivas como as recepcionadas na Arca é, na verdade, um processo de cocriação fundamental para a construção da carreira e da reputação de artistas e eventos atualmente.

"É sempre sobre as pessoas, sobre experiências coletivas, sobre expressão e identidade. Se isso vai ser compartilhado de forma privada e efêmera, ou pública e perene, depende dos códigos e ethos de cada grupo", conclui.