13 December 2013

InCG Magazine


[EN] I have participated of an interview for InCG Magazine in Tawain. This was a great opportunity to share some tips about rigging and show our Popette's character Jo! I would like to thanks Ray (from InCG) for the great issue, Eric Lessard (Squeeze's Animation Director) for the help with the animation questions, Patrick Beaulieu (Squeeze's co-Founder and Creative Director) for the Jo images and support. Also, thanks to Rodrigo Gonçalvez for the contact. The interview was in English, but the article is in Chinese, so... I am not able to read it, lol.

[FR] J'ai participé d'une entrevue pour InCG Magazine de Taiwan. C'était une bonne opportunité de donner quelques conseils par rapport le rigging et montrer un peu le personnage Jo de Popettes! J'aimerais remercie Ray (de InCG) pour la belle matière, Eric Lessard (Directeur d'Animation chez Squeeze) pour l'aide avec les questions d'animation, Patrick Beaulieu (co-Founder et Directeur Créatif chez Squeeze) pour les images de Jo et le support. Aussi, merci à Rodrigo Golçalvez pour le contact. L'entrevue a été en l'anglais, mais l'article est en chinois, donc... je ne suis pas capable de le lire, héhé.

[PT] Eu participei de uma entrevista para a InCG Magazine de Taiwan. Foi uma otima oportunidade de dar algumas dicas de rigging e mostrar nosso personagem Jo do Popettes. Gostaria de agradecer a Ray (da InCG) pela bela materia, Eric Lessard (Diretor de Animaçao da Squeeze) pela ajuda nas questoes de animaçao, Patrick Beaulieu (co-Fundador e Diretor Criativo da Squeeze) pelas imagens do Jo e o suporte. Tambem, agradeço a Rodrigo Gonçalvez pelo contato. A entrevista foi em Ingles, mas o artigo é em Chines, entao... nao sou capaz de le-lo, haha.



10 December 2013

Assassin's Creed 4 - Black Flag

[EN] Hi everyone, I have created the rigs and cloth simulation for this cinematic at Squeeze for Ubisoft. I hope you like it. Thanks!

[FR] Bonjour, j'ai créé les rigs et la simulation de vêtements pour ce cinematic chez Squeeze pour l'Ubisoft. J'espère que vous aimez. Merci!

[PT] Ola pessoal, eu criei os rigs e a simulaçao de tecido para esse cinematic na Squeeze para a Ubisoft. Espero que voces gostem. Obrigado!


03 December 2013

Billy Beats

[EN] Here a nice job at Squeeze Studio. This piano character named Billy Beats is a toy by Mega Bloks. I liked create this rig and my daughter liked the toy so much! I am very glad to play it with her :)

[FR] Voilà un très bon projet chez Squeeze Studio. Ce personnage piano qui s'appelle Billy Beats est un jouet de Mega Bloks. J'ai aimé créer le rig et ma fille a aimé beaucoup le jouet! Je suis très heureux de jouer avec elle :)

[PT] Aqui um projeto super legal da Squeeze Studio. Esse personagem piano que se chama Billy Beats é um brinquedo da Mega Bloks. Eu gostei de criar o rig e minha filha gostou mais ainda do brinquedo! Sou muito feliz de brincar com ela :)


02 December 2013

Leite Camponesa

[EN] Here is a nice advertising by D2R Studios. I liked it because it was created by a great team from my hometown BH. Thanks!

[FR] Voilà une très bone publicité par D2R Studios. J'ai l'aimé parce que elle a était créé par une bonne équipe de ma ville natale BH. Merci!

[PT] Aqui uma boa publicidade da D2R Studios. Eu gostei dela porque ela foi criada por uma otima equipe da minha cidade natal BH. Obrigado!


01 December 2013

Blue & Malone - Detectives Imaginarios



[EN] I participated as a rigger in this spanish short film, helping to create a machine "Monka" rig. Thanks Gerardo Alvarez for this opportunity.

[FR] J'ai participé au tant que rigger dans ce film de courte-metrage espagnol, j'ai créé le rig d'une machine qui s'appele "Monka". Merci Gerardo Alvarez pour l'opportunité.

[PT] Participei como rigger deste filme de curta metragem espanhol, ajudando a criar o rig de uma maquina "Monka". Obrigado Gerardo Alvarez pela oportunidade.

03 August 2013

Curso de Rigging Online - Art&Cia

[EN] Hello everybody! I am glad to say I will teach Rigging in Maya at Art&Cia school. It is an Online course in Portuguese! We will learn the basic and intermediary level in 12 weeks. For more information, visit: Art&Cia. We hope it will be good for all of us! Thanks :D

[FR] Bonjour tout le monde! Je suis heureux de dire que je vais donner de classes de Rigging dans le Maya dans l'école Art&Cia. Le cours est Enligne et en Portugais! Nous allons apprendre les niveaux basique et l’intermédiaire en 12 semaines. Pour plus d'information, visitez: Art&Cia. Nous espérons qu'il soit bon pour tous! Merci :D

[PT] Ola Pessoal! É com muita alegria que anuncio que estarei dando aulas de Rigging no Maya na escola Art&Cia. O curso é Online e em Portugues! Aprenderemos os niveis basico e intermediario em 12 semanas. Para mais informaçoes, acesse: Art&Cia. Esperamos que seja bom para todos! Obrigado :D


24 June 2013

Angry Birds

[EN] Hello everybody! This is an Angry Birds test we are created at Squeeze Studio Animation. I liked it very much, because we tried to get the maximum from the 2D brand to the 3D. The hard in this project was do a lot of deformation in just a "ball" character. I hope you like it too! Thanks.

[FR] Allo tout le monde! Voilà un teste de l'Angry Birds qu'on a créé chez Squeeze Studio Animation. J'ai aimé beaucoup ce teste parce qu'on a mis l'éffort pour utiliser le maximum du 2D dans le 3D. Le plus dûr dans ce projet c'était ajouter plusieurs déformations dans juste un personnage comme une "balle". J'espère que vous aimez aussi! Merci.

