2D/3D Program News

Maya 2018 Update 2
Source:  Maya Station
Wednesday, 10 January 2018 14:09

Before the Christmas break Autodesk released Maya 2018 Update 2.  This release follows up to a big Update 1 that was released a few months earlier.  The release notes can be found here.  Downloads are available through the Autodesk Accounts Portal for current subscription users.

 

Cheers!

Nelson

 

 

 




Crash when loading scenes with displayPoints or type in mayapy
Source:  Maya Station
Monday, 13 November 2017 09:51

We have seen issues from customers who are attempting to load their scenes which contain type in mayapy that end up crashing.  These particular crashes seem to focus around the newer displayPoints node that are used in Maya.

A displayPoint node in Maya is a Utility Draw Node that is mainly used to display the Type pivot points in the .  Ultimately this crash tends to occur when the type tool is used as there is a UI draw call.

head over to our learning page for more details and workarounds.

 

 




Maya .NET hanging after the Microsoft Security and Quality Rollup for the .NET Framework KB 4040973
Source:  Maya Station
Wednesday, 08 November 2017 09:19

Microsoft recently released some security updates for Windows operating systems. I have got confirmation that the .NET update is causing Maya to hang on exit of the application.  This is only an issue for those folks who rely on .NET plugins in Maya.  KB4040973 is the update we identified.

This is currently affecting Maya 2017/2018 releases and we are already working on a solution for upcoming updates. The remedy at this point in time is to simply uninstall the security updates until a more permanent solution is determined. 

I will be posting more info here once the Updates become available.

 

Cheers!




Create a Tire Burnout using Maya Fluids
Source:  Maya Station
Tuesday, 07 November 2017 12:40

Awhile back I was met with a challenge from a customer to create a tire burnout effect using Maya fluids.  Below is the result I got after some trial and error.  While this may not work for every scenario it does allow a user who is stuck get going.  The video describe the process and attributes I used.  

I hope you enjoy it!

 

 




Maya 2018 BonusTools
Source:  Maya Station
Tuesday, 07 November 2017 10:17

Its been awhile since we posted to this blog.  Going forward I will be trying to update this more frequently with Maya release updates and issues we have hit along the way in an effort to make your lives easier.  

As a first post I thought it would good to make sure everyone is aware that Maya 2018 BonusTools  were recently released for you to enjoy.

https://apps.autodesk.com/en/Detail/Index?id=8115150172702393827&appLang=en&os=Win64

For those that are not aware of Maya BonusTools, it is a collection of useful scripts/plug-ins to make some everyday tasks a bit easier.  Please follow the link above to the Exchange store to get your copy.

Cheers!

 




Whales have arrived! (Post 7)
Source:  Art digital
Thursday, 25 February 2016 14:24

This is an artist I found noticed a couple weeks ago. This is not a digital piece. This is created by Zazac Namoo, Right now he has a video that is going around that is amazing that I saw, now I'm obsessed. I'm not sure about all the mediums he uses but I know he mostly uses watercolour and pastels. This piece above (dont know the official name) is created with watercolour and I believe colour pencil. I just love the detail. The clouds are so amazing, which is a difficult task to perform and people who can create clouds have so much skill. Zazac Namoo has a YouTube account where he posts time-lapses of him doing his art works.
Follow him on
Instagram: @bestchoice28
Youtube:       zazacnamoo
The YouTube video of this artwork: https://youtu.be/Zgd3KCdzQ2Q


Sooo
Source:  Art digital
Wednesday, 24 February 2016 21:28

Sorry, sorry! I've been missing for a bit. I would love to come back (if I remember/have the time) and post some more works of art for all of you. I would also like to start another blog, where I'll just puta little bit of everything, some reviews, art, my art, a little bit of writing. So keep a look out for that. I would like to get some more of my art out if I can, and get feedback so I can figure out what I'd like to do with my life within the next year or so. So please follow me on Twitter @Averes9 as well as share some stuff give feedback. Also check out some of the artists on here they are amazing!
Merci


Faerie Tree (Post 6)
Source:  Art digital
Wednesday, 12 August 2015 02:29

