You are trying to position joints in your scene with the Move tool, and you notice that Maya is changing the orientation of the selected joint's parent joint.
Continue reading "When I move a joint, its parent changes orientation" »
You are trying to position joints in your scene with the Move tool, and you notice that Maya is changing the orientation of the selected joint's parent joint.
Continue reading "When I move a joint, its parent changes orientation" »
Posted by Owen Burgess on 14/05/2012 at 11:57 AM in animation, modeling, rigging, UI | Permalink | Comments (0) | TrackBack (0)
We have had users report that mental ray satellite 2013 is not running on some Windows 7 machines. Users have reported errors of failed connection to the satellite machine or even running the service will fail with errors.
This seems to be occurying on machines that have missing Microsoft Visual C++ 2008 Redistributable Package which contains needed libraries to run some of our prodcts correctly.
We provide the installer (vc redist_x64.exe) with our discs and our downloads. The downloaded package generally extracts to "C:\Autodesk" directory. After doing the extraction browse to the Maya directory in "C:\Autodesk" you will find the 3rd Party installer in "\3rdParty\x64\VCRedist\2010SP1\vc redist_x64.exe"
After the package gets installed everything should be working.
More information about Microsoft's Visual C++ 2008 Redistributable Package can be found here.
I just wanted to thank our users for making us aware of this issue.
Cheers!
Nelson
Posted by Nelson Cruz on 30/04/2012 at 05:06 PM in installation & configuration, mental ray, rendering, Windows | Permalink | Comments (0) | TrackBack (0)
The Autodesk Developer Network (ADN) will be hosting a free 2 day Maya API and 2 day 3ds Max SDK training sessions in St. Petersburg, Russia on May 22nd, 2012 and May 23rd, 2012.
This unique opportunity allows you to dive into the inner workings of our software, and come out with a strong fundamental knowledge of the architecture. You will see and understand how you can utilize and benefit from the API’s/SDK’s of these powerful software’s.
To register and view the course schedule, please look here:
Posted by Kristine Middlemiss on 26/04/2012 at 03:07 AM in API, C++ | Permalink | Comments (0) | TrackBack (0)
We generally do not post about things that are noted in the release notes but I thought this was an important enough issue that deserved to be sent to a wider audience.
The File > Send To is not working correctly. Maya 2013 or Mudbox 2013 may not open when you select File > Send To and nothing will be sent. This will only affect users on Mac OS.
This issue has been resolved with an update to the libsynHub.dylib file. The steps below describe how to replace the current libsynHub.dylib file with the updated version. Any future service pack or release will contain this file already. So, this only affects the gold release of Mudbox 2013.
1. Make sure Mudbox 2013 and Maya 2013 are installed.
2. Make a backup copy of your current Maya libsynHub.dylib file located in: /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS
3. Download and extract the attached libsynHub.dylib file to the same location: /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS
4. Make a backup copy of your current Mudbox libsynHub.dylib file located in: /Applications/Autodesk/Mudbox2013/Mudbox.app/Contents/MacOS
5. Download and extract the attached libsynHub.dylib file to the same location: /Applications/Autodesk/Mudbox2013/Mudbox.app/Contents/MacOS
The file can be downloaded from the Support Knowledge Base here.
Cheers!
Posted by Nelson Cruz on 12/04/2012 at 10:43 PM in fileIO | Permalink | Comments (0) | TrackBack (0)
Just wanted to make sure all our subscription customers are aware that Maya 2013 has been released. You should now be able to see the latest downloads from your subscription page.
The system requirements page has also been updated for Maya 2013 so please make sure you check those out.
More information about the latest features can be found at autodesk.com/maya or you can also check out Cory’s Mayalicious blog over at the area which goes into greater details about the release.
For the folks that simply want to take the new release for a spin. You can download the 30 day trial from our site.
Posted by Nelson Cruz on 12/04/2012 at 04:04 PM in Maya news | Permalink | Comments (2) | TrackBack (0)
When writing a custom node using Python and trying to retrieve an attribute string with the compute method, the MDataHandle.asString() method does not return the attribute string content, but a string referencing the internal Maya MString:
def compute( self, plug, data ):
if plug != myTestNode.outputAttr:
return maya.OpenMaya.MStatus.kUnknownParameter
inputHandle = data.inputValue( myTestNode.myStringAttr )
# returns something like "_18691109_p_MString"
simpleAttrValue = inputHandle.asString()
To retrieve the real string content th MDataHandle::asString() returns a reference to an internal Maya MString object. Because it is a reference, if the user changes the contents of the string that is immediately reflected in the datablock without having to call set(). There is no way to provide equivalent functionality in Python because, among other things, Python strings are immutable: any changes create a new string and the MString class that is available in C++ is not available in Python because it has its own string implementation which makes our not needed.
However, there is a simple workaround. If you add this code you will get the string content rather than the reference to the internal string.
stringData =inputHandle.data()
stringFn = maya.OpenMaya.MFnStringData(stringData)
stringValue = stringFn.string()
print "real stringValue:", stringValue
Posted by Kristine Middlemiss on 29/03/2012 at 11:22 PM in API, python | Permalink | Comments (0) | TrackBack (0)
When writing an MPxNode which stores data internally using setInternalValueInContext that is connect to another node. Everything will work well until you save the scene and re-load the scene. It seems you have to force an update of the attribute of your node with a refresh, such as displaying the Attribute Editor.
The reason for this is the value that is maintain for an internal attribute is only used when the attribute does not have an incoming connection. If the attribute has an incoming connection then the connection determines the value of the attribute and your node has no say in the matter. To handle this, use MPxNode::connectionMade() and MPxNode::connectionBroke() to maintain a flag telling you whether the attribute is currently connected.
In Python, that would look something like this:
class myNode(maya.OpenMayaMPx.MPxNode):
myNode.myAttr = maya.OpenMaya.MObject()
def __init__(self):
self.myValue = 0.0
self.myAttrIsConnected = False
def connectionMade(self, myPlug, theirPlug, iAmSrc):
if not iAmSrc and myPlug == myNode.myAttr:
self.myAttrIsConnected = True
return ompx.MPxNode.connectionMade(self, myPlug, theirPlug, iAmSrc)
def connectionBroken(self, myPlug, theirPlug, iAmSrc):
if not iAmSrc and myPlug == myNode.myAttr:
self.myAttrIsConnected = False
return ompx.MPxNode.connectionBroken(self, myPlug, theirPlug, iAmSrc)
In the compute(), check the flag. If it's true then update the internal value from the datablock before using it:
def compute(self, plug, block):
if plug == myNode.someOutputAttr:
if self.myAttrIsConnected:
self.myValue = block.inputValue(myNode.myAttr).asFloat()
If you need the internal value outside the compute() then write yourself a helper method which gets the value from a plug when the flag is set and call that method as needed:
def get_myValue(self):
if self.myAttrIsConnected:
plug = maya.OpenMaya.MPlug(thisMObject(), myNode.myAttr)
self.myValue = plug.asFloat()
return self.myValue
Posted by Kristine Middlemiss on 28/03/2012 at 10:27 PM in API, C++, python | Permalink | Comments (0) | TrackBack (0)
While we have only officially qualified Maya 2012 on Redhat Enterprise 5.5 and Fedora 14 we do have users who enjoy the latest and greatest of what Fedora 16 with Gnome 3 can offer.
I have recently gone through the installer myself and while I have run into some minor hiccups mainly around the new implementation of Gnome things are working out great with Maya.
Below are simply some notes I have made along the way.
This is a good time to make sure folks are aware that we do not qualify Fedora 16 so there can be some un-foreseen issues that I did not come across. With that said, I am simply a Linux guy who enjoys sharing information and hopefully this will help anyone who comes across these issues.
General Maya tips
The next few sections cover general Maya instalation issues you may come across when trying to get Maya up and running. These focus specifically on Maya issues and are valuable even for folks not running Fedora. Further down I have more specific issues around Fedora 16.
The missing packages for Maya 2012
The installer and licensing had no issues however when I went to launch Maya I hit a typically wall of missing packages. During my default installation of Fedora I only needed to install the ones in the command below.
More packages can be missing so a full rpm list is in our installation documentation page 18.
yum install tcsh libXp xorg-x11-fonts-ISO8859*
Installing Nvidia drivers
I am fan of using Nvidia drivers that are downloaded straight from the source. For us to install Nvidia drivers Nouveau must be disabled. More details about what Noveau is can be found here. Before disabling Nouveau we need to get OS kernels updated and make sure everything is matching.
Command below will do the trick. First install missing packages needed for Nvidia drivers for compiling/intall and then update everything.
yum install kernel-devel kernel-headers
yum update kernel*
Remove / disable nouveau drivers from kernel initramfs
Backup old initramfs nouveau image
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
Create new initramfs image
dracut /boot/initramfs-$(uname -r).img $(uname -r)
Reboot
Now, to install the actual Nvidia drivers you must have the X session closed. Essentially, if you are reading this on the machine which will be running Maya, than the drivers will not install.
You can simply hit ctrl-alt f5 to launch a terminal session and type.
init 3
This will kill any live X session.
Login as root user again in the terminal. At this point you are ready to install the drivers. cd into the driver directory and run. Before running the installer we need to make sure binutils is installed.
yum install binutils
Now install the Nvidia drivers
sh ./NVIDIA-Linux-x86_64-XXX.XX.run
If everything works out you will see prompts to install the drivers. Follow the instructions on screen. Since noveau is still enabled Nvidia will request you to reboot once more after it finishes creating a modification in /etc/modprobe.d
After the reboot just follow the steps by going back into terminal and doing init 3 to install the drivers again.
To Overlay or Composite
There are a couple of options to operate Maya's UI or Linux Windows session in. The first being Hardware Overlays while the second option is a Composite mode.
I will not cover which is better because some folks will have personal or business needs as to why one is used over the other. However, I will show both examples below. The one thing to remember is that you should be on one or the other. The two do not work together.
For the Hardware Overlay option, the following will need to be added into the device section of your xorg.conf file located in /etc/X11 folder.
Option "Overlay" "On"
After you add this line you will need to restart the X session for the changes to take effect. Launch Maya and the hotbox should be using hardware overlays. Usually you will see a dithered and partially transparent hotbox.
For those using the above hardware overlay option make sure that the composite is disabled in the xorg. Composite desktop will overwrite the overlays option.
If you wish to use composite desktop instead, simply set the overlay option above to off and make sure the following is at the bottom of the xorg.conf file.
Section "Extensions"
Option "Composite" "On"
EndSection
Once again a restart of X is required. When using this mode you will need to set another option in the windows session for composite to work correctly or you will get alot of flashing UI when the hotbox is activated. Composite must be enabled be enabled in the Windows X session. There are several windows managers around but I will go with the my prefered which is using Gnome default Metacity window manager.
If you followed all the steps above than the gconf-editor will already be installed. As a root user in a terminal launch.
gconf-editor
Go to apps->metacity->general and enable the compositing_manager check box. Generally a reboot is not required for this change. Simply Launch Maya and the hotbox will be non-dithered.
General Linux tips with Fedora 16
While the above steps go Maya up and running nicely in Fedora 16 or even other distobutions under Gnome 3 there are some other things I have done to modify my Linux setup and general look and feel. Once again I simply wrote down as I made some changes.
Missing title bar minimize button
Under Gnome 3 some things have changed with the general look of title bar of applications. By default the minimize buttons are gone. How do we get this back?
yum install gconf-editor
You can now launch this in a terminal by typing
gconf-editor
In the configuration editor drill down through desktop->gnome->shell->windows
Modify 'button_layout' and set the values as ':minimize,maximize,close'
For the settings to take affect you must log out and back in.
Getting Gnome Sesison Windows behavior to use super+ instead of alt+
Prior to fedora 16 there was a GUI option in Gnome to enable this. With fedora 16 you can get this done in a terminal. This will change Gnomes default action of using alt as the main key to do things such as move windows and so on. The command below will pass this control to the super key (windows key)
gconftool-2 --set --type string /apps/metacity/general/mouse_button_modifier '<Super>'
How do I change the runlevel?
systemd has the concept of targets which is a more flexible replacement for runlevels.
Run level 3 is emulated by multi-user.target. While Run level 5 is emulated by graphical.target. runlevel3.target is a symbolic link to multi-user.target and runlevel5.target is a symbolic link to graphical.target.
You can switch to 'runlevel 3' by running
systemctl isolate multi-user.target (or) systemctl isolate runlevel3.target
You can switch to 'runlevel 5' by running
systemctl isolate graphical.target (or) systemctl isolate runlevel5.target
How do I change the default runlevel?
systemd uses symlinks to point to the default runlevel. You have to delete the existing symlink before creating a new one
rm /etc/systemd/system/default.target
Switch to runlevel 3 by default
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Switch to runlevel 5 by default
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
I dont like all the flashy Gnome 3 stuff
While we should imbrace the new looks I am finding a bit difficult to wrap around it and want some of my older options back. The good news is that there is a fallback feature which removes all grahical fun stuff. The Fallback mode can be enabled by going to System Settings > System Info. In this window, you'll be able to activate - force - Fallback Mode. The next time you login, you will have a more standard view with menus just like previous versions.
No desktop icons.... no problem!
Gnome 3 by default hides all the desktop items. You can get them back by installing a tweak tool which enables them. In a terminal as root install gnome-tweak-tool
yum install gnome-tweak-tool
You can now run the tool as a regular user. To run it in a terminal simply type.
gnome-tweak-tool
When the Advance settings window shows up click on Desktop category and enable "Have file manager handle desktop"
The Bootloader
Fedora 16 also introduces a new bootloader application. Grub2 is now the default bootloader to control which OS will be used during system start up. The introduction of Grub2 has made things a bit trickier to modify the settings done during the initial OS install. Older version of grub simply involved modifying a cfg file to get things corrected as to startup timeouts and which OS to boot. Below are the simple steps to help you switch the default from one OS to another using grub2.
Running this command will build the grub menu after any changes have been made. This command will automatically find the kernels and initrds in the boot directory and add them to a cfg file using the parameters given in /etc/default/grub
grub2-mkconfig > /boot/grub2/grub.cfg
To set the default OS simply modify /etc/default/grub file. This can be edited in any text editor as root.
The line you need to add or change is:
GRUB_DEFAULT=OS Name
You can either set OS Name or a numeric entry.
GRUB_DEFAULT="Fedora (3.2.13.fc16.x86_64)"
To get a list of the menuentry simply use:
grep menuentry /boot/grub2/grub.cfg
The list will print out in the terminal and the first one listed will be 0 or the OS name.
GRUB_DEFAULT=0
That’s all I have on this post for now. If I come across any other noteworthy issues I will update this post. I would also like to say that I cannot take full credit in these workarounds. Most of these can easily be found roaming the internet and for that thank you.
Cheers!
Nelson
Posted by Nelson Cruz on 16/03/2012 at 04:11 PM in environment variables, installation & configuration, linux | Permalink | Comments (1) | TrackBack (0)
Tkinter is a Python GUI package which operates on top of Tcl/Tk. The Tkinter .so is included with Maya’s packaged Python folder. For users on Linux running distributions like Redhat Enterprise 6 or Fedora 14 you will notice that the default version of Tcl and Tk are 8.5. Running any Tkinter call within Maya’s ui will automatically prompt an error:
from Tkinter import *
root = Tk()
# Error: TclError: Can't find a usable init.tcl in the following directories:
/usr/share/tcl8.4 /usr/aw/maya2011-x64/lib/tcl8.4 /usr/aw/lib/tcl8.4 /usr/aw/maya2011-x64/library /usr/aw/library /usr/aw/tcl8.4.13/library /usr/tcl8.4.13/library /usr/share/tcl8.4
You will notice Maya is pointing to a version Tcl which is not installed and looking for directories which are not on the system.
The reason this occurs is because we compile Maya on the lowest possible setup for compliance. Maya 2012 is based on Redhat Enterprise 5. This simply means that the default Tcl and Tk version on this distribution are 8.4. Unfortunately, this information is hardcoded into the _tkinter.so file included in the Maya python "lib-dynload" folder. This cannot be changed. So your only option at this point is to install the 8.4 version of the app.
There is no need to remove your current Tcl or Tk versions and the 8.4 version can be installed without any issues. You will need to source these based on your distribution and get the rpm’s installed and Maya will than grab the proper directories in /usr/lib.
Let’s now focus on some actual work. Below is a sample script which will build a GUI window with a button to build a sphere. You will notice I added some threading commands. The reason for this is to make sure that the Maya UI is still available and updated without having to wait for the python UI to close before updating the viewport.
import maya.utils
import maya.cmds as mc
import Tkinter as tk
import threading
def makeSphere( radius ):
print "WOW that Sphere is great!"
mc.sphere( radius=radius )
def makeMySphere():
maya.utils.executeInMainThreadWithResult( makeSphere, 5 )
def UI():
app = tk.Tk()
btnCube = tk.Button(app, text="Make a special Sphere", command=makeMySphere )
btnCube.pack()
app.mainloop()
class MyThread ( threading.Thread ):
def run ( self ):
UI()
MyThread().start()
I hope this is helpful for anyone using Tkinter on Linux. Please remember this was only tested on Linux so I am not sure what the behaviour is like on Windows.
There are also other options for building python GUI’s. We have details in the Maya devkit for pyQt and I have also seen folks use wxPython.
Cheers!
Nelson
Posted by Nelson Cruz on 09/03/2012 at 05:11 PM in linux, python, UI | Permalink | Comments (0) | TrackBack (0)
David Lau over at our Systems team had a licensing issue come across his desk this week. In this particular issue the customer was having difficulties getting Turtle 2012 installed with the Maya 2012 SAP sp1.
If you see yourselves running into similar problems in getting the two running please head over to the Up and Ready blog for more details.
Cheers!
Nelson
Posted by Nelson Cruz on 08/03/2012 at 02:48 PM | Permalink | Comments (0) | TrackBack (0)




Subscribe
Recent Comments