Autor |
Mensagem |
|
brunolopes |
Colocada: Dom Fev 03, 2008 9:02 pm |
|
|
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
Abraço |
|
|
|
Voltar acima |
|
brunolopes |
Colocada: Qua Fev 06, 2008 8:25 pm |
|
|
Primeiros passos
Registo: 20 Dec 2006
Mensagens: 149
Local/Origem: Lisboa
|
Entao pessoal, ninguem ajuda...Kamaleon...alguma ideia? |
|
|
|
Voltar acima |
|
lontra |
Colocada: Qui Fev 14, 2008 1:44 am |
|
|
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...
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...
Uma dica... experimenta o MacroRecorder do Listener para descobrires os nomes dos mapas/canais de Vray...
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
) |
|
|
|
Voltar acima |
|
brunolopes |
Colocada: Qui Fev 14, 2008 12:29 pm |
|
|
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 |
|
|
|
Voltar acima |
|
lontra |
Colocada: Sex Fev 15, 2008 11:31 am |
|
|
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...
Asta |
|
|
|
Voltar acima |
|
brunolopes |
Colocada: Sex Fev 15, 2008 12:10 pm |
|
|
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
obrigado mais uma vez |
|
|
|
Voltar acima |
|
lontra |
Colocada: Sex Fev 15, 2008 1:12 pm |
|
|
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...
Que tal??? |
|
|
|
Voltar acima |
|
Kameleon |
Colocada: Sex Fev 15, 2008 2:53 pm |
|
|
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 |
|
|
Voltar acima |
|
brunolopes |
Colocada: Sex Fev 15, 2008 3:31 pm |
|
|
Primeiros passos
Registo: 20 Dec 2006
Mensagens: 149
Local/Origem: Lisboa
|
Tiago, desculpa assim á primeira nao tinha percebido nesse pormenor. sou mesmo estupido
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 |
|
|
|
Voltar acima |
|
lontra |
Colocada: Sex Fev 15, 2008 4:03 pm |
|
|
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...
Boas adaptações... |
|
|
|
Voltar acima |
|
brunolopes |
Colocada: Sex Fev 15, 2008 4:24 pm |
|
|
Primeiros passos
Registo: 20 Dec 2006
Mensagens: 149
Local/Origem: Lisboa
|
pois... |
|
|
|
Voltar acima |
|
|