## 💡 Sobre o Projeto
Precisamos automatizar a renderização de múltiplas variações de produtos em um ambiente fixo no V-Ray para SketchUp, garantindo que sombras, reflexos e iluminação sejam consistentes na alternância entre layers no nosso showroom virtual.
O profissional desenvolverá um script em Python para automação e, se necessário, converterá para Ruby para integração com o SketchUp.
---
## 🛠️ O que deve ser feito?
✅ Criar um sistema de renderização automatizado para processar centenas de variações sem intervenção manual.
✅ Manter uma cena neutra fixa, onde apenas o item ativo muda, enquanto os demais permanecem neutros.
✅ Garantir precisão em sombras e reflexos, evitando artefatos visuais ao alternar produtos no showroom.
✅ Configurar Render Elements para capturar sombras, iluminação e reflexos separadamente.
✅ Nomear e organizar automaticamente os arquivos renderizados.
---
## 📌 Resultado Final Esperado
Cada render gerado deverá conter apenas o objeto ativo da categoria renderizada, sem piso, paredes ou demais elementos da cena neutra. Ou seja:
✅ O arquivo final (psd ou png) conterá apenas o objeto renderizado (exemplo: sofá a), com todas as suas render elements (sombras, reflexos e iluminação).
✅ Piso, paredes e demais elementos neutros não aparecerão no arquivo final, mas continuarão influenciando o objeto renderizado, garantindo que seus efeitos de sombra e reflexo sejam realistas.
✅ Se abrirmos o arquivo renderizado sozinho, veremos apenas o objeto flutuando, sem fundo, pronto para ser inserido na cena do showroom virtual.
✅ Dessa forma, quando o usuário final alternar entre as opções de sofá, verá cada um com suas sombras e reflexos corretos, impactando o restante da cena, sem inconsistências visuais.
---
## 🎯 Passo a Passo do Trabalho
### 1. Criar um Sistema de Renderização Automatizado
O script precisa ser capaz de:
- Ativar um layer por vez, mantendo os demais layers na versão neutra.
- Garantir que reflexos e sombras sejam capturados corretamente.
- Renderizar automaticamente cada variação e salvar os arquivos organizadamente.
### 2. Criar e Utilizar uma Cena Neutra
- A cena neutra é uma configuração padrão, onde apenas o item ativo muda, enquanto os outros permanecem neutros.
- A escolha dos itens neutros será fornecida previamente pela nossa equipe.
- Exemplo de itens neutros fixos:
- Sofá → Cinza claro
- Papel de parede → Branco
- Cadeira → Areia
- Iluminação → Luz branca difusa
### 3. Estruturar o Processo de Renderização
Cada render precisa capturar corretamente:
- Sombras realistas, garantindo que os objetos não pareçam flutuantes.
- Reflexos naturais, para evitar erros visuais ao alternar os produtos no showroom.
- Iluminação coerente, sem grandes variações entre os renders.
### 4. Configurar Render Elements no V-Ray
Para garantir que os ajustes possam ser feitos na pós-produção, os renders devem ser gerados com camadas separadas:
- VRayReflection → Captura apenas os reflexos.
- VRayShadows → Captura apenas as sombras.
- VRayLighting → Captura apenas a iluminação direta.
- VRayGlobalIllumination → Mantém a luz indireta separada.
### 5. Criar um Script Python para Automação da Renderização
O script em Python deve:
1. Percorrer todas as categorias de produtos, como poltronas, sofás, luminárias.
2. Ativar um único layer por vez e desativar os outros.
3. Manter os elementos neutros ativos, exceto o item sendo renderizado.
4. Configurar a iluminação neutra fixa.
5. Renderizar a imagem e salvar com um nome padronizado.
### Código Python para Automação do V-Ray Standalone
import os
vray_path = "C:/Program Files/Chaos Group/V-Ray/Standalone for x64/bin/
vray.exe"
scenes = [
"C:/Renders/Poltronas_Poltrona_A.vrscene",
"C:/Renders/Poltronas_Poltrona_B.vrscene",
"C:/Renders/Sofas_Sofa_A.vrscene",
"C:/Renders/Sofas_Sofa_B.vrscene",
"C:/Renders/PapelParede_Wallpaper_A.vrscene"
]
for scene in scenes:
output_file = scene.replace(".vrscene", ".png")
command = f'"{vray_path}" -sceneFile {scene} -imgFile {output_file}'
os.system(command)
print("Renderização concluída!")
### 6. Converter o Script para Ruby e Integrar com SketchUp
Se necessário, o script precisa ser convertido para Ruby, pois essa é a linguagem do SketchUp.
### Código Ruby para Automação no SketchUp
mod = Sketchup.active_model
vray = mod.extensions["V-Ray for SketchUp"]
categorias = {
"Poltronas" => ["Poltrona_A", "Poltrona_B", "Poltrona_C", "Poltrona_D", "Poltrona_E"],
"Sofás" => ["Sofa_A", "Sofa_B", "Sofa_C", "Sofa_D", "Sofa_E"],
"Papel de Parede" => ["Wallpaper_A", "Wallpaper_B", "Wallpaper_C", "Wallpaper_D", "Wallpaper_E"]
}
categorias.each do |categoria, layers_variaveis|
layers_variaveis.each do |layer_ativo|
mod.layers.each { |layer| layer.visible = (
layer.name == layer_ativo) }
output_file = "C:/Renders/#{categoria}_#{layer_ativo}.png"
vray.render
vray.save_render(output_file)
puts "Renderizado: #{categoria} - #{layer_ativo}"
end
end
puts "Processo de renderização concluído!"
---
## 📩 Como se candidatar?
Envie sua proposta com o valor para a execução do projeto e um exemplo de trabalhos realizados similares de preferência.
Compartilhe com quem possa se interessar.
Plazo de Entrega: No definido