customLocator

During this weekend i had some time to finish the customLocator node in Autodesk Maya. This node allows the user to draw some predefined shapes in OpenGL: Circle, Cube, Disc, Locator, Arrow and Cone.

The node contains some useful parameters that change the way OpenGL will draw the shapes. For instance, Colors, XRay, Fade based on Distance.

See you soon ^^

meshControl Custom Locator

Ladies and Gentlemens, i introduce you meshControl: a custom Locator for Autodesk Maya, developed in C++, that draws a list of faces of a geometry in the viewport 3D using OpenGL. The node has some useful parameters to modify the way OpenGL will paint the geometry, such as selected Color, unselected Color, XRay, Fade based on Distance. Moreover, a custom Tool has been developed to make easier the process of creation, modification and search of the Locators.

♥  Hope you like it!!

Comienzos 2017

Hola a tod@s:

Hace tiempo que no escribo, y es que en verdad he estado bastante liado, con mudanzas, con grabaciones, e intentando disfrutar la vida. Hace varios meses ya entré a formar parte del departamento de Tools en Ilion Animation Studios. Los cambios, la mudanza a Madrid, todo ha sido bastante caótico inicialmente y ha llevado bastante tiempo.

Asimismo, he estado grabando lo que son ya 2 cursos online para la nueva plataforma de Computer Graphics PlanetaCG. Estos dos cursos hablan de programación en Maya usando Python. A día de hoy, solamente el primero de ellos, Introducción a Python en Maya está disponible (El segundo de la serie está editándose en estos momentos). Siguiendo los 2 cursos, en mi opinión, se comienza en un nivel de conocimiento 0, para llegar a un nivel de conocimiento medianamente avanzado en lo que puede ser la programación en Maya usando Python.

Me despido citando a Kintaro Oe:

“Aprendo Aprendo Aprendo”

Maya Rigging Tools Reel 2016

As most of you already know, during the last months I have been studying Rigging and Tools developing in Maya full-time. This is the result. There are several Rigs and Tools that haven’t been included in this Demo. Nevertheless, I will try to post about them as soon as possible. Enjoy ^^.

Click as much as you want!! It does nothing!!

Marian BlendShapes

Hi All:

This afternoon i would like to show you a facial rig i finished last week. About the rig, all the deformations has been done using blendShapes, an skinCluster with two joints to control the head and the jaw, and finally some deformers were used to get the squash stretch deformation. All the work has been done using Maya 2016.

 

I hope you like it!! ^^

3D Studio Max Skinning Tool inside Maya

When i started rigging in Maya, i found the way of weighting, using mainly painting tools, a little weird in some cases. It was quite annoying to weight some vertices in fast and accurate way. So i decided to develop a tool that emulates the weigting tool that is available in 3D Studio Max.

Using this tool, it is quite easy to set, scale, add or substract a small amount of influences from a pool of vertices with just a couple of mouse clicks. I found it astonishingly fast weighting fingers, lips, eyelids, and generally, places where i want the weight to be decreasing following loops or rings.

mnWeightTool

It has been developed using Python and PySide with custom Widgets ( for every row in the list of joint influences ). I have also added the possibility of Live Update the scene while user modifies influences using sliders shown in the picture, thought this option might become slow depending on the number of vertices being modified.

Anyone interested in using it, just give me a little whistle!!

^^

 

Marian Maya Rig

Morning all:

It has been quite a long time since i don’t post anything. That’s because during the last two months i have been going deeply into Rigging using Maya. In the way, i have also learnt Maya Python scripting and Pyside.

marian_and_picker

The previous image shows the first character i have developed in Maya. It’s name is Marian and has quite useful features as Stretchy Limbs, Non-Roll Twisting, Space Changes and a couple of interesting technics i have learnt here and there. Currently i am developing a Dynamic Space Change tool that for sure will be integrated into the Picker.

A demo video showing its main features will be soon available!!

^^

RapidSelection

RapidSelection

After a titanic fight againts dark forces, RapidSelection is finally published and available in the Asset Store ( hahahaha ). Simple yet usefull.

Link to Asset Store

 

 

RapidSelection is a Unity Editor extension that allow users to manage selections in an intuitive way. By using the same editor styles built-in windows use, and tracking keyboard and mouse events, make Rapid Selection‘s workflow easy and straight.

At the end, the development process has been quite long. The first and second prototype was working exactly as this one, but i realized that the workflow was not intuitive. The user had to make a couple of mouse clicks just to have a selection saved. Moreover, the UI was not look like Unity UI. So finally i decided to go a little deeper and understand how IMGUI works, and try to imitate Unity UI.

I am very grateful to David Sevilla for the amazing work he did with the design of all the necessary images for the Store.

^^

Unity Weighted Random

Random number generation is used a lot of times in videogames. The main idea is that we want to generate a random number in the range [x, y] and use it for any purpose. Let look an example from Unity point of view:

We have an array of available items to spawn, and somewhere in our code we do something like this: int index = Random.Range(0, array.Length);

This way we’re going to get a random number, and use it to spawn the item in position index of the array. (just what we want :)) The cons of this method is that all the items in the array have the same probability to be spawned, and sometimes we don’t want this behaviour. Sometimes we want to define a probability for each of the available items. Here it comes Weighted Random.

Weighted Random allow us to define a weight for each item in the array of available items, in consequence, we modify the probability of that item to be spawned. ( I have just used it to modify the probability a life is spawned in a game. I did’t want a life to be spawned with the same probability as a coin :)).

Weighted Random

So, i have uploaded a little Unity project to my github with several classes for generating weighted random integers. Weighted Random

Hope it is useful ^^