[PT] Ola pessoal! Este é um teste do Angry Birds que nós criamos na Squeeze Studio Animation. Eu gostei muito deste teste porque tentamos utilisar o maximo do 2D no 3D. Foi dificil nesse projeto fazer tanta deformaçao em apenas um personagem como uma "bola". Espero que voces gostem tambem! Obrigado.

Final:


Making off # 1 (Concept):



Making off # 2 (Production):

30 December 2012

Collège Bart - Programmation en Jeu Vidéo

[EN]
I would like to show you a little about the AEC Game Programming course in Collège Bart. The course was very hard because it is really intensive. I liked this experience and I want to say Thank You to all my great teachers and colleagues!
You can play the 2D Flash games and the Unity3D multiplayer game named Aliens4Fun (inspired in TF2) in the links bellow. If you want to see the code, send me a message. I hope you enjoy them :D

[FR]
Je voudrais vous montrer un peu sur le cours AEC en Programmation de Jeu Vidéo au Collège Bart. Le cours était très dur parce qu'il est vraiment intensif. J'ai aimé l’expérience et je veux dire Merci Beaucoup à tous mes excellents profs et collègues!
Vous pouvez jouer les jeux en Flash 2D et le jeu multiplayer en Unity3D qui s’appelle Aliens4Fun (inspiré dans le TF2) dans les liens en bas. Si vous voulez voir les codes, envoi-moi une message. J'espère que vous les aimez :D 

[PT]
Gostaria de mostrar a voces um pouco sobre o curso AEC de Programaçao de Jogos do  Collège Bart. O curso foi muito dificil porque ele é realmente muito intenso. Eu gostei dessa experiencia e eu quero dizer Muito Obrigado a todos os meus otimos professores e colegas!
Voces podem jogar os jogos em Flash 2D e o jogo multiplayer chamado Aliens4Fun em Unity3D (inspirado no TF2) nos links abaixo. Se voces quiserem ver os codigos, me mandem uma mensagem. Espero que gostem :D




Remember: They are just student projects!
Rappelez-vous: Ils sont juste des projets d'étudiant!
Lembrem-se: Sao apenas projetos de estudante!

    

22 September 2012

dpColorOverride


[EN] Hello, this is a very simple script to set a color override for a list of selected objects in Maya. You need just to copy it to your shelf as Python script. I hope you enjoy :)

[FR] Bonjour, ça c'est un script très simple pour choisir la couleur de la sélection d’objets dans le Maya. Vous devez juste le copier pour votre shelf comme Python script. J'espère que vous l'aimez :)

[PT] Olá, esse é um script bem simples pra escolher a cor de uma lista de objetos selecionados no Maya. Voce precisa somente copiar ele pra sua shelf como um script Python. Espero que gostem :)

25 August 2012

dpUnityExport


[EN] Hi all. After set a lot of attributes and do this many times at the same way..., I decided write a simple Python script in order to help export animations from Maya to Unity3D! Thanks to my teachers Joé Bissonnette, Olivier McClish and Étienne Dubois. Now, I am releasing it freely to help you too, if you need to simplify your pipeline.
To install it, you just need download this file here, put the extracted file in the folder like: C:/ Program Files / Autodesk / Maya2012 / Python / lib / site-packages / on Windows or Users / yourUserName / Library / Preferences / Autodesk / maya / 2012-x64 / scripts / on Mac. Then, call the script using the code below as Python in the scriptEditor on Maya. You will get the UI and there are some information to set up as Naming (character and animation), Folder (to export), etc.
The main idea for this script is: save a new scene to "_bake", import references, bake joint animation using the timeline, set some scale attributes, delete unnecessary nodes keeping the hierarchy and export as FBX file. It will create a FBX with a good name like:
 characterName + @ + animationName.
We also need the FBX of the Tpose in the same folder in order to Unity identify easily the animations. See the image below as an example. I hope you like it!


[FR] Bonjour. Après configurer plusieurs atribues plusieurs fois de la même manière..., j'ai décidé écrire un script simple en Python pour aider à exporter des animations du Maya pour l'Unity3D! Merci aux mes profs Joé Bissonnette, Olivier McClish et Étienne Dubois. Maintenant, je le publique gratuitement pour vous aider aussi si vous avez besoin de simplifier votre pipeline.
Pour l'installer, il faut faire le téléchargement de ce fichier la, mettre son contenu « extracté » dans le dossier comme C:/ Program Files / Autodesk / Maya2012 / Python / lib / site-packages / pour le Windows ou Users / yourUserName / Library / Preferences / Autodesk / maya / 2012-x64 / scripts / pour le Mac. Depuis, appeler le script en utilisant le code en Python dessous dans le scriptEditor dans le Maya. Vous allez avoir l’UI et il y a quelques informations comme Nom (personnage et animation), Dossier (pour l’exporter), etc.
L'idée principale du script est: enregistrer une nouvelle scène "_bake", importer les références, baker les animations des joints en utilisant la timeline, configurer quelques attribues de scale, effacer des nodes qui ne sont pas nécessaires et exporter comme un fichier FBX. Il va créer un fichier FBX avec un bon nom comme:
nomDuPersonnage + @ + nomDeLAnimation.
Aussi, nous avons besoin d'avoir le FBX de la poseT dans le même dossier pour aider l'Unity à trouver facilement les animations. Voir l'image en bas comme un exemple. J'espère que vous aimez.


