Índice do Fórum Dimensao3.com


Autor Mensagem

<  3D Studio Max  ~  Preciso de um script...

brunolopes
Colocada: Dom Fev 03, 2008 9:02 pm Responder com Citação
Primeiros passos Registo: 20 Dec 2006 Mensagens: 149 Local/Origem: Lisboa
Pessoal preciso de ajuda, ja procurei no scriptspot mas nao encontro...

Preciso de um script que me faça um assign de um hdri por exemplo á slot de environment de todos os materiais de uma cena...o script tem de me permitir seleccionar o hdri que quero, editar-lhe as propriedades (VrayHDRI) e depois fazer "assing" em instance de preferencia...alguem me pode ajudar?

Ando para aqui a marrar em video tutorials de maxscript mas ainda nao atinei...

Please Smile

Abraço
Ver o perfil de utilizadores Enviar Mensagem Privada
brunolopes
Colocada: Qua Fev 06, 2008 8:25 pm Responder com Citação
Primeiros passos Registo: 20 Dec 2006 Mensagens: 149 Local/Origem: Lisboa
Entao pessoal, ninguem ajuda...Kamaleon...alguma ideia?
Ver o perfil de utilizadores Enviar Mensagem Privada
lontra
Colocada: Qui Fev 14, 2008 1:44 am Responder com Citação
Novo membro Registo: 26 Set 2007 Mensagens: 36
Como sabes, eu não uso Vray... mas de qualquer forma, como não gosto de deixar o pessoal entalado, aqui vai um micro script que faz mais ou menos isso:

1º Cria uma variavel com o Nome Mapa que guarda um mapa bitmap normal do max (deves substituir pelo mapa que queres...)

2ª Percorre todos os materiais da cena, filtra apenas os materiais Standard (Vray no teu caso) e aplica o Mapa no canal Difuse (usa o que precisas...)

Como o mapa está quardado na tal variavel, é sempre o mesmo mapa, logo uma instancia... Wink

Como não sei os nomes usados dentro do maxscript para os elementos de Vray, tens de te contentar com estas dicas... mas como até és um gajo inteligente... chegas lá de certeza... Wink
Uma dica... experimenta o MacroRecorder do Listener para descobrires os nomes dos mapas/canais de Vray... Wink

Asta


Código:
mapa = Bitmaptexture fileName:"C:\Program Files\Autodesk\3ds Max 2008\maps\BIGLEAF3.TGA"

for foo in 1 to (SceneMaterials.count) where classof SceneMaterials[foo] ==  Standardmaterial do
(
   SceneMaterials[foo].diffuseMap = mapa
)
Ver o perfil de utilizadores Enviar Mensagem Privada
brunolopes
Colocada: Qui Fev 14, 2008 12:29 pm Responder com Citação
Primeiros passos Registo: 20 Dec 2006 Mensagens: 149 Local/Origem: Lisboa
lontra...grande ajuda, fo uma grande base e segui as tuas dicas.

agora so falta mesmo que ao correr o script ele me peça para fazer o browse o ficheiro de hdri que pretendo

Código:


mapa = vrayhdri hdrimapname:"path for hdri map file"

for foo in 1 to (SceneMaterials.count) where classof SceneMaterials[foo] ==  vraymtl do
(
   SceneMaterials[foo].texmap_environment = vrayhdri = mapa
   SceneMaterials[foo].texmap_environment.maptype = 2
   SceneMaterials[foo].texmap_environment_on = on
)


obrigado
Ver o perfil de utilizadores Enviar Mensagem Privada
lontra
Colocada: Sex Fev 15, 2008 11:31 am Responder com Citação
Novo membro Registo: 26 Set 2007 Mensagens: 36
Acho que é isto que pretendes...

Como não tenho o Vray instalado aqui, não deu para testar o script como deve de ser... por isso assumi que a tua versão já estava testada e a funcionar bem...

Analisa o texto e vais perceber como se faz... Wink

Asta
Ver o perfil de utilizadores Enviar Mensagem Privada
brunolopes
Colocada: Sex Fev 15, 2008 12:10 pm Responder com Citação
Primeiros passos Registo: 20 Dec 2006 Mensagens: 149 Local/Origem: Lisboa
Tiago é quase isto...sabes, é que o vrayhdri é uma mapa tipo um mask ou um mix, em que dentro do qual é que tenho de carregar neste caso os hdris...é assim que o vray interpreta os hdri...

Portanto, o botao "none", tem de me deixar em vez de escolher o vrayhdri map, tem de me deixar escolher o HDRI (que esta numa pasta ao tenho de fazer o browse), e ao fazer apply map, este vai direitinho para a solt environment ja dentro de um Vrayhdri...portanto tenho um mapa dentro de outro mas so escolho o segundo, o primeiro ja esta inerente ao processo, o que torna o script muito especifico na sua utilização para o que pretendo...

