Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Thomdubra   Vila Velha ES - ES
renansantos   Cachoeiro / ES - ES
mdpontes   Macapá - AP
decosouza   Rio de Janeiro - RJ

Portfólios Ver Mais

Jhonatan   Campo Mourao - PR
Leandro Fernandes   Londrina/Curitiba - PR
tomfrias   Belo horizonte - MG
LeandroTS   Birigui - AC

Tutoriais - Todos os tutoriais

Renderizando passeio virtual no V-Ray

Aqui estou eu novamente, não se espantem, eu traduzo esses tutoriais por necessidade minha e com isso publico para ficar mais facil de vizualizar e ao mesmo tempo ajudar a galera.

Conteúdo:
Parte I: Cálculo do light cache
Parte II: Cálculo do irradiance map
Parte III: Rendenização da animação final

Neste tutorial daremos um passeio pela animação de uma cena estática, onde apenas a câmera se move. Usaremos a iluminação global para iluminar a cena, que torna um tanto complicada a tarefa. A iluminação global normalmente é muito lenta para calcular do zero e com a qualidade suficiente cada cena da animação. Para aperfeiçoar este processo e ganhar tempo de rendenização, podemos usar o fato que a cena é estática e a câmera é a única coisa que se move. A maior parte das soluções de render usadas em VRay (irradiance map, photon map, light cache) são total ou parcialmente independentes da visão, e podemos usar este fator para reduzir os tempos de rendenização.
Nesse tutorial, usaremos o irradiance map como um sistema de render primário, e o light cache como o sistema secundário. Para tornar o processo mais fácil entender, faremos a cena em três passos.
No primeiro passo, calcularemos o light cache da animação inteira. No segundo passo, calcularemos o irradiance map. No terceiro passo, faremos a animação final.
Observe que você não tem de usar este método para fazer o passeio virtual. Você sempre pode usar uma aproximação de força-bruta mais lenta e evitar a necessidade de tratar com todas as questões em volta do pré-cálculo de várias iluminações globais. Contudo, você paga para isto com altos tempos de render.
Parte I: Cálculo do light cache

1.1. Abra a cena que usará no teste. 1.2. Mude para V-Ray o rendenizador corrente.
1.3. Estabeleça a cor de fundo (Background) do 3dsmax para RGB 252.252.252.
1.4. Na janela de configuração do render, habilite o Global illumination e altere tanto o sistema de GI primário e secundário para Light cache.
1.5. Habilite o ítem Fixed do Image sampler type para visualizações mais rápidas.
1.6. Ligue o Show calc. Phase dentro do Light cache.
1.7. Habilite o Override MAX\'s do ítem skylight dentro do parâmetro Environment.
1.8. Mude a cor do skylight para RGB 252.253.255 e HSV (156,3,255).
1.9. Altere o Multiplier da cor do skylight para 4.0.
1.10. Desabilite o ítem Default lights no parâmetro Global switches. Isto removerá a iluminação padrão do Max da cena tornando a cena iluminada somente pelo ambiente skylight (luz do céu de fundo).
1.11. Vá até o parâmetro Câmera e modifique o Camera type (tipo de câmera) para Fish Eye (olho de peixe).
1.12. Desabilite item Auto-fit, modifique o valor Dist para 1.0 e Curve para 0.35. Decidimos que a câmera no Olho de peixe produzirá um efeito mais interessante.
1.13. Rendenize as cenas de 0 e 360 como referência.
O light cache não parece ruim, mas teremos de calculá-lo para a animação de passeio virtual, e não para o render de uma cena só. Observe que isto não é estritamente necessário, podemos rendenizar calculando o light cache para cada cena da animação; no entanto, calculando uma vez só, ganharemos em tempo de render, especialmente em animações longas.

1.14. Habilite em light cache o Mode para Fly-through. Assegure-se que o tempo da animação está de acordo com o que você quer rendenizar. Isso é importante porque o light cache verá a variedade de animação de barra cronológica atual calculando a mosca - pelo esconderijo.
Desde que todos os samples (amostras) do light cache serão distribuídas em todas as cenas da animação, teremos de aumentar o valor Subdivs do light cache. O valor exato depende da qualidade que você quer obter e da sua animação em específico. Se a câmera se mover lentamente, ou o caminho é relativamente curto (exemplo: somente um quarto de uma casa) então você pode usar o valor de Subdivs mais baixo, desde que a maior parte das amostras cairão no mesmo lugar. Se a câmera se mover rapidamente ou percorrer grandes partes da cena, você precisará de mais amostras para ter uma cobertura adequada para todo o lugar.
1.15. Estabeleça o Subdivs do light caches em 2000.
1.16. Rendenize a cena 360 por exemplo. Observe que embora redenizamos uma cena só, o modo Fly-through (passeio virtual) força o light cache a ser computado para a animação inteira:
Durante o fly-through (passeio virtual), a tela de preview do light cache não é muito útil, desde que ele mostra amostras do caminho de câmera inteiro. A imagem seguinte mostra tela de preview enquanto o light cache está sendo calculado:
Agora que computamos o light cache, temos que analizar se está bom para as nossas necessidades. Podemos fazer isto rendenizando diferentes cenas com o mesmo light cache.