[PT] Olá pessoal. Depois de configurar varios atributos varias vezes do mesmo modo…, decidi escrever um simples script em Python para ajudar a exportar animações do Maya para o Unity3D! Obrigado aos meus professores Joé Bissonnette, Olivier McClish e Étienne Dubois. Agora, estou publicando-o gratuitamente pra ajuda-los a simplificar sua pipeline.
Para instala-lo, baixe o arquivo aqui, coloque o conteudo extraido no diretorio como : C:/ Program Files / Autodesk / Maya2012 / Python / lib / site-packages / no Windows ou Users / yourUserName / Library / Preferences / Autodesk / maya / 2012-x64 / scripts / no Mac. Então, chame o script usando o codigo em Python abaixo no scriptEditor no Maya. Surgirá a UI e terão algumas informações como Nome (personagem e animação), Pasta (para exportar), etc.
A ideia principal do script é: salva uma nova cena « _bake », importa as referencias, bake as animações de joints usando a timeline, configure alguns atributos de escala, apaga alguns nodes desnecessarios e exporta como arquivo FBX. Ele vai criar um arquivo FBX com um bom nome, tipo :
nomeDoPersonagem + @ + nomeDaAnimacao.
Precisa tambem do arquivo FBX da poseT no mesmo diretorio para que o Unity encontre facilmente as animações. Veja a imagem abaixo como exemplo. Espero que gostem.



# Folder:



# Code:
import maya.cmds as cmds
import dpUnityExport as dpUE
reload(dpUE)
dpUE.UI()

21 August 2012

Bivouac Urbain 2012


[EN] Hi everybody! I had the pleasure to participate at the Bivouac Urbain 2012. This is an event where the teams have just 48 hours to create a game (or a short film animation, or a digital picture) and I was invited to integrate a student team from Collège Bart. I was responsible to create 2 characters in 3D. The time was very short to do everything from model to animation. I liked very much this experience!

[FR] Salut! J'ai eu le plaisir de participer à Bivouac Urbain 2012. C'est un évènement où les équipes ont juste 48 heures pour créer un jeu vidéo (ou une animation de court-métrage, ou une peinture numérique) dont j'étais invité à intégrer une équipe d'étudiants du Collège Bart. J'étais responsable pour créer 2 personnages en 3D. Le temps était vraiment court pour faire tout, dés modèle à l'animation. J'ai aimé beaucoup cette expérience!

[PT] Olá! Eu tive o prazer de participar da Bivouac Urbain 2012. É um evento onde equipes têem somente 48 horas para criar um jogo (ou um curta-metragem animado, ou uma pintura digital), e eu fui convidade a integrar uma equipe de estudantes do Collège Bart. Eu fui responsavel pela criaçao de 2 personagens em 3D. O tempo foi realmente muito curto pra fazer do modelo à animação. Gostei muito da experiencia!




Credits and special thanks to:
Programmers:
    Jonathan Chouinard
    Raphael Sevigny
    Stephane Beaupre
Game Designer:
    Frederic Plante




Thanks to Collège Bart for this great opportunity!

15 August 2012

Barbie - PBKids

[EN] Hi everybody! Here I would like to show a professional job did to Laruccia Animation Studios when I have the opportunity to use the dpAutoRigSystem to create the rig for the Barbie character. It's just an example for the scripted biped module. I hope you like it. Thanks.

[FR] Salut! Je voudrais vous montrer un travail professionnel que j'ai fait pour la Laruccia Animation Studios où j'avais l'opportunité d'utiliser le dpAutoRigSystem pour créer le rig de la personnage Barbie. C'est juste un exemple du module bipède scripté. J'espère que vous l'aimez. Merci.

[PT] Olá! Eu gostaria de mostrar um trabalho profissional para a Laruccia Animation Studios onde eu tive a oportunidade de usar o dpAutoRigSystem para criar o rig da personagem Barbie. É somente um exemplo do modulo bipede scriptado. Espero que gostem. Obrigado.

Rigging:


Final Result:

07 August 2012

Brewmaster Korra

[EN] Eduardo Lamhut has created an amazing animation of Brewmaster Korra, a character from Dota 2, Valve's game. I was very impressed and happy, because he used the dpAutoRigSystem to do this great work. I hope you like these videos too. Thanks Eduardo!

[FR] Eduardo Lamhut a crée une excellente animation du Brewmaster Korra, un personnage de Dota 2, jeu de la Valve. J'étais beaucoup impressionné et heureux, parce qu'il a utilisé le dpAutoRigSystem pour faire ce magnifique travail. J’espère que vous aimez ces vidéos aussi. Merci Eduardo!

[PT] Eduardo Lamhut criou uma excelente animação do Brewmaster Korra, um personagem de Dota 2, jogo da Valve. Fiquei muito impressionado e feliz, pois ele usou o dpAutoRigSystem pra fazer esse otimo trabalho. Espero que voces gostem desses videos tambem. Obrigado Eduardo!

Free download here.




30 March 2012

NimboCG - Interview


[EN] Here's a nice interview for NimboCG about my career (in Portuguese). Thank you Ricardo Bess for this opportunity. I hope you like it :)


[FR] Voilà une bonne entrevue pour le NimboCG par rapport ma carrer (en portugais). Merci beaucoup Ricardo Bess pour l'opportunité. J'espère que vous aimez :)


[PT] Aqui uma entrevista legal para a Nimbo CG sobre minha carreira (em portugues). Muito obrigado Ricardo Bess pela oportunidade. Espero que gostem :)

04 February 2012

Conquistador

[EN] I am very very happy because the "Morium" hat, named "Conquistador", is now in Team Fortress 2 game by Valve. Thank you Valve and everyone who voted for it! I hope you enjoy this soldier hat in the best game ever :D

[FR] Je suis trop heureux parce que le chapeau "Morium", qui s’appelle "Conquistador", est maintenant dans le jeu Team Fortress 2 de la Valve. Merci beaucoup Valve et tout le monde qui a voté! J'espère que vous appréciez ce chapeau du soldat dans le meilleur jeu de tous les temps :D

[PT] Estou muito muito feliz porque o chapeu "Morium", chamado "Conquistador", esta agora no jogo Team Fortress 2 da Valve. Muito obrigado Valve e a todos que votaram por ele! Espero que gostem desse chapeu do soldado no melhor jogo de todos os tempos :D

11 December 2011

Coke - Goals

