image/svg+xml

Autor Tópico: [Tutorial] POV-Ray Parte 3  (Lida 7301 vezes)

Biczzz

  • .....
  • ****
  • Mensagens: 4453
  • Fui eu que fiz os carrinhos 🚗
    • My LEGO @ Flickr
[Tutorial] POV-Ray Parte 3
« em: 06 de Agosto de 2008, 11:56:08 »
Rendering com o POV-Ray - Parte 3: Exportação e edição do ficheiro POV

Continuação dos anteriores tutoriais:

Parte 1: http://comunidade0937.com/forum/index.php?topic=3050.0
Parte 2: http://comunidade0937.com/forum/index.php?topic=3313.0


7 - Exportação com o L3P Add-On

Abrir o L3P Add-On. Aparece a seguinte janela:



O programa aparece com as configurações iniciais.
Começar por abrir o ficheiro que se vai renderizar. Para isso usar o botão [...] que se encontra na secção Model File, navegar até ao ficheiro e abrir. Neste exemplo vou usar um ficheiro guardado em C:\car\car.ldr . Os campos Model File e POV-Ray Output File vão mudar para o nome desse ficheiro.
O ficheiro .pov será guardado na mesma pasta onde se encontra o ficheiro .ldr. Para definir outra pasta, carregar no botão [...] da secção POV-Ray Output File e navegar até à pasta desejada.
Em seguida será necessário definir as opções do programa:
Desactivar a caixa Rendering Upon Completion. Esta opção faz com que o rendering começe imediatamente após o ficheiro .pov ser criado. Como será necessário alterar este ficheiro manualmente, não é conveniente iniciar já o rendering.
No campo ao lado de -sw (Seam Width) substituir 0,5 por 0.5. Para o POV-Ray o separador decimal é o ponto e não a vírgula e, se este valor não for alterado, esta opção não tem efeito. O Seam Width controla o espaço que existe entre peças e geralmente dá um aspecto mais realista ao rendering.
Activar a opção -lgeo (Use LGEO Library). Isto faz com que o programa use as peças de alta qualidade do LGEO.

Definidas as opções, o programa deverá ficar com este aspecto:



Carregar em Run L3P para dar início à conversão.


8 - Edição do ficheiro .pov

Na pasta onde se encontra o ficheiro car.ldr está agora um ficheiro car.pov. Clicando duas vezes nesse ficheiro aparecerá a janela do POV-Ray:



O editor do POV-Ray funciona como um editor de texto normal como, por exemplo, o Bloco de Notas do Windows.
Se escolhermos uma resolução e carregarmos no botão "Run", podemos fazer já um rendering de teste:



Não convém escolher uma resolução demasiado alta, senão demorará demasiado tempo.

E o resultado:




8.1 - A posição da câmara

Um rendering é quase como uma fotografia, há que escolher onde colocar a câmara antes de tirar a foto. No exemplo acima é usada a câmara prédefinida do L3P, que pode ser mudada.
Vamos começar por abrir o ficheiro .ldr original no LDView:



Agora podemos rodar, mover e fazer zoom ao modelo. Quando estiver na posição desejada, no menu "Tools" clica-se em "Show POV-Ray Camera Info...":



Aparece a seguinte mensagem:



Carregar em OK. A informação está agora na área de transferência (Clipboard).
Voltar ao POV-Ray e procurar a linha "// Camera (Latitude,Longitude,Radius = 45,45,0)".
Por baixo dessa linha encontra-se a informação da posição da câmara. Seleccionar e apagar essas linhas:



Colocar o cursor na posição assinalada pelo ponto vermelho e carregar em Ctrl+v, para colar a informação vinda do LDView:



A partir daqui, deve-se guardar o ficheiro POV (Save) antes de fazer o rendering.

Com a nova posição da câmara definida, pode-se fazer um novo rendering de teste:



Se o resultado não for satisfatório, repetir este processo.

8.2 - Iluminação

A iluminação gerada pelo L3P consiste em 3 "holofotes" apontando para o modelo. Como se pode ver no rendering anterior, o resultado não é muito realista

Por isso, vamos começar por substituir esta iluminação por uma "Area Light", que se aproxima mais de uma luz natural.
As definições da iluminação encontram-se no fim do ficheiro, a seguir às definições da câmara. Selecciona-se o texto por baixo de // Lights:



Apagar este texto.
Posicionar o cursor na linha abaixo de // Lights.
Abrir o menu Insert->LDRAW->Sky and Light e escolher a opção Area Light:



O texto aparecerá onde o cursor está colocado, neste caso será:



Guarda-se o ficheiro e podemos fazer um novo rendering de teste:



O rendering ficou mais escuro, mas já se podem ver melhorias nas sombras e iluminação mais suave.


8.3 - Inserir radiação difusa