1.17. Salve o light cache no disco, por exemplo lightcache.vrlmap.
1.18. Estabeleça Mode do light cache para From file e selecione o nome de arquivo salvo.
1.19. Modifique o Filter no parâmetro light cache de Nearest para None. Agora podemos ver melhor o tamanho das amostras (samples).
1.20. Rendenize a cena 435:
Você pode notar que em lugares onde a câmera está perto de uma parede da cena, as amostras do light caches são mais pequenas e desordenadas. Isto ocorre porque o Scale do light cache está habilitado no modo Screen por padrão. Isto é ótimo imagens estáticas, mas para animação nós gostaríamos de uma distribuição melhor das amostras. Para fazer isso, teremos de usar a opção World.

1.21. Altere o Scale do light cache para World.
Agora temos de determinar um bom Sample size (tamanho da amostra) da cena. Isto pode ser feito, por exemplo, criando uma geosfera diretamente na viewport da câmera ou um objeto Tape e usando-o para medir o tamanho da amostra. Para a nossa cena, um tamanho de mostra de aproximadamente 2.0 parece ser suficiente (a cena está em Generics units). Em geral, você deve alterar o Sample size (tamanho da amostra) para o maior valor possível sem gerar artefatos (pequenos buracos, etc.). Mesmo que apareçam alguns pequenos artefatos, é possível retirá-los reduzindo o valor do filtro Interp. Samples.
1.22. Altere o valor do Sample do light cache para 2.0.
Tenha em mente que quando você usa a escala World, você deve assegurar-se que a sua cena não é muito grande (p. ex. uma grande área ao ar livre) ou que as amostras do light caches não são muito pequenas, senão você pode ficar com o light cachê fora da memória. Isto não é um problema no modo Screen, desde que as superfícies que estejam longe da câmera tenham menos amostra. Para cenas exteriores, é recomendado usar o modo Screen sempre.
1.23. Modifique o Mode do light cache de volta para Single frame e abaixe o Subdivis para 500 só para verificar se o tamanho de mostra é adequado. Aqui está um exemplo da cena 435:
As amostras são iguais em tamanho em todos os lugares e eles são bastante grandes, portanto não temos artefatos na imagem.
1.24. Salve o light cache e mude para o modo Fly-through novamente.
1.25. Para alisar o light cache um pouco, aumente o Subdivis para 3300.
1.26. Mude o Filter para Nearest novamente.
1.27. Rendenize a cena 360:
O tempo de cálculo é maior agora devido ao número de amostras elevado.
1.28. Salve o light cache e mude para o modo From file novamente.
Você pode notar que o arquivo do light cache ficou maior. Isso acontece porque há mais amostras no light cache, em parte por causa do modo de escala World - a mesma quantidede de amostras em qualquer lugar da cena (no modo Screen, o tamanho das mostras aumenta quando elas ficam mais distantes da câmera, o que leva a menos amostras).
Agora podemos rendenizar várias cenas diferentes para assegurar-nos que o light cache é adequado para a nossa animação.
1.29. Rendenize algumas cenas.
Parece que o light cache está bom, com isso podemos mudar para o passo seguinte ? Cálculo do irradiance map (mapa de irradiação).
Parte II: Cálculo do irradiance map (mapa de irradiação)

Em comparação com o light cache, o irradiance map leva muito mais tempo para calcular. Isto porque o light cache fornece uma solução de iluminação muito crua e não detalhada. O irradiance map, por outro lado, cuida das pequenas sombras da iluminação global da cena.
Observe que o irradiance map não pode ser calculado com o backburner. Deve ser calculado em uma única máquina. Isto porque usaremos o Mode Multiframe incremental para o irradiance map.
2.1. Estabeleça o sistema primário (primary engine) para irradiance map.
2.2. Mude no irradiance map o Mode para Multiframe incremental.
2.3. Marque o ítem Show calc.
Desde que a câmera movimente lentamente, não há nenhuma necessidade de dar rendenizar cada cena da animação nesta etapa. Podemos ter um irradiance map adequado fazendo um render a cada 10 cenas, por exemplo. Se a câmera se mover mais rápido, teremos rendenizar mais cenas, por exemplo, de 5 em 5.
2.4. Configure para rendenizar a cada 5 cenas na aba Commom na janela de parâmetros de render (Render cene dialog).
2.5. Marque a opção Don\'t render final image no parâmetro Global switches, pois ainda não estamos rendenizando a animação final e não precisamos das cenas finais.
2.6. Rendenize a seqüência inteira.
2.7. Salve o irradiance map para um arquivo, por exemplo, irmap.vrmap.
2.8. Mude o Mode do irradiance map para From File indicando o arquivo salvo anteriormente.
Agora temos um irradiance map da seqüência de animação inteira. Podemos fazer alguns renders para assegurar-nos que tudo está bem.
2.9. Desabilite a opção Don\'t render final.
2.10. Rendenize as cenas 0 e 360 da animação:
As duas imagens acima foram rendenizadas com as configurações usadas para a animação final na parte III.
Agora estamos prontos para rendenizar a animação final.
Parte III: Interpretação da animação final