[EN] It is a great job that I enjoyed to work as a remote freelancer while I lived in Montreal. I liked because I could use some python scripts that I wrote for the Remote Asset Manager in Vetor Zero / Animatorio studio :) Thanks Richard Kazuo (riggerman), Vivi Adade, Wesley Schneider and all team for the good result!
[FR] Celui-ci est un excellent travail où j'ai aimé travailler comme un freelancer à distance pendant que j'habitais à Montréal. J'ai aimé parce que j'ai pu utiliser quelques scripts en python que j'ai écrit pour le Remote Asset Manager dans le Vetor Zero / Animatorio studio :) Merci Richard Kazuo (riggerman), Vivi Adade, Wesley Schneider et toute l'équipe pour le très bon résultat.
[PT] Esse é um trabalho legal que eu gostei de participar como freelancer remoto enquanto eu morava em Montreal. Eu gostei pois eu pude usar alguns scripts em python que eu escrevi para o Remote Asset Manager na Vetor Zero / Animatorio estudio :) Obrigado Richard Kazuo (riggerman), Vivi Adade, Wesley Schneider e toda equipe pelo otimo resultado.


Rigging:


Final Results:


10 December 2011

Cinemark Trailer - 2011

[EN] This is the 2011 Cinemark trailer where I had the opportunity to create some rigs for Casablanca studio as a remote freelancer. Thanks Riggerman and Aline Lima for the support and also MOA and his team for the great job!
[FR] Voilà le Cinemark trailer 2011 où j'ai eu l'opportunité de créer quelques rigs pour le studio Casablanca comme un freelancer à distance. Merci Riggerman et Aline Lima pour l'aide et aussi à MOA et l'equipe pour le travail excellent!
[PT] Esse é o trailer do Cinemark 2011 onde eu tive a oportunide de criar alguns rigs para o estudio Casablanca como um freelancer remoto. Obrigado Riggerman e Aline Lima pelo suporte e tambem ao MOA e equipe pelo otimo trabalho!

Rigging:


Final Result:

09 October 2011

dpAutoRigSystem - v 2.0



[EN] I am very happy releasing the dpAutoRigSystem version 2.0 :) It's a FREE Python script tool for Maya to help you to create any type of Rigs that you want! It's modular, multi-language and object oriented, then we can create a lot of rigs without problems, uuhhuulll... In this video, I will show you how to install it and I will do a brief explanation about how you can use it. I think it's very simple and intuitive to use. You just need to download the zip file and extract the file in a Maya Path folder like for example, C: / Program Files / Autodesk / Maya2011 / Python / Lib / site-packages /, then you use the command bellow to call the UI (User Interface). This version works fine for Maya 2011 on Windows and Mac. For Mac, you can copy the files in  / Users / yourUserName / Library / Preferences / Autodesk / maya / 2012-x64 / scripts /.
If you want to see one example, please download these files: wipGuidesbiped_expample.
I want say THANK YOU to Richard Kazuo (riggerman) for the great support, Paulo Nogueira for the tips about dictionaries using .json files, Aline Lima, Giovani Meneguel, Luiz Garrido (Zu), Roger Santos for the Mac update, Leandro Wagner for the new icons, James do Carmo for the feedback, and many other who helped me to learn programming and also in special Marina Rüegger (nina) for everything.
 I tried do my best and sorry if my language is not perfect yet or if there are some errors. I hope you enjoy it and please, send me your feedback. Thanks!




[FR] Je suis très heureux de publier dpAutoRigSystem version 2.0 :) C'est un outil en script Python gratuit pour Maya pour vous aider à créer les Rigs que vous voulez! Il est modulable, multi-langue et orienté objet, donc vous pouvez créer plusieurs rigs sans problèmes, uuhhuulll... Dans cette vidéo, je vais vous montrer comment l'installer et je vais vous expliquer rapidement l'utilisation. Je pense que c'est facile et intuitive à utiliser. Vous devez télécharger le fichier zip et l'extraire dans un dossier Maya Path comme par exemple, C: / Program Files / Autodesk / Maya2011 / Python / Lib / site-packages /, vous devez utiliser les lignes de codes dessous pour appeler l'UI (l'Interface d'Utilisateur). Cette version fonctionne bien dans le Maya 2011 en Windows et Mac. Pour le Mac, vous pouvez copier les fichier en / Users / votreNomDutilisateur / Library / Preferences / Autodesk / maya / 2012-x64 / scripts /.
Si vous voulez voir un exemple, vous pouvez faire le téléchargement de ce wipGuides et de ce fichier d'exemple ici.
Je veux dire MERCI BEAUCOUP à
 Richard Kazuo (riggerman) pour son grand support, à Paulo Nogueira pour l'aide sur les dictionnaries en utilisant les fichiers .json, à Aline Lima, à Giovani Meneguel, à Luiz Garrido (Zu), à Roger Santos pour l'update en Mac, à Leandro Wagner pour les nouveaux icones, à James do Carmo pour le feedback, et plusieurs autres qui m'ont aidé à apprendre la programmation et en spécial à Marina Rüegger (nina) pour tout. J'ai essayé de faire de mon mieux et désolé si ma language n'est pas parfait encore ou si il y a quelque erreurs. J'espère que vous aimez le script et me donnerez votre opinion, s'il vous plaît. Merci!