A activação da radiação difusa permite que o programa adicione ao rendering os cálculos necessários para simular a radiação emitida ou reflectida pelos vários objectos presentes, dando-lhes um aspecto realista.
Começar por colocar o cursor numa posição a seguir à linha #declare DIF = 0.4; , no princípio do documento.
Em seguida, no menu Insert, escolher a opção LDRAW -> Ldraw Radiosity -> LDRAW Radiosity V3.0 :



Aparecerá o seguinte texto:

// LDRAW Radiosity v3.0b 6-12-2004
//
// radiosity on/off
// 0 = off [default]
// 1 = on
//
#declare LDRAW_RAD_SWITCH = 0;

// radiosity level (works only when LDRAW_RAD_SWITCH = 1)
//
// LDRAW_RAD_LEVEL = 0; // Default
// LDRAW_RAD_LEVEL = 1; // Debug
// LDRAW_RAD_LEVEL = 2; // Fast [default]
// LDRAW_RAD_LEVEL = 3; // Normal
// LDRAW_RAD_LEVEL = 4; // 2Bounce
// LDRAW_RAD_LEVEL = 5; // Final
//
// LDRAW_RAD_LEVEL = 6; // OutdoorLQ;
// LDRAW_RAD_LEVEL = 7; // OutdoorHQ;
// LDRAW_RAD_LEVEL = 8; // OutdoorLight;
// LDRAW_RAD_LEVEL = 9; // IndoorLQ;
// LDRAW_RAD_LEVEL = 10; // IndoorHQ;
//
// LDRAW_RAD_LEVEL = 11; // Anton Raves' Radiosity settings;
// LDRAW_RAD_LEVEL = 12; // Nico Kaiser's Radiosity settings;
//
#declare LDRAW_RAD_LEVEL = 2;



// radiosity normal (only works when radiosity is on)
//
// off [default]
// on
//
// NOTE: when using Radiosity Level 11 radiosity normal is off
//
#declare LDRAW_RAD_NORMAL = off;

// radiosity media (only works when radiosity is on)
//
// off [default]
// on
//
// NOTE: when using Radiosity Level 11 radiosity media is off
//
#declare LDRAW_RAD_MEDIA = off;

// max_trace_level
//
// 0 = off (will increase artifacts) [default]
// >0 (decrease artifacts but slows down rendering)
//     start with 5 and increase when needed
//
// NOTE: when using Radiosity Level 11 MTL is always on and the value is 20
// NOTE: when using Radiosity Level 12 MTL is always on and the value is 25
//
#declare LDRAW_MTL = 0;

// Overall brightness (only works when radiosity is on)
//
// 1 = no increase of overall light [default]
// higher = more overall light
//
#declare LDRAW_BRIGHTNESS = 1;

// Gamma (only works when radiosity is on)
//
// 2.2 = POV-Ray default
// lower is lighter
//
#declare LDRAW_GAMMA = 2.2;

// Colour Library
//
// 0 = Standard L3P or LGEO colours
// 1 = Jeroen's Colour Library [default]
// 2 = Todd's Colour Library
//
#declare COLOUR_LIBRARY = 1;

// variable reflection
//
// 0 = off [default]
// 1 = on
//
#declare LDRAW_VARIFLEX = 0;

// sky sphere
//
// 1 = white/blue [default]
// 2 = clouds
//
// 3 = white/grey
//
// 0 = own (no sky_sphere is placed, define your own)
//
#declare LDRAW_SKYSPHERE = 1;

// Index Of Refraction
//
// 1.52 = default ABS
//
#declare INDEXOFREFRACTION = 1.52;

// Rendering in 2 passes (only works when radiosity is on)
//
// 0 = 0ff [default]
// 1 = first pass
// 2 = second pass
//
#declare LDRAW2PASSRENDER = 0;

//
//
#include "ldraw_radiosity.inc"


Este texto já tem alguns efeitos:




Agora é necessário definir cada um dos parâmetros. Cada parâmetro define-se mudando o valor a seguir ao sinal de igual, como por exemplo:
parâmetroA = 0   define o parâmetro A para zero
parâmetroA = 1   define o parâmetro A para um

O texto a verde na janela de edição são comentários que explicam o que cada função faz e não têm qualquer efeito no rendering.
A explicação aqui dada é apenas um resumo daquilo que se pode encontrar no site do autor do código: http://www.digitalbricks.nl/RENDER/radinc3B.html
Este site deve ser consultado caso seja necessária uma explicação mais detalhada.

Parâmetros a definir:

#declare LDRAW_RAD_SWITCH = 0;
Controla a radiação difusa. Funciona como um interruptor. Como a radiação difusa faz com que o rendering demore muito mais tempo, podemos desactivá-la para obter um pré-visualização rápida antes de dar início ao rendering final.
O valor 0 desactiva a radiação difusa e o valor 1 activa-a. Neste exemplo vai ser definida para 1.
Este é o resultado:



As diferenças são evidentes. O tempo que demora a concluir também é muito maior.

