BUG Maya - Particles Emitting Fluids

A strange one that screwed some of my simulations. In Maya 2015/2016 if you emit fluid from particles with the lifespan mode set to Random range or rand() in lifespanPP, the particles don’t get killed if you emit the particles and the fluids at the same time, altering then your simulation.

The expectation | The reality
The expectation | The reality

Keep in mind that there isn’t any max count for the particles! It’s just limiting the max count by itself in a strange way. Some particles are killed but the majority aren’t.

The basic solution is to do the simulation in two steps, cache the particle while deactivating the fluids then do the simulation of the fluid.

You can open this .ma Maya scene to see the problem by yourself.

Tiled UV Textures, Viewports and UV Editor

If you are working in a multi-tiled UV textures environment, Autodesk introduced a way to manage that kind of setup in Maya 2015 for file nodes. It is compatible with the Zbrush, Mudbox, Mari way of setting the tiles plus a custom one.

It’s great and all, you can now see all your textures in the UV editor but sadly… there are some limitations, such as you can only view the textures with the Viewport 2.0 and not the faster, less buggy Legacy one. As you may already now, the Viewport 2.0 is not really usable yet outside of playblasting, modelling and shading, so it kinda defeat the whole purpose of the implementation of the tiled UVs.

You can “display” your textures in the Legacy Viewport by setting the Textured channel to “Combined Texture” in the “Hardware Texturing” section of the shader, but the result is really really bad.

Read More

Channel Box and Selection Change

Back in March I wrote an article about a strange new behaviour in Maya 2014 and that the Channel Box now keeps the channel selection even if we change the object selection.

A welcomed change we were waiting for a long time… but it would also cause problems to some animators and their habits. Well, let’s praise because Autodesk have heard your prayers!

In Maya 2016 there is a new optionVar to tell Maya to clear the selection in the Channel Box after each selection. To do so just enter this command to set it, it is not available anywhere in the UI.

cmds.optionVar(iv=('ChannelBox_ClearSelectionOnObjectSelectionChange', 1))
optionVar -iv "ChannelBox_ClearSelectionOnObjectSelectionChange" 1

Viewport 2.0 and Performances

The viewport 2.0 has some really nice features like motion blur, ambient occlusion, anti aliasing but it’s still not really usable regarding performances and bugs. I have seen a performance loss around 30-40% even with the basic settings and wireframe mode.

But the worst is that even if you change all your viewport to the Legacy one, the performance loss is still very noticeable :

  • only legacy - 100%
  • activate viewport 2 - 70%
  • reuse legacy in all viewports - 87%

Since Maya 2015 the viewport 2.0 is activated by default, so if the user that worked on the scene previously has not changed its default viewport and if you load the UI settings from the scene, you may have some viewport 2.0 instances in the scene, even if your main viewport is in legacy mode.

Read More

loadReferenceDepth behaviour in Maya 2015

The command file -open -loadReferenceDepth “none” allows you to open your scene without any references loaded, it is very useful for debugging or just opening a scene faster and loading only what you need to for you to work.

But if you have opened your file with this command, there is a new behaviour in Maya 2015 regarding the loading of nested references after the initial loading of the scene.

  • Pre-2015, if you load a top reference with the Reference Manager, it will automatically load all the nested references inside it.
  • Starting with 2015, it won’t load the nested references, but will act the same way as the “topOnly” argument works. The nested references will have to be loaded manually, but this can lead to some problems in some setups (Remap Missing Namespace). One way to load the nested references automatically is to use the file -loadReference “yourRefRN” on the top one.

Sounds like a bug to me, but who knows?

For more information about the different ways of opening scenes, check this article by Owen Burgess on Maya Station.

Orthographic Cameras Far Far Away

The perspective and orthographic camera are not created in the same way. This is just a quick note about the difference at creation since it can be quite disturbing to some users.

Here is a little usecase:

  • First create a sphere, and change its scale to 3000.
  • Then create a perspective camera throught the viewport Panel menu.
  • Then create an orthographic camera throught the same menu.

Notice how your orthographic cameras are very very far away while the persp is just always at the same place ?

It is related to the viewSet command. The flags regarding the orthographic views always zoom out a lot to get a hold on all objects and make them visible to the users.

Yes, it is normal and nothing is wrong with your setup.

BUG Maya - Camera Aim and Anim Layers

A very old bug indeed, but I never heard of it before: If you use an anim layer on a camera with an aim, it will break it to some extent. You can still use it, but some functionalities may not behave correctly. By the way you can’t update a camera to a camera with aim if this camera already has an anim layer. It’s as simple as that, cameras with aim do not like anim layers.

How to reproduce #

Create the camera with aim

$camera = `camera`;
cameraMakeNode 2 "";

If you try to get the lookAt node (aim) of the camera:

getCameraNode "lookAt" $camera[0];
// Result: camera1_group //

Now create the anim layer with the camera in it.

$animLayer = `animLayer`;
animLayer -edit -addSelectedObjects $animLayer;

If you haven’t noticed, your camera aim is broken in the viewport as soon as you added it to the anim layer.

And now if you try to get the lookAt node of the camera.

$lookAt = `getCameraNode "lookAt" $camera[0]`

It can’t retrieve the lookAt node.

Camera Before/After Anim Layer

Read More

Different Color Choosers in Maya

Do you remember when Autodesk Maya went from the old grey color picker to the new Qt one in Maya 2011? So much rage… that tiny window disappearing all the time was kinda frustrating on comparison to the old one.


Well, everybody may already know this but… but if you do a double-click on a color picker button instead of a single-click, it will bring this fantastic and usable window. Enjoy!


More over, if you drag and drop a color picker button, it will open the floating window where you dropped your click.




One last tip for the road, in Maya 2010 you could pick a color outside of Maya very easily, but now the pipette just don’t work outside Maya… in fact it works with a workaround: use the pipette on the Maya UI but don’t release your mouse, then unclick wherever you want outside of Maya and voila!

BUG Maya 2015 itemFilterAttr crash

There is a new bug in Maya 2015, if you try to create an itemFilterAttr with some filters like hidden, writable, readable, keyable, etc. in conjunction of the -byScript flag. It crashes regardless of the programming language used. MEL, maya.cmds and pymel even with the example given in the its documentation.

def procName(nodeName, attrName):
    return True
cmds.itemFilterAttr(keyable=True, byScript=procName)
global proc int procName(string $nodeName, string $attrName) {
    return 1;
}
itemFilterAttr -k 1 -bs procName;

The filterClass attribute of the itemFilterAttr is set to 0 (other) by default on 2014 while it is set to 2 (user) in 2015.

Maya UI and passing arguments to functions

Just a little reminder to get all the different ways of passing arguments from a native Maya UI. Just type anything and see the result in the text field at the bottom. You can see that when you use a class, the basics methods offered by Maya do not work.

Some methods are obviously better than others, personally I totally recommend the use functools.partial, it gives only advantages over the others. Pymel is great, but I personally don’t use it any more as some studios don’t support it—as well as Autodesk—and because I had some crash problems with it in batch mode in the past, and don’t forget the 2 seconds freeze from its first import.

The Qt (cute) framework is easily available since Maya 2011 switching to PySide in Maya 2014 but I will not cover those cases for now.

Read More