[PT] Estou muito feliz de lançar o dpAutoRigSystem versão 2.0 :) É uma ferramenta em script Python gratuita para o Maya para ajuda-los a criar varios tipos de Rigs que voces quiserem! Ela é modular, multi-lingue e orientada a objeto, então voces podem criar muitos rigs sem problemas, uuhhuulll... Nesse video, mostrarei como instalar e darei uma breve explicação sobre como voces podem usa-la. Eu acho que ela é bem simples e intuitiva para usar. Voces precisam somente fazer o download do arquivo zip e extrai-lo num diretorio do Maya Path como por exemplo, C: / Program Files / Autodesk / Maya2011 / Python / Lib / site-packages /, então usem o comando abaixo para chamar a UI (Interface de Usuario). Essa versão funciona bem no Maya 2011 no Windows e Mac. Para o Mac, voce pode copiar os arquivos em / Users / nomeDoSeuUsuario / Library / Preferences / Autodesk / maya / 2012-x64 / scripts /.
Si voce quiser ver um exemplo, voce pode fazer o download desse arquivo wipGuides e desse aquivo de exemplo aqui.
Eu quero dizer MUITO OBRIGADO ao
 Richard Kazuo (riggerman) pelo grande suporte, ao Paulo Nogueira pelas dicas sobre dicionarios usando arquivos .json, à Aline Lima, ao Giovani Meneguel, ao Luiz Garrido (Zu), ao Roger Santos pelo update para Mac, Leandro Wagner pelos novos icones, James do Carmo pelo feedback, e muitos outros que me ajudaram a aprender programação e especialmente à Marina Rüegger (nina) por tudo. Tentei fazer o meu melhor e desculpe se existir algum erro. Espero que voces gostem desse script e me mandem seus comentarios, por favor. Valeu!




import maya.cmds as cmds
import dpAutoRigSystem
import dpAutoRigSystem.dpAutoRig as dpAR
reload(dpAR)
dpUI = dpAR.DP_AutoRig_UI()
print "\ndpAutoRigSystem loaded with success."

Maya Essentials Bookazine



[EN] It's a great pleasure for me have our Introduction to Rigging Tutorial for Maya published in the Maya Essentials Bookazine :) I really want to thank Richard Kazuo (riggerman) and Jim Thacker from 3DWorld for the great work! You can buy a printed version at: http://www.myfavouritemagazines.co.uk/design-bookazines-maya-essentials/
[FR] C'est un vrai plaisir pour moi avoir notre "Introduction to Rigging Tutorial for Maya" publié dans le Maya Essentials Bookazine :) Je veux remercier Richard Kazuo (riggerman) et Jim Thacker du 3DWorld pour le très bon travail! Vous pouvez acheter une version imprimé en: http://www.myfavouritemagazines.co.uk/design-bookazines-maya-essentials/
[PT] É um grande prazer para mim ter nosso "Introduction to Rigging Tutorial for Maya" publicado em Maya Essentials Bookazine :) Eu realmente quero agradecer ao Richard Kazuo (riggerman) e Jim Thacker do 3D World pelo otimo trabalho! Voce pode comprar uma versão impressa em: http://www.myfavouritemagazines.co.uk/design-bookazines-maya-essentials/

13 June 2011

demoReel RIG - jun 2011

[EN] This demo reel show a little about my dpAutoRig v1.3 MEL script and some jobs. I hope you enjoy it, thanks :)
[FR] Cette "démo reel" montre un peu sur mon dpAutoRig v1.3 MEL script et quelques travaux. J'espére que vous l'apprécierez, merci :)
[PT] Essa demo reel mostra um pouco sobre meu dpAutoRig v1.3 MEL script e alguns trabalhos. Espero que gostem, obrigado :)



demoReel RIG - jun 2011 from Danilo Pinheiro on Vimeo.

12 June 2011

Vetor Zero release 1000

[EN]
I would like to say thanks to all R&D programmers of Vetor Zero studio because we could do great works together and I would like to tell you a little about the "release 1000"!

[PT]
Gostaria de dizer obrigado a todos os programadores do R&D do estudio Vetor Zero pois fizemos muitos bons trabalhos juntos e eu gostaria de lhe dizer um pouco sobre o "release 1000"!

Here are the programmers involved in this great moment: - Aqui os programadores envolvidos nesse grande momento:

Paulo Tafarello, Giovani Meneghel, Paulo Nogueira and Danilo Pinheiro (me).

The Python tools for Maya that I have helped to create are: - As ferramentas em Python para o Maya que eu ajudei a criar são:


vzInspector:
script to check and fix errors in the scene as: - script para verificar e fixar erros na cena como:
  • naming [defaultNames, duplicatedNames, correctNames, specialNames, removeAllNamespaces]
  • modeling [geometryHistory, referenced, removePolyColorPerVertex, triOrPolyFaces, polyBordersOrHoles, lockedNormals, removeInstances, nonPoly, invertedNormals, laminaFace, tFace, freezeTransform]
  • animating [expressionExists, animatedObjects, keyVisibility, scriptNode, deleteLights]
  • rendering [imagePlanes, renderableCameras, unlockedCamera, defaultShader, uvOverlap, unknowNodes, facedShader]


vzCache:
pipeline tool to export geometry cache of animated scenes and rebuild it in a clean render scene. - script para a pipeline de exportar o cache de geometrias de cenas animadas e recriar-las em uma cena limpa de render.


vzShaveTransfer:
transfer shave look between scenes. - transferir o visual do shave entre cenas.

09 May 2011

dpCopyPasteAttr.py - part 3/3 - PT

[EN]
Here we will finish the dpCopyPasteAttr.py Python script for Maya, I will show you how to implement a new functionality to optimize the code and become this script more intuitive  for users. The new thing to do is create another function to call copy and paste functions to select multiple objects and the first one will be our From objet and the other will receive its values. That was a suggestion from Viviane Adade, a collegue in  Vetor Zero - Lobo - Animatorio studio.
Now we have the conclusion for this Python tool for Maya.
You can download this script and use it freely :)
I hope you like it and please, give me your feedback!
Thanks a lot everyone...


[PT]
Aqui nós finalizaremos o dpCopyPasteAttr.py Python script para Maya, eu mostrarei como implementar uma nova funcionalidade para optimizar o codigo e torna-lo mais intuitivo para os usuarios. A nova coisa a se fazer é cirar outra função para chamar as funções copy e paste para multiplos objetos selecionados e o primeiro sera nosso objeto From e os outros receberão seus valores. Essa foi uma sugestão de Viviane Adade, uma colega no estudio Vetor Zero - Lobo - Animatorio.
Agora temos a conclusão dessa ferramenta de Python para o Maya.
Voce pode fazer o download desse script e usa-lo livremente :)
Espero que voce goste dele e por favor, me retorne sugestões e comentarios.
Muito obrigado a todos...