#declare LDRAW_RAD_LEVEL = 2;
Define a forma como é processada a radiação difusa.
O nível a definir depende do gosto da cada um. Neste exemplo será usado o nível 8, que produz bons resultados sem demorar demasiado tempo.
Uma comparação entre os vários níveis pode ser vista em http://www.majhost.com/cgi-bin/gallery.cgi?f=152493 , ficheiros rad_00.jpg a rad_12.jpg.
O resultado é este:



#declare LDRAW_RAD_NORMAL = off;
#declare LDRAW_RAD_MEDIA = off;

O primeiro define se as irregularidades dos materiais serão ou não processadas. O segundo activa ou desactiva a existência de elementos, tais como poeiras e água.
Algumas das peças são irregulares, por isso o primeiro parâmetro será definido para "on", mas não definimos a existência de pó nem o MOC está debaixo de água, por isso o segundo parâmetro será "off".



#declare LDRAW_MTL = 0;
Este parâmetro impede que apareçam manchas negras em redor de objectos transparentes. Caso existam estas manchas, basta aumentar o número até desaparecerem, tendo em consideração que isso também vai aumentar bastante o tempo que demora a fazer o rendering.
No exemplo estas manchas não existem, por isso não se vai mexer neste parâmetro.


#declare LDRAW_BRIGHTNESS = 1;
Aumenta ou diminui o brilho geral da imagem.
Neste exemplo não se vai alterar este parâmetro, mas vou mostrar o que acontece quando se aumenta para 2:



Como se pode ver, toda a imagem ficou mais clara.

#declare LDRAW_GAMMA = 2.2;
Este parâmetro também aumenta o brilho da imagem, mas apenas nas áreas mais escuras.
Um valor menor aumenta o brilho e um valor maior torna a imagem mais escura.
Eis o que acontece quando se define este parâmetro para 1.8:



#declare COLOUR_LIBRARY = 1;
Define a palete de cores a usar no rendering. Temos 3 à escolha:

0 = Standard L3P or LGEO colours:



1 = Jeroen's Colour Library



2 = Todd's Colour Library



Neste exemplo vou mudar para o valor 2. Assim definido, as transparências ficam com melhor aspecto mas a imagem fica demasiado escura. Uma solução poderá ser alterar o valor gama acima descrito.

#declare LDRAW_VARIFLEX = 0;
Activa os reflexos de intensidade variável, especialmente em objectos redondos.



A diferença praticamente não se nota. Como a maior parte das peças redondas neste modelo não fazem parte do LGEO, as superfícies curvas são na realidade constituídas por planos.

#declare LDRAW_SKYSPHERE = 1;
Insere uma esfera que simula o céu. Não se vê devido ao ângulo de câmara que se está a usar mas tem impacto no modelo devido à radiação difusa.

Definindo para 1 temos a imagem anterior:



Com o valor 2:



Aqui é simulado um céu com nuvens. A imagem fica ligeiramente mais escura.

Com o valor 3:



Quem não gostar do tom azul da imagem, pode sempre optar por este tom cinzento claro.


Temos um rendering quase completo. As duas opções finais deste bloco de texto não são muito importantes.



Fontes:
Ldraw_radiosity.inc version 3.0 beta: http://www.digitalbricks.nl/RENDER/radinc3B.html
Definições Area Light: http://www.brickshelf.com/cgi-bin/gallery.cgi?f=163897
L3P: http://www.hassings.dk/l3/l3p.html
L3PAdd-on: http://l3pao.malagraphixia.com/
LDView: http://ldview.sourceforge.net/



Este tutorial, incluindo texto original e imagens, está licenciado sob uma
Licença Creative Commons.
Outras obras criadas a partir deste tutorial devem fazer referência ao nome do autor e devem incluir uma ligação para este tópico.
« Última modificação: 26 de Junho de 2012, 23:39:18 por adm_i »

Biczzz

  • .....
  • ****
  • Mensagens: 4453
  • Fui eu que fiz os carrinhos 🚗
    • My LEGO @ Flickr
Re: TUTORIAL - POV-Ray Parte 3
« Responder #1 em: 06 de Agosto de 2008, 12:01:11 »
E ainda falta mais uma parte para colocar o chão e o céu e mais algumas dicas. Não sei quando estará pronta, olhando para o intervalo de tempo que vai desde a parte 2 até à parte 3, já não prometo nada... :-[

Com esta informação já dá para fazer um rendering bem melhor. Existem muitas combinações possíveis das opções acima descritas, o melhor mesmo é experimentar. ;)

Se houverem dúvidas ou correcções, por favor, coloquem-nas aqui.

pedroagnelo

  • ......
  • *****
  • Mensagens: 14366
  • De volta...
    • A minha galeria no Brickshelf
Re: TUTORIAL - POV-Ray Parte 3
« Responder #2 em: 06 de Agosto de 2008, 15:02:29 »
Fantástico trabalho Biczzz! :-)||

Assim que voltar ao meu workstation já vou brincar com isto
Pedro Agnelo