Qual a diferença entre Script e Plug-in?

Por: William Cesar B7  

Em: 01/02/2013 09:52

Qual a diferença entre script e plug-in?
É difícil criar um Script ou um Plug-in para o 3ds max?
Para criar ambos, do que é necessário? Saber o que e precisar do quê? De algum programa?
Olá pessoal da 3d1... boa tarde a todos!! [:D]

William Cesar B7: oi William!! tudo bem?? Sobre a sua pergunta, plug-ins
são pequenos programas que adicionam novas funções no 3ds Max e em qualquer outro software 3d high-end, normalmente efetuam operações que não poderiam ser feitas com os recursos padrões ou seria muito trabalhoso.

Como usar plug-ins- 3ds Max:

Copie o(s) arquivo(s) do plug-in para a pasta Plugins do 3ds max, o novo plug-in será lido quando iniciar o programa , você também pode carregar o plugin com o programa funcionando pelo menu Customize > Plugin Manager.
Os plug-ins aparecem em diversos lugares do 3ds Max dependendo da sua função.

Já os \"Scripts\" são pequenos programas que otimizam funções repetitivas e procedimentos no 3ds Max, normalmente efetuam operações que poderiam ser feitas com os recursos padrões, mas seria mais trabalhoso e demorado.

Como usar Scripts:

Normalmente basta selecioná-lo pelo menu Max Script > Run Script, mas pode variar conforme o Script. Muitas vezes é necessário colocar o comando do Script em algum lugar do menu usando o Customize > Customize User Interface, alguns geram o novo item na interface do 3ds max automaticamente ou abrem uma janela logo que são acionados pelo Run Script.

Geralmente os Scripts possuem vídeos de exemplo e mais informações nas páginas dos desenvolvedores.

Agora para criar \"plug-ins\" e \"scripts\" não é nada fácil. Precisa saber programar em linguagem C++, pois todos os shaders do Mental Ray e todos os outros recursos do software, são quase tudo em C++.

Quem escreve os shaders pra Autodesk, é o mestre \"Master Zap\", da N-Vidia, porque a N-Vidia comprou a Mental Images, que era a proprietária exclusiva do Mental Ray.

Os scripts do Maya que tenho um pouco mais de afinidade do que os do 3ds Max, são em MEL e Phyton.

Os comandos MEL do Maya criam os scripts usando o comando MEL runTimeCommand e são acessíveis em Python também.

Alguns exemplos:

Em uma guia MEL:

runTimeCommand comando \"esfera nome myName\" mySphere;

Em uma guia Python

maya.cmds importação como cmds cmds.mySphere ()

Assim você pode criar comandos de execução de Python e chamá-los de Python usando a seguinte sintaxe:

maya.cmds importação como cmds def mySphere (): cmds.sphere (name = \'myName\') cmds.runTimeCommand (\'MyBall\', comando = \'mySphere ()\')
cmds.MyBall ()


DIFERENÇAS:

O evalDeferred e comandos \"script\" do Maya não são suportados em Python. No entanto, observe o seguinte:

Python tem uma função \"built-in\" para avaliar expressões Python.

Python tem maya.mel para avaliar expressões Mel.

O \"evalDeferred\" é substituído por maya.utils.executeDeferred () em Python.

A linguagem \"MEL\" tem sua própria advertência e mensagem de erro nos mecanismos de informação integrados com mensagem informando o Maya. Isto inclui realimentação com a cor na linha de comando.

Python vem com módulos do sistema que fornecem advertência e funções de relatório de erro, no entanto, estes não são integrados ao Maya e não fornecem \"feedback\" com cor na linha de comando.

Unidades em Python devem ser especificados com parênteses e com aspas, por exemplo:

maya.cmds.scale (3, 3, 3, r = True, p = (\'0 cm \', 0,5 centímetros \'0\', \'0 cm \'))
Argumentos de comando em scripts Python tem um código que contém um script Python ( como o equivalente MEL faz ) ou um objeto que pode ser chamado Python como uma função.

EXEMPLOS:

maya.cmds importação como cmds def defaultButtonPush (* args): print \'Default. \" cmds.window (largura = 150) cmds.columnLayout (adjustableColumn = True) cmds.button (label = \'Default\', command = defaultButtonPush) cmds.button (label = \'Esquerda\', align = \"left\") cmds.button ( label = \'Center\', align = \"centro\") cmds.button (label = \'Direito\', alinhar \"direito\" =) cmds.showWindow ()

O MEL utiliza uma sintaxe diferente do Python para especificar um intervalo de valores. Em MEL, utilizando * para especificar um intervalo de valores é feito usando o \"*\", por exemplo:

selecione-r surface1.cv [\"*\"] [0]; -->> MEL

Em Python, para especificar um intervalo de valores, * é usado, sem aspas. Para o exemplo acima, o equivalente em Python é:

cmds.select (\'surface1.cv [*] [0]\', r = True) -->> PHYTON

Quando MEL executa um script, ele retorna o resultado da última instrução executada, se houver alguma. As declarações que atribuem valores a variáveis e chamadas de procedimento que retornam resultados, são tipos de declarações que retornam resultados.

Por exemplo, o seguinte bloco de código terá um resultado, que o MEL ecoará para o editor de script e área de comando mensagem de linha:

if ($ foo == 1) $ bar = 42; mais $ bar = 7;

Por outro lado, as declarações que atribuem valores em Python não retornam resultados, embora Python executa a tarefa.

Sintaxe do Python permite que você simplesmente referencia uma variável, a fim de retornar o seu valor. Sintaxe de Mel não permite que você simplesmente escrever o nome de uma variável como uma declaração completa.

O fragmento de código MEL acima poderia ser escrito como o seguinte em Python. A linha final retorna o resultado.

se foo == 1: bar = bar 42 mais = 7 bar

Compreender esta diferença é importante se você quiser usar valores calculado em uma linguagem no contexto do outro.

Por exemplo, se você quiser usar um valor Python em MEL, você pode simplesmente fazer o seguinte:

$ MyMELvariable = python (\"myPythonVariable\");

Por outro lado, se você quiser usar uma variável MEL em Python, você precisa fazer algo como:

importação maya.mel myPythonVariable = maya.mel.eval (\'$ myMELvariable global; temperatura $ = $ myMELvariable;\')

Isso funciona porque a declaração de atribuição, que é passado no script, passa para o comando eval, retorna um resultado.

TUTORIAL- SCRIPT NO 3DS MAX:

http://www.youtube.com/watch?v=uDwdIA6LBH0

Espero ter ajudado de alguma forma.

Forte abraço e sucesso!!

_________________________________
\"FORÇA & CORAGEM SEMPRE\"...
Obrigado pela resposta!

Faça o login para poder comentar

Informações da Comunidade

Total de mensagens publicadas pelos membros da comunidade: 717317.

Total de membros registrados: 143134

Últimos membros registrados: rayz7, LulutoxDetoxTea4566, OzemPlusKapseln, giovanepm, jalisajewel, MelaraAirPillow556, MelaraAirPillow676, KARV.

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

Legenda: Administrador, Especial, Moderador, Parceiro .

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