dpCopyPasteAttr.py - part 3/3 - PT from Danilo Pinheiro on Vimeo.

01 May 2011

dpCopyPasteAttr.py - part 2/3 - PT

[EN]
In this lession we will continue to create the dpCopyPasteAttr.py, a good tool for Maya using Python. Here we will create a very simple user interface window with only two buttons (Copy From Attr) and (Paste To Attr). These buttons will call two functions to copy and paste attributes respectivelly. This is really simple and good to break the mistery of UI (user interface).

[PT]
Nessa aula iremos continuar a crear o dpCopyPasteAttr.py, uma boa ferramenta para o Maya usando Python, Nos iremos criar uma simples janela de interface para o usuario com apenas dois botões (Copy From Attr) e (Paste To Attr). Esses botões chamarão duas funções para copiar e colar atributos respectivamente. Isso é realmente simples e bom pra quebrar o mistério de UI (interface de usuario).


dpCopyPasteAttr.py - part 2/3 - PT from Danilo Pinheiro on Vimeo.

30 April 2011

dpCopyPasteAttr.py - part 1/3 - PT

[EN]
In this tutorial, I will show you how to create a good tool for Maya using Python named dpCopyPasteAttr.py. This tool was created in MEL script by Giovani Meneghel in Vetor Zero - Lobo - Animatorio company in order to help users to copy and paste many attributes from a selected object and selected attributes from channelBox to another object without need to copy and paste a lot of times for each desired attribute. So, this tool is really useful for simplify the proccess to transfer transformations from one object to other.
In this lession, we will see the main code to:
  • list the From object
  • list the To object (or more than one)
  • get selected attributes from channelBox
  • store attributes values of From objects
  • set values in To object
A good concept we will understand here is the powerfull variable called Dictionary in Python. Using dictionary we can store a lot of information as a data base to access when we need.
I hope you like this!
Thanks.


[PT]
Nesse tutorial, eu irei mostrar como criar uma boa ferramenta para o Maya usando o Python chamada dpCopyPasteAttr.py. Essa ferramenta foi creada em MEL script por Giovani Meneghel na empresa Vetor Zero - Lobo - Animatorio para ajudar os usuarios a copiar e colar varios atributos de um objeto selecionado e atributos selecionados da channelBox para outro objeto sem precisar copiar e colar varias vezes para cada atributo desejado. Então, essa ferramenta é realmente util para simplificar o processo de tranferir transformações de um objeto para outros.
Nessa aula, nós iremos ver o principal codigo para:
  • listar o objeto From
  • listar o objeto To (ou mais de um)
  • pegar os atributos selecionados da channelBox
  • guardar os valores dos atributos do objeto From
  • setar valores no objeto To
Um bom conceito que iremos entender aqui e a poderosa variavel chamada Dicionario em Python. Usando dicionario nos podemos guardar muita informação como banco de dados para acessar quando precisarmos.
Espero que gostem!
Obrigado.



dpCopyPasteAttr.py - part 1/3 - PT from Danilo Pinheiro on Vimeo.

18 April 2011

3DTotal's Introduction to Rigging - eBooks released!

[En]
I am very happy seeing the releasing of our Rigging Tutorial wrote for 3DTotal :)
Thanks Richard for your great work and Juan for the 3DS Max part!

[PT]
Estou muito feliz vendo o lançamento do nosso Tutorial de Rigging escrito para o 3DTotal :)
Obrigado Richard pelo seu grande trabalho e Juan pela parte do 3DSMax!

05 April 2011

Curso de Rigging - Art & Cia

[EN]
I had the great opportunity to be a teacher in a Rigging course at Art & Cia school in Fortaleza, Brazil. For me those days (March 30th and 31th, and April first - 2011) were really fun. All my students are very talented and we got a lot of experiences together. I would like to say thank you very much to all my new friends and specially to Claudio Martins and Raquel Garcia who worked to make this project possible! I think we should use our time to improve our knowlegde, and we need of courses like this to get the success. You can know more about the beautiful Art & Cia school clicking here. Again, thanks :)

[PT]
Eu tive a grande oportunidade de ser professor em um curso de Rigging na escola Art & Cia em Fortaleza, Brasil. Para mim, aqueles dias (30 e 31 de Março, e primeiro de Abril - 2011) foram realmente legais. Todos os meus alunos são muito talentosos e nos aprendemos muitas coisas juntos. Eu gostaria de dizer muito obrigado a todos meus novos amigos e especialmente ao Claudio Martins e Raquel Garcia que trabalharam para tornar esse projeto possivel! Eu acho que devemos usar nosso tempo para aprimoramento do nosso conhecimento, e nos precisamos de cursos como esse para alcançarmos o sucesso. Voce pode saber mais a respeito da linda escola Art & Cia clicando aqui. Novamente, obrigado :)

Here is the character that we used in this course (I have modeled and texturized it too) -
Aqui esta o personagem que usamos no curso (eu o modelei e texturizei tambem).


Here I teaching Rig :)  -  Aqui eu ensinando Rig :)


They are Claudio Martins and Raquel Garcia.  -  Estes são Claudio Martins e Raquel Garcia.


Here are my great students!  -  Aqui estão meus grandes alunos!

UUUHHHUUULLL !!!

03 April 2011

Tutorial - Python in Maya - Exemplo Pratico - PT

[EN]
In this lesson, we will see a little practical example about using Python in Maya. We will just create a connection between a node (locator) and selected objects in then scene. The concepts of "variable", "list" and "for loop" are usefull to make our code more simple. I hope you enjoy :)

[PT]
Nessa lição iremos ver um pequeno exemplo pratico usando Python no Maya. Nós apenas criaremos uma conecção entre um node (locator) e objetos selecionados na cena. Os conceitos de "variavel", "lista" e "loop for" sao uteis para fazer nosso codigo mais simples. Espero que gostem :)


