3dmax - alterar configuracoes dos objetos primitivos

Por: Diego Dneo  

Em: 29/05/2012 15:13

Galera, tem como eu alterar a configuracao de primitivas do 3dmax?

Por exemplo.. cada arquivo novo que eu abra, uma teapot tenha 12 no sudvision? Assim eu nao precise alterar toda vez?

Ou o mesmo com portas, eu tenho na cabeca oq preciso alterar nelas, ms todo arquivo novo eu tenho q mexer na primeira pra continuar as outras ou alterar uma a uma..

teria como alterar essas configuracoes?
cara eu tb queria saber isso para colocar o plane com 1 de segmento pq colocaram 4 pra mim e um misterio pq 99% das vezes vc usa o plane sem nenhum segmento eheheh
portfólio: http://www.behance.net/rene123
Esse tipo de coisa é algo meio fechado no max, seria bom mesmo se desse pra alterar.

O que da pra fazer é um botão na interface que aplique uns presets nos objetos, assim vc cria o objeto com o default do max, aperta o botão e ele fica como vc quer, da pra fazer via script bem fácil, posso fazer um exemplo se quiser.
isso eh meio doido hen.. poderia ter um \".ini\" pra gente alterar..

Fla, ms se consegue fazer isso ai? Que informacao que vc precisaria?
Precisa só saber o que vc quer alterar. Aí basta criar os macroscripts, que são scripts que aparecem na customização da interface para ser utilizados em atalhos, menus, botões ou quad-menu.

Vamos usar o exemplo da teapot, esse seria o script dela:

macroScript Preset_Teapot
category:\"Presets\"
ButtonText:\"Teapot\"
Tooltip:\"Preset da Teapot\"
(
on execute do (
for i in selection do (
i.segments = 8
)
)
)

Onde Preset_teapot é o nome que eu escolhi para o script, category é a categoria que vai aparecer na hora de customizar a interface, buttontext é o que vai aparecer no botão e tooltip é o que vai aparecer na hora de customizar a interface como nome do comando.
Pra usar vai no menu maxscript, new script e cola esse código ali. Aí basta rodar (ctrl + E) e vai no customize e vai ter a categoria presets com o preset da teapot e vc pode colocar em uma toolbar qualquer ou criar um toolbar com os teus presets.

Vale pra qualquer objeto, vc só precisa ver as propriedades dele digitando na janela do maxscript a função showproperties $

Posso começar o da porta e aí vc vai adicionando o que vc quer, vou fazer uns testes e posto mais tarde. ;)
Ta aí o que seria o botão para a porta pivot:

macroScript Preset_Pivot_01
category:\"Presets\"
ButtonText:\"Pivot 2,1m\"
Tooltip:\"Preset da Porta PivotDoor com 2,1m de altura\"
(
on execute do (

for i in selection do (
if classof i == pivot then (
i.Muntin = 2
i.Panel_Type = 1 -- use 0 para None, 1 para Glass e 2 para Beveled
i.Glass_Thickness = 0.3
i.Bevel_Angle = 45
i.Panel_Thickness_1 = 0.25
i.Panel_Thickness_2 = 0.5
i.Panel_Middle_Thickness = 0.25
i.Panel_Width_1 = 1
i.Panel_Width_2 = 0.5
i.Flip_Swing = false
i.Flip_Hinge = false
i.Open__degrees = 90
i.Create_Frame= true
i.Frame_Width = 5
i.Frame_Depth = 1
i.Door_Offset = 0
i.Generate_Mapping_Coords = true
i.Leaf_Thickness = 3
i.Stiles_Top_Rail = 4
i.Bottom_Rail = 12
i.Number_of_Panels_Horizontally = 1
i.Number_of_Panels_Vertically = 1
i.Double_Doors = 0
i.height = 210
-- i.width = 80 -- Para usar a largura, tire os dois traços de comentário
-- i.depth = 15 -- Para usar a altura, tire os dois traços de comentário
i.realWorldMapSize = true
)
else messagebox \"Selecione uma porta tipo Pivot Door\"
)
)
)

Agora um DETALHE IMPORTANTE! O Maxscript usa os valores do system units, portanto como eu uso em centimetros, coloquei os valores em centimetros. Se vc usa em polegadas, tem que colocar em polegadas, ou dividir todas as dimensões por 2.54 assim:

macroScript Preset_Pivot_01
category:\"Presets\"
ButtonText:\"Pivot 2,1m\"
Tooltip:\"Preset da Porta PivotDoor com 2,1m de altura\"
(
on execute do (

for i in selection do (
if classof i == pivot then (
i.Muntin = 2
i.Panel_Type = 1 -- use 0 para None, 1 para Glass e 2 para Beveled
i.Glass_Thickness = 0.3 / 2.54
i.Bevel_Angle = 45
i.Panel_Thickness_1 = 0.25 / 2.54
i.Panel_Thickness_2 = 0.5 / 2.54
i.Panel_Middle_Thickness = 0.25 / 2.54
i.Panel_Width_1 = 1 / 2.54
i.Panel_Width_2 = 0.5 / 2.54
i.Flip_Swing = false
i.Flip_Hinge = false
i.Open__degrees = 90
i.Create_Frame= true
i.Frame_Width = 5 / 2.54
i.Frame_Depth = 1 / 2.54
i.Door_Offset = 0
i.Generate_Mapping_Coords = true
i.Leaf_Thickness = 3 / 2.54
i.Stiles_Top_Rail = 4 / 2.54
i.Bottom_Rail = 12 / 2.54
i.Number_of_Panels_Horizontally = 1
i.Number_of_Panels_Vertically = 1
i.Double_Doors = 0 -- usar 1 para double doors
i.height = 210 / 2.54
-- i.width = 80 / 2.54 -- Para usar a largura, tire os dois traços de comentário
-- i.depth = 15 / 2.54 -- Para usar a altura, tire os dois traços de comentário
i.realWorldMapSize = true
)
else messagebox \"Selecione uma porta tipo Pivot Door\"
)
)
)

Qualquer duvida posta aí. [;)]
Vixi, que coisa linda hen Fla.. mto legal isso ai.

Vou testar aqui, assim que terminar um servico que tenho pra fazer...

Esses Nomes das configuracoes, tipo \"number_of_panels..\" é no properties que voce comentou? Nao entendi como que eu vejo esses nomes pra cada objeto..
É isso, seleciona o objeto e digita showproperties $ no listener do maxscript que ele vai listar tudo o que vc pode alterar.
O que for float é qualquer numero fracionado ou não, integer são numeros inteiros sem fração, e boolean e true ou false.
Eita! Isso foi algo interessante para mim também. HE!HE!
ahhh.. consegui ver os properties.. achei q nao tava aparecendo, ms era pq eu tava vendo naquela janelinha..

Nossa cara.isso aqui mudou minha vida!!!

Faça o login para poder comentar

Informações da Comunidade

Total de mensagens publicadas pelos membros da comunidade: 717329.

Total de membros registrados: 143136

Últimos membros registrados: dtabach, Vanotium34, rayz7, LulutoxDetoxTea4566, OzemPlusKapseln, giovanepm, jalisajewel, MelaraAirPillow556.

Usuário(s) on-line na última hora: 376

Legenda: Administrador, Especial, Moderador, Parceiro .

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