Para a animação final você pode usar backburner com o irradiance map salvo no computador cliente ou localmente em cada máquina da rede. Em ambos os casos, você deve ter certeza que cada maquina ache o irradiance map no local especificado no parâmetro From File do irradiance map.
3.1. Mude para Adaptive subdivision o item localizado dentro do parâmetro Image sampler definindo os valores Min/Max rate para 0/3 para melhorar a qualidade de alisamento (antialiasing). Você pode marcar também o ítem Normals para evitar problemas de falhas em pequenos detalhes na cena.
3.2. Assegure-se que o irradiance map Interpolation type está em Density-based. Isto permitirá ao irradiance map escolher as amostras mais próximas possíveis da solução armazenada.
3.3. Configure o 3dsmax para rendenizar cada cena.
3.4. Rendenize a animação final.

Notas:

Não estamos usando reflexões espelhadas nesta cena, mas se você estiver usando e não usando Use light cache for glossy rays ao mesmo tempo, então você pode mudar o sistema de iluminação global secundário (Secondary GI) para None na animação final. Isso porque você não precisará do light cache, apagando então ele da memória.




Discussão

Nesta seção, acrescentamos algumas perguntas sobre este tutorial que foram feitas no nosso fórum online, junto com as respectivas respostas.

Pergunta: Você rendenizou imagens consecutivas e depois compilou o avi ou fez direto o avi?
Resposta: A animação foi feita primeiro rendenizando imagens .png, e depois compilada em um .avi. Dessa forma, você não perderá todos as cenas rendenizadas se algo der errado no meio da rendenização ... e também você pode brincar com as configurações de compressão de vídeo depois.

Pergunta: Por que você selecionou Multiframe incremental em cima do modo Incremental add to current map? Qual é a diferença entre se você invertesse essa seleção? Pergunto porque eu nunca usei o Multiframe incremental só usava o Incremental add to current.
Resposta: A única diferença é que o modo Multiframe incremental eliminará o mapa na memória no começo do render. Com o Multiframe incremental, o mapa atual não é eliminado.

Pergunta: É possível usar o Incremental add to current map em junto com o backburner sem problema (sem causar erros)? O backburner trata a alocação de cena bem sem o Max salvar arquivo algum? Lendo minha questão à cima, tenho a sensação que você está sugerindo que precise fazer diferentes seções da animação a cada render.
Resposta: Sim, você pode rendenizar diferentes seções em renders diferentes, mas você deve fundir os irradiance maps resultantes manualmente com o irradiance map viewer no fim, antes de gerar a animação final. Você também deve assegurar-se que cada seção é alocada para um único trecho de render.

Pergunta: Devo fazer uma animação com um spray, e eu tenho muita reflexão e refração, se eu seguir o seu tutorial como posso montar a minha configuração final? Com lightcache no sistema de iluminação global secundário (second bounce) e Use light cache for glossy rays ou sem light cache e none para o sistema de iluminação global secundário (second bounce)? Habilitando o Use light cache for glossy rays e o irradiance map no sistema de iluminação global primário (primary bounce) vai funcionar legal?
Resposta: Você pode salvar o light cache com o irradiance map. Se fizer assim, você pode desabilitar o sistema de iluminação global secundário (second bounce) que foi salvo na memória que você não vai precisar carregar o light cache. No entanto, se você precisa do light cache para computar as reflexões com pela opção Use light cache for glossy rays, então você precisará calcular o light cache.

Faça o login para poder comentar

diegoalex Comentou em 23/06/2015 17:00 Ver comentário
_alguem_ Comentou em 16/06/2011 17:38 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 710670.

Total de membros registrados: 138150

Últimos membros registrados: karolinarrrrrr, cosmicswiftie, lucasbertazzo666, eduardoaraujo, mikael_a, felipemattoli, cineboss, fercomin.

Usuário(s) on-line na última hora: 1452, sendo 13 membro(s) e 1439 visitante(s).

Membro(s) on-line na última hora: cosmicswiftie, Lucas Reis, Eduardo Ramos, Frederico Wagner N. R., Luana Chen, Max Idalgo, DiogodaRosa, Thiago Couto, Gabriel.C, eduardoaraujo, karolinarrrrrr, Elis, Marco Rocha.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.