Tutorial - Python in Maya - Exemplo Pratico - PT from Danilo Pinheiro on Vimeo.

20 March 2011

Tutorial - Python in Maya - Conditional if - PT

[EN]
Here we will learn about the concept of the Conditional. We will use the IF in order to verify if the condition is True or False. This is very usefull to make the program more "inteligent" and efficient to choose one or another code to be processed.

[PT]
Aqui aprenderemos sobre o conceito de Condicional. Nós usaremos o IF para verificar se a condição é Verdadeira ou Falsa. Isso é muito util pra tornar o programa mais "inteligente" e eficiente para escolher um ou outro codigo para ser processado.


Tutorial - Python in Maya - Conditional if - PT from Danilo Pinheiro on Vimeo.

17 March 2011

Tutorial - Python in Maya - Loop: For - PT

[EN]
Using the concept of List variables in Python, we will study the power of Loops in programmation. We will check the For loop working with lists of integers, strings and beyound. Loop is a technique to run many times a command changing the variable in this command and then we can simplify our code and make it more legible and easier to maintenance.

[PT]
Usando o conceito de Variaveis Lista em Python, nós iremos estudar o poder dos Loops (Ciclos) em programação. Nós checaremos o For loop trabalhando com listas de integers, strings e alem. Loop é uma tecnica de rodar muitas vezes um comando alterando a variavel nesse comando e entao nós podemos simplificar nosso codigo e fazer dele mais legivel e de facil manutenção.


Tutorial - Python in Maya - Loop: For - PT from Danilo Pinheiro on Vimeo.

06 March 2011

Tutorial - Python in Maya - Variable: List - PT

[EN]
I will show you in this tutorial, a great variable called List. In Python we can use Lists to work with a lot of information together. The concept is clear when we think in a serie of indexed variables in a single cluster named List. Other language like MEL also call Lists as Arrays. Python has an advantage because it can works with list of any type together.

[PT]
Eu mostrarei nesse tuturial, a otima variavel chamada Lista (List). Em Python nós podemos usar Listas para trabalhar com muitas informações juntas. O conceito é claro quendo nós pensamos em uma serie de variaveis indexadas em um unico grupo chamdo Lista (List). Outas linguagens como MEL tambem chamam Listas de Arrays. Python tem uma vantagem pois ele pode trabalhar com lista de qualquer tipo juntas.


Tutorial - Python in Maya - Variable: List - PT from Danilo Pinheiro on Vimeo.

27 February 2011

Tutorial - Python in Maya - Variables, Operations - PT

[EN]
In this tutorial, i will show you Integer and Float Variables and make some operations with they like sum, subtraction, multiply and division. Then, we will use Python to set the value in one object, just to illustrate the operation idea.

[PT]
Nesse tutorial, eu mostrarei as Variaveis Inteiro (Integer) e Decimal (Float) e farei algumas operações com eles como soma, subtração, multiplicação e divisão. Então, nós usaremos o Python para configurar o valor em um objeto, somente ilustrando a ideia de operação.


Tutorial - Python in Maya - Variables, Operations - PT from Danilo Pinheiro on Vimeo.

21 February 2011

Tutorial - Python in Maya - Variables: Integer, String - PT

[EN]
In this tutorial, we will understant the concept of Variable. We will see some examples of Integer and String Variables. Just a simple declaration and utilization of a variable can help us to avoid a lot of work if we need to edit your script in the future, because instead to edit the "stamped" value each time we just need to edit one time the declared value of the variable and the code will be changed automatically.

[PT]
Nesse tutorial, nos iremos entender o conceito de Variavel. Nós veremos alguns exemplos de Variaveis Inteiro (Integer) e Texto (String). Somente uma simples declaração e utilização de uma variavel pode nos ajudar a evitar muito trabalho se nós precisarmos editar nosso script no futuro, pois ao invez de editar o valor estampado cada vez nós somente precisaremos editar uma vez o valor declarado da variavel e o codigo sera alterado automaticamente.


Tutorial - Python in Maya - Variables: Integer, String - PT from Danilo Pinheiro on Vimeo.

15 February 2011

Tutorial - Python in Maya - External Editor - PT

[EN]
In this tutorial, i will show you how use an external editor like Notepad++ (or other: Eclipse, JEdit, etc...). I will call an external MEL file and also an external Python file saved in our HD. This is very useful because we can save our scripts and edit it outside Maya.

[PT]
Nesse tutorial, eu mostrarei como usar um editor externo como Notepad++ (ou outros: Eclipse, JEdit, etc...). Eu chamarei um arquivo externo de MEL e tambem um arquivo externo de Python salvos em nosso HD. Isso é muito util pois nos podemos salvar nossos scripts e edita-los fora do Maya.


Tutorial - Python in Maya - External Editor - PT from Danilo Pinheiro on Vimeo.

06 February 2011

Tutorial - Python in Maya - MEL to Python - PT

[EN]
In this tutorial, i will introduce you to Python in Maya. We will translate some MEL commands to Python and learn how create shelf buttons with procedural codes.

[PT]
Nesse tutorial, eu apresentarei o Python no Maya. Nós traduziremos alguns comandos do MEL para o Python e aprenderemos como criar botões do shelf com codigos procedurais.


Tutorial - Python in Maya - MEL to Python - PT from Danilo Pinheiro on Vimeo.

05 February 2011

Tutorial - Python in Maya - Start - PT

[EN]
In this tutorial, i will show you how start your programming studies in Maya. We will see some simple commands in MEL in order to understand the Maya workflow, the results printed from Maya as histories and we will learn a little about the Script Editor. Remember to consult the Maya Help Command Reference, because there are a lot of good information in this great documentation.

[PT]
Nesse tuturial, eu mostrarei como iniciar seus estudos de programação no Maya. Nós veremos alguns comandos simples em MEL para compreender o fluxo de trabalho do Maya, os resultados retornados do Maya como historicos e nos aprenderemos um pouco sobre o Script Editor. Lembre de consultar a Ajuda de Referencias de Comandos Maya, pois existem muitas boas informacoes nessa otima documentação.