So once again, this isn't really digital... sorry about that. This piece is actually mine. And that title is, I don't really know. I don't title my things so thats is a name I literally just gave it. This is obviously of a tree,  I wanted it to be very fictional, mystical, so after I added a lamp with a pink light. I don't even know how long I spent on this, quite awhile. The tree is done with coloured pencils and the background is paint. The reason for the white around it was because I needed something to block paint from getting on the pencil because I did it after and then I liked the look of it and then extra pastel was used for last effect. If you want (though I haven't been doing much lately) you can follow me on Twitter to see other artsy things.

Twitter: @AVeres9


How to prevent Maya writing a "requires" command for a plug-in
Source:  Maya Station
Tuesday, 14 April 2015 17:02

Do you wonder why error messages about some plug-in or other that Maya cannot find continue to appear when you load a scene? Do you wish you could force Maya to unload a plug-in when saving your scene so you can avoid having it load again with the scene file ?

The objective of this tutorial is help you understand why Maya might include a reference to a plug-in in a scene file, and how to prevent Maya from doing so.

To complete this tutorial, you will need Maya 2015 SP6 or Maya 2015 Ext1 & SP6 because this Service Pack release includes two new MEL commands : unknownPlugin and unknownNode; this tutorial demonstrates how to use both of them.



What is the requires command and why is it recorded in the scene file ?

The requires command included in the scene file header tells Maya to load a plug-in file.

The Maya Software Development Kit allows developers to define new types of nodes. Before artists can use your custom node in Maya, the plug-in that defines the node's type and behaviour must be loaded and the node-type must be registered in Maya's internal plug-in database.

Let's say you have written a plug-in which registers a new node-type called "myCustomNodeType". Once the plug-in is loaded, you can create a node of this type with the following command:

createNode "myCustomNodeType" -name "customNode01";

When you save or export this node to a Maya file, this createNode command is included in the scene file (in a binary file, Maya records the node-type id instead of the node-type label).

With this createNode command referring to a custom node-type, Maya also writes information in the scene file about the plug-in that registered that node-type.

So if your scene contains a custom node, your scene file will contain at least two commands:

//
requires -nodeType "myCustomNodeType" "myPlugin" "1.0";
...
createNode "myCustomNodeType" -name "customNode01";
//

When reading your scene file, Maya will check to see if the required plug-in is already loaded. If not, Maya attempts to locate the plug-in file by searching the directory paths in the environment variable MAYA_PLUG_IN_PATH. Whether the plug-in loads, or not, Maya will continue to execute the remaining commands in the scene file and proceeds to rebuild the scene graph.

    • if the plug-in has successfully registered the custom node-type, the evaluation of the scene graph will produce the correct results. Maya considers this plug-in to be 'in-use'
    • if the plug-in cannot be loaded, instances of your custom node-type will be categorised as "unknown" when queried because Maya does not have the blue-print for the node-type. Whenever there is an "unknown" node in the scene, Maya prints an error warning of potential data-loss.

What is less known is that the plug-in's name and node-type(s) is recorded into Maya's plug-in database whether the plug-in loads or not. Maya makes the assumption that the requires command is included in the file header because the plug-in registers a node-type that is required to define some data in your scene.

When the scene file is next saved, Maya will record a new requires command for every plug-in that it 'in-use' or might define some data in the scene file.

As scenes evolve and pass through the pipeline, and plug-ins become redundant, scene files accumulate references to plug-ins that no longer define data in the scene file.

The following examples demonstrate how to identify which plug-ins will be written to the next scene file, and how to prevent this.

I. How to remove a loaded plug-in from the scene file : Mayatomr

When the Mayatomr plug-in initialises, it registers new node-types and immediately adds custom nodes to your scene.

Let me demonstrate that because these custom nodes are saved with the scene, Maya writes a requires command for the Mayatomr plug-in:

  1. open Maya 2015 and ensure that the Mayatomr plug-in is not set to Autoload
  2. load the Mayatomr plug-in
  3. the plug-in adds custom nodes to the scene, creating a dependency on certain node-types registered by the plug-in. Executing this command shows that the plug-in is considered 'in-use':

    pluginInfo -query -pluginsInUse;
    // Result: Mayatomr 2015.0 - 3.12.1.18

  4. save the scene as "test.ma"
  5. in a new scene, unload the Mayatomr plug-in
  6. load the scene "test.ma" and notice that the Mayatomr is reloaded

    You cannot simply unload the plug-in, as Maya will prevent you from doing this as it knows the plug-in defines a service, eg a node-type, that is 'in-use'.

    To prevent Maya from recording a requires command and therefore loading the plug-in again on file open, it is necessary to remove all nodes with a dependency on the plug-in from your scene.

  7. query the node-types registered by Mayatomr:

    string $nodeTypes[] = `pluginInfo -query -dependNode Mayatomr`;

  8. identify and delete instances of any of these node-types:
    //
    string $type = "";
    for ($type in $nodeTypes)
    {
        string $node = "";
        string $nodes[] = `ls -type $type`;
        for ($node in $nodes)
        {
            lockNode -lock 0 $node;
            delete $node;
        }
    }
    //remove all references to Mayatomr nodes on the undo list
    flushUndo;
    //

  9. query whether the Mayatomr is still 'in-use':
    pluginInfo -query -pluginsInUse;
    // Nothing to see here

  10. save the scene again

By removing all instances of nodes defined by the Mayatomr plug-in, the plug-in is no longer considered 'in-use'.

Regardless of whether the plug-in is loaded, or not, if the scene contains no dependencies on the plug-in and the plug-in is not considered to be 'in-use', then Maya does not write a requires command to file.

II. How to identify and remove an unloaded plug-in from Maya's internal database

As previously mentioned, if the scene file contains a requires command for a plug-in that cannot be loaded, information about this plug-in (and any node-types which are assumed to be 'in-use' in the scene) is recorded in Maya's plug-in database and written into the next scene file.

Let's begin this example by creating a file with a dependency on a plug-in that is not in the MAYA_PLUG_IN_PATH:

  1. open Maya 2015 SP6 or Maya 2016 (previous versions do not include the MEL commands unknownPlugin and unknownNodes)
  2. load a plug-in that defines a node-type, but which is not in your MAYA_PLUG_IN_PATH; for example, "animCubeNode.py" from the Maya devkit samples
  3. create an instance of the plug-ins registered node-type

    createNode spAnimCube;
    // Result: spAnimCube1 //

  4. query the list of plug-ins 'in-use':

    pluginInfo -query -pluginsInUse;
    // Result: animCubeNode.py Unknown //

  5. save the scene file as "test.ma"
  6. restart Maya to remove all reference to "animCubeNode.py" from Maya's plug-in database
  7. open "test.ma" - there should be errors in the Script Editor because the plug-in cannot be loaded:

    # Error: RuntimeError: file <maya console> line 1: Plug-in, "animCubeNode.py", was not found on MAYA_PLUG_IN_PATH. #
    // Warning: Unrecognized node type 'spAnimCube'; preserving node information during this session. //

  8. query the list of plug-ins 'in-use' - the pluginInfo command only works for loaded plug-ins

    pluginInfo -query -pluginsInUse;
    //

    However, save the file again and look at the scene file in a text editor. Maya has retained the requires line to "animCubeNode.py".

    This is how you remove it:

  9. find all "unknown" nodes in the scene

    string $node="";
    string $unknownNodes[] = `ls -type "unknown"`;

  10. identify the plug-in that defines the original node-type

    for ($node in $unknownNodes)
    {
        string $plugin = `unknownNode -query -plugin $node`;
        if ($plugin != "")
            print ($node + " is defined by the plug-in " + $plugin + "\n");
    }

    As with the previous example, you cannot simply remove the reference to the plug-in because there are node dependencies in the scene, which must be removed first.

    unknownPlugin -remove animCubeNode.py;
    // Error: line 1: Plug-in cannot be removed - node/data type defined by it still in use. //

  11. remove the nodes with a dependency on the "animCubeNode.py" plug-in

    /* remove the unloaded plug-in "animCubeNode.py" from the internal database by deleting node dependencies */
    string $node="";
    string $unknownNodes[] = `ls -type "unknown"`;
    string $pluginOfInterest = "animCubeNode.py";
    for ($node in $unknownNodes)
    {
        string $plugin = `unknownNode -query -plugin $node`;
        if ($plugin == $pluginOfInterest)
        {
            lockNode -lock 0 $node;
            delete $node;
        }
    }
    // remove references to animCubeNode on the undo list
    flushUndo;
    //

  12. In a new Maya session, load the scene file and check for the "animCubeNode.py" plug-in:

    unknownPlugin -query -list;
    // nothing to see here
    unknownPlugin -remove animCubeNode.py
    // Error: No matching unknown plug-in. //

    As demonstrated with the Mayatomr example, after all node dependencies have been removed, Maya no longer considers the plug-in to be required and will not write a requires command for it.

III. remove all other references to unknown plug-ins

As we've seen,  removing all nodes of the type defined by a plug-in is the best way to prevent Maya from writing a "requires" line for this plug-in to the scene file.

Occasionally your scene will still contain references to plug-ins which have no apparent dependencies in the scene at all. References to these plug-ins will persist into the next scene file but can be identified and removed without any risk as the following example demonstrates.

Let's begin by creating a reference to a dummy plug-in:

  1. open Maya 2015 SP6 or Maya 2016 (previous versions do not include the MEL command unknownPlugin)
  2. execute the following line to add a dummy plug-in to the database

    requires "dummyPlugin" "1.0";

  3. save the scene as "test.ma"

    Maya includes a reference to this plug-in in the scene file, although this is clearly no reason to do so.

  4. remove the plug-in with the unknownPlugin command

    /* first reduce the list of unknownPlugins by removing unknownNodes, as demonstrated in the previous example. Then all remaining unknownPlugins can be removed with the following commands */

    string $plugin;
    string $unknownPlugins[] = `unknownPlugin -query -list`;
    for ($plugin in $unknownPlugins)
    {
        unknownPlugin -remove $plugin;
    }

 

You now have all the elements to identify and remove plug-ins from your scene file, and effectively manage which plug-ins are recorded to scene file and loaded on file open.

A last word about working with references to external scene files, which also include "requires" commands.
When a reference is loaded, Maya ensures that all plug-ins 'in-use' are loaded. Now, when you save the host scene file, Maya writes a reference to these plug-ins even if the nodes belong in the referenced scene file.

It is strongly recommended that never try to remove plug-ins when your scene file contains file references.  Instead open each file individually, remove the plug-ins there, and save the file again.

With the commands outlined in this tutorial, you could set-up a pre-file save callback function that removes unwanted plug-ins. You should never need to worry about your scene file containing redundant plug-in references again.

Thanks for reading !

Owen




Mayatomr not available after uninstalling mental ray for Maya 2015 SP2 plug-in patch (windows-only)
Source:  Maya Station
Friday, 30 May 2014 11:27

If you uninstall the mental ray for Maya 2015 Service Pack 2 plug-in patch on Windows, and find that Mayatomr is no longer appearing in Maya, you can work around this issue by modifying the following file:

C:\Program Files\Common Files\Autodesk Shared\Modules\Maya\2015\mentalray.mod

And changing these lines from:

+ LOCALE:en_US mayatomr 3.12.1.12 <MENTALRAY_DIR>
+ LOCALE:zh_CN mayatomr 3.12.1.12 <MENTALRAY_DIR>
+ LOCALE:ja_JP mayatomr 3.12.1.12 <MENTALRAY_DIR>

to:

+ LOCALE:en_US mayatomr 3.12.1.12 C:\Program Files\Autodesk\mentalrayForMaya2015\
+ LOCALE:zh_CN mayatomr 3.12.1.12 C:\Program Files\Autodesk\mentalrayForMaya2015\
+ LOCALE:ja_JP mayatomr 3.12.1.12 C:\Program Files\Autodesk\mentalrayForMaya2015\

And re-starting Maya.





William Hill Visit site get 200 GBP