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

Vasco

Após estátua no Vasco, Dinamite vira obra de arte via NFT. Saiba o que é

Trecho da NFT 1 de Roberto Dinamite, batizada de "Explosão de um Talento", e que será leiloada - Divulgação / NFT Sport
Trecho da NFT 1 de Roberto Dinamite, batizada de "Explosão de um Talento", e que será leiloada Imagem: Divulgação / NFT Sport

Bruno Braz

Do UOL, no Rio de Janeiro

16/12/2021 04h00

Maior ídolo da história do Vasco, Roberto Dinamite segue reverenciado. Após ganhar uma estátua a ser inaugurada em São Januário em 2022, o ex-atacante se tornou agora uma obra de arte virtual. Em evento que acontecerá hoje (16), ele será a inspiração de duas NFT's que estarão à venda para o público. Uma através de leilão e outra com preço fixo, em maiores quantidades e com valor mais ível a pedido do craque.

Mas antes de se aprofundar nas peças, é necessário explicar do que se trata: NFT - expressão em inglês que significa "Token Não Fungível" - é considerada uma obra de arte digital, com codificações criptografadas que garantem segurança, autenticidade e a tornam única para o colecionador, que se quiser, pode inclusive revendê-la, assim como ocorre no mundo real.

No caso das NFT's de Roberto, elas foram criadas pela "NFT Sport" e elaboradas por sete artistas de diferentes áreas. A primeira, chamada de "Explosão de um Talento", terá 100 unidades que serão leiloadas. A arte foi revelada no último dia 9, tem cerca de 12 segundos e a animação contempla dinamites com um deles aceso até a explosão. Em seguida, surge um busto do craque. Tudo acompanhado de efeitos sonoros.

NFT 1 de Roberto, que terá 100 unidades leiloadas, possui dinamites no início da animação de 12 segundos - Divulgação / NTF Sport - Divulgação / NTF Sport
NFT 1 de Roberto, que terá 100 unidades leiloadas, possui dinamites no início da animação de 12 segundos
Imagem: Divulgação / NTF Sport

Diretor de arte, Guilherme Hartung explicou que a inspiração para os detalhes da obra, além do apelido em si, foi no histórico de superação de Dinamite em relação às lesões que teve na carreira.

"Essa questão toda de dificuldade, de ser moldado na pancada mesmo... Então imaginei o mármore. Me lembrei muito das esculturas gregas antigas, que não tinha recursos ainda para manipular o metal tão bem, então faziam na pedra mesmo. E aí pensei em fazer um busto um pouco na pegada Renascentista, em mármore, para mostrar essa história do Roberto que foi esculpida na dificuldade. E de repente, depois, se vê um busto belo, que representa o resultado da carreira dele", declarou Hartung.

Especialista em efeitos sonoros, Bruno Danton explicou seu trabalho na animação:

Bônus físico que a pessoa receberá se adquirir a NFT 1 de Dinamite, que terá 100 unidades leiloadas - Divulgação / NFT Sport - Divulgação / NFT Sport
Bônus físico que a pessoa receberá se adquirir a NFT 1 de Dinamite, que terá 100 unidades leiloadas
Imagem: Divulgação / NFT Sport

"Eu gosto muito de música brasileira. Então, assim que fiquei sabendo que era para um jogador brasileiro, já fiquei pensando onde iria colocar elementos brasileiros sutis para essa animação...Eu dividi em três momentos: o primeiro está sonorizando as dinamites. Junto com esse, tem os efeitos que criam o clima de suspense. Em seguida tem a explosão, efetivamente, que são cinco elementos para compor. E aí segue a trilha em que se revela o busto", analisou.

As 100 pessoas que adquirirem a NFT "Explosão de um Talento" também ganharão um bônus, que é um quadro com autógrafo de Roberto Dinamite e um QR Code que a leva à arte. Os que obtiverem as três primeiras unidades ainda terão direito a um almoço com o ídolo.

"É uma obra de arte limitada, colecionável, e por isso é valorizada. É um ativo digital, não se deteriora com o tempo, o que permite você comprar e vender se assim quiser", declarou ao UOL Esporte o sócio da NFT Sport, Alexandre Melo.

NFT 2 terá preço ível a pedido de Dinamite

A NFT 2 de Roberto Dinamite, que será revelada no evento de hoje, terá um caráter mais "popular" e um preço mais ível a pedido do próprio ídolo. Por conta disso, terá uma quantidade bem maior, de cerca de 5 mil unidades.

Ela retratará um dos momentos mais marcantes em campo do maior artilheiro da história do Campeonato Brasileiro. Além disso, o interessado ainda poderá comprar no cartão de crédito e até parcelar, algo incomum no setor, já que geralmente as NFT's são compradas com criptomoedas.

Em relação aos bônus, embora não se tenha o quadro físico da NFT 1, terão mais opções aos compradores.

Evento ao vivo

O evento das NFT's de Roberto Dinamite será transmitido ao vivo e gratuitamente hoje (16), a partir das 20h, no canal da "NFT Sport" no YouTube e também na plataforma da empresa (nftsport.com.br).

Ocorrerá uma apresentação onde os organizadores prometem detalhar o projeto, esclarecer dúvidas e, posteriormente, dar início ao leilão da "Explosão de um Talento" e também às vendas da NFT 2.

Vasco