Tutorial - Python in Maya - Start - PT from Danilo Pinheiro on Vimeo.

29 January 2011

Mechanical Threads

[EN]
This is a little demonstration of mechanical thread rigs for two jobs in VetorZero - Lobo - Animatorio. It uses expressions in order to run the thread without slip. The main concept for this process is:
  • create a cv circle curve to be your path;
  • calculate the number of thread pieces, taking the cvCircle lenght divided by the piece size
    (it will be your $nThread variable);
  • create some attributes to control your expression like in dpWeel to automatic rotation by translation.
  • attache your pieces to the cvCircle as motionPath;
  • break the uValue from motionPath to connect the expression controling the offset of them.
Bellow the resume of the expression... I hope you enjoy :) Thanks.

[PT]
Essa é uma pequena demonstração de rigs de esteiras mecanicas de dois trabalhos da VetorZero - Lobo - Animatorio. Ele usa expressões para rodar a esteira sem derrapar. O pensamento principal do processo é:
  • crie uma curva de circulo para se seu path;
  • calcule o numero de peças, pegando o comprimento do circulo dividido pelo tamanho da peça (essa sera sua variavel $nThread);
  • crie alguns atributos para controlar sua expressao como em dpWeel para automatizar a rotação pela translação;
  • anexe suas peças no circulo como motionPath;
  • quebre o uValue do motionPath para conectar a expressão controlando os offsets deles.
Abaixo um resumo da expressão... espero que gostem :) Obrigado.

// declare variables:
float $l_autoRot, $l_startFrame, $l_scaling, $l_cFWhel, $l_cFVelo, $l_wRadius, $l_dist, $l_Pi, $l_displacement, $l_direction, $l_treadDisplacement, $l_treadDist;
float $l_nTread = 0.01639344262;
vector $l_lastPosition;

// reset rotations when in frame 1 or startFrame:
$l_startFrame = moveALL_ctrl.startFrame;
if ( frame == 1 || frame <= $l_startFrame )
{
    moveALL_ctrl.lLastPositionX = moveALL_ctrl.translateX;
    moveALL_ctrl.lLastPositionY = moveALL_ctrl.translateY;
    moveALL_ctrl.lLastPositionZ = moveALL_ctrl.translateZ;
    $l_lastPosition = << 0, 0, 0 >>;
   
    l_tread_motPath0.uValue = 0*$l_nTread;
    l_tread_motPath1.uValue = 1*$l_nTread;
    l_tread_motPath2.uValue = 2*$l_nTread;
    //...
    //l_tread_motPath60.uValue = 60*$l_nTread;
};

// verify if the control was moved in order to get its relative distance:
$l_lastPosition = << moveALL_ctrl.lLastPositionX, moveALL_ctrl.lLastPositionY, moveALL_ctrl.lLastPositionZ >>;
vector $l_position = << moveALL_ctrl.translateX, moveALL_ctrl.translateY, moveALL_ctrl.translateZ >>;
float $l_distance;
if( $l_lastPosition != $l_position ) {
    $l_distance = mag( $l_position - $l_lastPosition );
    moveALL_ctrl.lLastPositionX = moveALL_ctrl.translateX;
    moveALL_ctrl.lLastPositionY = moveALL_ctrl.translateY;
    moveALL_ctrl.lLastPositionZ = moveALL_ctrl.translateZ;
    $l_lastPosition = << moveALL_ctrl.translateX, moveALL_ctrl.translateY, moveALL_ctrl.translateZ >>;
} else {
    $l_distance = 0;
};

// get attributes for calculus:
$l_wRadius = moveALL_ctrl.whelRadius;
$l_Pi = 3.1415926536;
$l_displacement = - (($l_distance/(2 * $l_Pi * $l_wRadius)) * 360);
$l_treadDisplacement = - (($l_distance/(2.45 * $l_Pi * $l_wRadius)) * 360);

// get attributes from control:
$l_autoRot = moveALL_ctrl.autoRotateWhels;
$l_cFWhel = moveALL_ctrl.constantFront;
$l_cFVelo = moveALL_ctrl.constFrontVelocity;
$l_scaling = moveALL_ctrl.scaling;
$l_treadDist = (($l_cFVelo * $l_cFWhel) - ($l_treadDisplacement/$l_scaling))/($l_Pi * 360);

// apply rotation by expression:
if ($l_autoRot == 1)
{
    $l_direction = moveALL_ctrl.direction;
    if ($l_direction == 0)
    {
        l_tread_motPath0.uValue += $l_treadDist;
        if( l_tread_motPath0.uValue > 1 ) l_tread_motPath0.uValue -= 1;
        l_tread_motPath1.uValue += $l_treadDist;
        if( l_tread_motPath1.uValue > 1 ) l_tread_motPath1.uValue -= 1;
        l_tread_motPath2.uValue += $l_treadDist;
        if( l_tread_motPath2.uValue > 1 ) l_tread_motPath2.uValue -= 1;
        //...
        //l_tread_motPath60.uValue += $l_treadDist;
        //if( l_tread_motPath60.uValue > 1 ) l_tread_motPath60.uValue -= 1;
    }
    else
    {
        l_tread_motPath0.uValue -= $l_treadDist;
        if( l_tread_motPath0.uValue < 0 ) l_tread_motPath0.uValue += 1;
        l_tread_motPath1.uValue -= $l_treadDist;
        if( l_tread_motPath1.uValue < 0 ) l_tread_motPath1.uValue += 1;
        l_tread_motPath2.uValue -= $l_treadDist;
        if( l_tread_motPath2.uValue < 0 ) l_tread_motPath2.uValue += 1;
        //...
        //l_tread_motPath60.uValue -= $l_treadDist;
        //if( l_tread_motPath60.uValue < 0 ) l_tread_motPath60.uValue += 1;
    };
};


Mechanical Threads from Danilo Pinheiro on Vimeo.