como teste resolvi unir duas coisas que eu tinha vontade de experimentar numa pipeline . o MARI e o Renderman ..
UDIM uvs nunca usei diretamente . porque sempre achei terrivel o modo de conectar o nodes no maya , muito trabalho para ajustar a cada nova mudança de path , e super facil de ocorrer erros ...
mas o renderman tem um node legal de textura que facilita muito o trabalho de ajuste ..
o PxrTexture , nele voce pode puxar o preset do MARI atlas que existia no SLIM dentro do maya .. eh bem facil de usar . seleciona o MARI na lista de Atlas style . e adiciona o primeiro arquivo da sequencia no filename .. C:/CHRYSL666/ladybug/MARI/colorflattened.1001.tx .. existe uma pegadinha , para o RM saber como mapear o mapa certo no objeto e UV DIM correto eh preciso editar o nome do path . e trocar o numero do mapa para "_MAPID_" no final o path fica assim
...C:/CHRYSL666/ladybug/MARI/colorflattened._MAPID_.tx...
isso eh o suficiente para o RM saber o que fazer .. entao resumindo, com um shader e somente um node de textura . voce mapea todos os UDIM de uma vez so . sem precisar daquelas conexões gigantes que c faziam antes no maya .
Não sei c voces notaram mas o formato de arquivo que estou usando eh o pixar .tx .. o renderman em geral converte todos os arquivos que vc passa pra ele para esse formato . o MARI não gera esse tipo de arquivo . no MARI eu exporto .exr , mas como andei tendo uns problemas de conversão interna no renderman . eu converto os mapas manualmente . eh possivel usar o renderGlobals para criar um processo de coversão automatica dos mapas . mas eu por costume . uso o txmake . que eh um programa de coversão que vem no prman . ele fica na pasta /bin da instalação do programa .. a linha de comando eh simples txmake [nomedoarquivoOrginal.exr] [nomedoarquivoFinal.tx] isso faz com que ele converta os arquivos pro formato certo .. existem muitas opçoes diferentes de uso desse programa .. olhem o txmake -h para ver os exemplos .. o txmake faz um arquivo por vez . nao sei c existe uma linha de comando para multiplos arquivos .. mas eh possivel automatizar as coisas com scripts .. aqui no meu minipipe fiz um programinha em c++ Qt para acelerar minhas conversões de uma pasta especifica . c alguem precisar de um exemplo segue aqui o source code do meu ...
1: #include <QCoreApplication>
2: #include <QDebug>
3: #include <QDir>
4: #include <QFileInfo>
5: #include <QString>
6: #include <QProcess>
7: int main(int argc, char *argv[])
8: {
9: QCoreApplication a(argc, argv);
10: // path para o txmake
11: QString program = "C:\\Temp\\txmake";
12: // cria objeto para executar o txmake
13: QProcess myProcess ;
14: // captura a pasta dentro do mDir
15: QDir mDir("C:/CHRYSL666/ladybug/MARI");
16: // para cada item dentro da pasta
17: foreach(QFileInfo mitm , mDir.entryInfoList())
18: {
19: // c o item for um arquivo
20: if(mitm.isFile())
21: {
22: // verifica c eh um arquivo de exr
23: QString ext = mitm.suffix(); // ext = "exr"
24: if(ext == "exr")
25: {
26: // c for um arquivo de exr pega o path e o nome do arquivo
27: QString exrFileName = mitm.absoluteFilePath();
28: // separa o path do nome
29: QString mainPath = mitm.absolutePath();
30: // captura o nome do artrquivo sem a extensão
31: QString fileName = mitm.completeBaseName();
32: // cria o novo path e nome do arquivo com a extensao tx da pixar
33: QString newName = mainPath+"/"+fileName+".tx";
34: // cria uma lista de argumentos para usar com o txmake
35: QStringList arguments;
36: arguments << exrFileName << newName ;
37: qDebug() << " converting EXR images to pixar TX" ;
38: int status = myProcess.execute(program , arguments);
39: if(status != 0 )
40: {
41: qDebug() << "file:" << newName << "Error : " << status ;
42: }
43: else
44: {
45: qDebug() << "file:" << newName << "Created : " << status ;
46: }
47: }
48: }
49: }
50: return a.exec();
51: }
No comments:
Post a Comment