Para perceberes melhor o uso do mesmo eu explico, para começar este script é especificamente para usar em cenas interiores, para que? para simular os reflexos e refracções nos materias de um suposto cenario exterior, neste caso simulado pelo hdri...assim, no caso das janelas, mantenho o canal de alfa o mais clean possivel ou seja, com uma cor solida, neste caso o preto, em composição evito ao manter o alpha a preto a contaminação dos pixeis nas edges por cores de um background que eu tenha colocado para efeitos de reflexos, o que depois faz com o alpha ao ser premultiplicado, ainda assim fique com esses artefactos nas edges

Como os backgrounds no meu caso ja sao uma fase final, eu prefiro que os reflexos ja façam parte dos materiais.

No caso dos vidros das janelas, o hdri é colocado mas desligado, caso contrario seria provocado um override na refracção do vidro e iria la aparecer o hdri, invalidando este trabalho todo. Mas no vray este processo de colocar o hdri no environment do material e desliga-lo funciona com um switch. deixando assim passar o efeito para o interior, mas sem que este apareça na refracção do vidro...depois de muitos testes cheguei felizmente ao truque...

O uso dos hdri pela sua diversidade permite assim criar reflexos mais ou menos consistentes com a iluminação exterior pretendida, mas sem nunca estar dependente de um background que ainda nao calculei, mas que na realidade a unica coisa de que presiso é um apontamento de ceu e do seu leque de cores nos reflexos.

Acho que é isto Smile

obrigado mais uma vez
Ver o perfil de utilizadores Enviar Mensagem Privada
lontra
Colocada: Sex Fev 15, 2008 1:12 pm Responder com Citação
Novo membro Registo: 26 Set 2007 Mensagens: 36
Acho que percebi... mas novamente, como não tenho o Vray, não posso testar isso...

Agora repara numa coisa... se me estas a falar de mapas dentro de mapas, não é mais facil usar o script para te aplicar o mapa de topo nos materias, e depois, visto que esse mapa é uma instancia ao longo de todos os materiais, adicionar os sub-mapas já no matEditor... Wink

Que tal??? Wink
Ver o perfil de utilizadores Enviar Mensagem Privada
Kameleon
Colocada: Sex Fev 15, 2008 2:53 pm Responder com Citação
Site Admin Registo: 27 Jan 2005 Mensagens: 1108 Local/Origem: Lisboa/Porto - Portugal
Código:
mapa = meditMaterials[7]

for foo in 1 to (SceneMaterials.count) where classof SceneMaterials[foo] ==  vraymtl do
(
   SceneMaterials[foo].texmap_environment =  mapa
)


E se for assim? Crias o mapa que queres na 7ª slot do Material Editor e depois corres o script que te poe isso dentro de todos os environments... assim podes criar o mapa que quiseres com submaps etc etc no 7º slot... se te der jeito ter isso noutro slot é só alterares ali o numerozinho. Cyas.

_________________
.artur leao.
You can do it! VFX
Ver o perfil de utilizadores Enviar Mensagem Privada
brunolopes
Colocada: Sex Fev 15, 2008 3:31 pm Responder com Citação
Primeiros passos Registo: 20 Dec 2006 Mensagens: 149 Local/Origem: Lisboa
Tiago, desculpa assim á primeira nao tinha percebido nesse pormenor. sou mesmo estupido Smile

Mas para isso, entao nem preciso do botão "none" basta o "Apply Map"

Alias descobri que o botão "Apply Map" nao esta la a fazer nada, porque quando clicas em "none" e escolhes o VrayHDRI map, ele executa logo o codigo...

mas ainda nao consegui alterar

Muito obrigado
Ver o perfil de utilizadores Enviar Mensagem Privada
lontra
Colocada: Sex Fev 15, 2008 4:03 pm Responder com Citação
Novo membro Registo: 26 Set 2007 Mensagens: 36
Calma lá!!!

Não apagues o botão NONE!!!!

É esse botão que te permite ir buscar o mapa original...


Não é a questão de seres ou mão estúpido... é mais a questão de seres caloiro nestas andanças... Wink

Boas adaptações... Wink
Ver o perfil de utilizadores Enviar Mensagem Privada
brunolopes
Colocada: Sex Fev 15, 2008 4:24 pm Responder com Citação
Primeiros passos Registo: 20 Dec 2006 Mensagens: 149 Local/Origem: Lisboa
pois... Sad
Ver o perfil de utilizadores Enviar Mensagem Privada

Mostrar os tópicos anteriores:  

Todos os tempos são GMT
Página 1 de 1
Novo Tópico

Ir para:  

Neste fórum, você Não pode colocar mensagens novas
Não pode responder a mensagens
Não pode editar as suas mensagens
Não pode remover as suas mensagens
Você Não pode votar neste fórum
You cannot attach files in this forum
You cannot download files in this forum