New Python methods in 2013


A few people have asked me about the new “Python-specific” methods added in the Softimage 2013 SDK.

Basically, these new “Python-specific” methods are wrappers for the existing methods. What the new, Python-specific versions do is make sure you get back an object that supports all the advertised methods and properties of the class hierarchy.

For example, Menu is a subclass of MenuItem, and Menu adds new methods like AddCommandItem().

Menu.AddItem() returns a Menu object that supports all the MenuItem methods and properties, but doesn’t support the Menu methods and properties, such as Menu.AddCommandItem().

Menu.AddItem2() , on the other hand, returns an object that supports all the MenuItem and Menu methods and properties.

I blogged about the Menu.AddItem() problem awhile back.

Python-specific methods

  • Clip.AddProperty2 – Creates and adds a UserDataBlob or CustomProperty to a Clip object. This method is specific to the python language.
  • Layout.CreateViewFromDefinitionFile2 – Creates a new View object given the path to its definition on disk. This method is similar to Layout.CreateViewFromDefinitionFile but specific to the python language.
  • Layout.FindView2 – Finds an existing View object given a name in this layout. This method is similar to Layout.FindView but specific to the python language.
  • Menu.AddItem2 – Adds a menu item at to end of the menu. This method is similar to Menu.AddItem but specific to the python language.
  • Menu.AddCommandItem2 – Adds a menu item at the end of the menu and attaches a command. This method is similar to Menu.AddCommandItem but specific to the python language.
  • Menu.AddCallbackItem2 – Adds a menu item to the end of the menu and attaches a callback function. This method is similar to Menu.AddCallbackItem but specific to the python language.
  • ICENode.GetPortFromName2 – Returns the ICENodePort object that matches a specific port name. This method is similar to ICENode.GetPortFromName but specific to the python language.
  • ICENode.GetPortFromIndex2 – Returns the ICENodePort object specified by a port index, group index and group instance index. This method is similar to ICENode.GetPortFromIndex but specific to the python language.
  • Operator.GetPort3 – Returns the specified Port object for the operator. This method is similar to Operator.GetPort2 but specific to the python language.
  • Override.AddParameterEntry2 – Adds a new entry to override the input parameter and returns the new overriding parameter. This method is similar to Override.AddParameterEntry but specific to the python language.
  • Primitive.GetGeometry3 – Returns a Geometry object containing the object’s geometry. This method is similar to Primitive.GetGeometry2 but specific to the python language.
  • SceneItem.GetPropertyFromName2 – Returns a property, given its scripting name. This method is similar to SceneItem.GetPropertyFromName but specific to the python language.
  • SceneItem.GetLocalPropertyFromName2 – Returns a local property, given its scripting name. This method is similar to SceneItem.GetLocalPropertyFromName but specific to the python language.
  • ShaderArrayParamDef.ItemDef2 – Returns the underlying ShaderParamDef or ShaderStructParamDef object for this array item. This method is similar to ShaderArrayParamDef.ItemDef but specific to the Python language.
  • ShaderArrayParameter.Item2 – Returns the specified ShaderParameter item in this array. This method is similar to ShaderArrayParameter.Item but specific to the Python language.
  • ShaderParamDefContainer.AddParamDef2 – This method is similar to ShaderParamDefContainer.AddParamDef but specific to the Python language.
  • ShaderParamDefContainer.GetParamDefByName2 – Returns the ShaderParamDef that matches the specified name from this container. This method is similar to ShaderParamDefContainer.GetParamDefByName but specific to the Python language.
  • ShaderParameter.Definition2 – Returns the shader parameter definition as a ShaderParamDef object. This method is similar to ShaderParameter.Definition but specific to the Python language.
  • View.FindView2 – Finds an existing View object given a name. This method is similar to View.FindView but specific to the Python language.
  • X3DObject.GetActivePrimitive3 – Returns the 3D object’s active Primitive for a given frame. This method is similar to X3DObject.GetActivePrimitive2 but specific to the Python language.
  • XSIApplication.ActiveProject3 – Returns or sets the active XSIProject object. This method is similar to XSIApplication.ActiveProject2 but specific to the Python language.
  • XSIApplication.GetObjectFromID2 – Returns the object matching the specified ID. This method is similar to XSIApplication.GetObjectFromID but specific to the python language.
  • XSIFactory.CreateObjectFromPreset2 – Creates an object from a preset and optional preset family name. This method is similar to XSIFactory.CreateObjectFromPreset but specific to the Python language.

Friday Flashback #65


Thanks to Alan Fregtman for this week’s flashback!

Back in 1997 there were some neat press releases about Dreamworks using Sumatra for Shrek.

From the Microsoft News Center: DreamWorks SKG Chooses Softimage Exclusively For New Film Project “Shrek”

MONTREAL, Feb. 24, 1997 — Softimage Inc., the world’s leading high-end 3-D animation software company and a wholly owned subsidiary of Microsoft Corp., today announced that DreamWorks SKG is using Softimage® 3D, Softimage Eddie and Mental Ray to create its new film project “Shrek.” Driven by DreamWorks co-founder Jeffrey Katzenberg, “Shrek” will be a milestone production in content creation and the first full-length computer-generated film to use motion capture as its primary tool for character animation. While developing breakthrough animation techniques for both motion capture and facial animation, DreamWorks will stay at the front edge of technology by upgrading to Softimage version 3.7 and “Sumatra,” the code name for the next generation of Softimage 3D.

For posterity, here’s a screenshot of the Microsoft press release:

From a press release for the Softimage 3.7 release:

Beta Testers Praise Version 3.7
DreamWorks SKG was so impressed with version 3.7 that it recently announced plans to use Softimage 3D, Softimage Eddie and Mental Ray as the predominant software on SGI workstations for the content creation of its full-length computer-generated film “Shrek.” Bill Villarreal, co-head of technology for feature animation at DreamWorks SKG, said, “We think the 3.7 release of Softimage is a very big step in what will become the next generation of computer graphics software. Other companies are working on architectures that they say will be the future of animation; Softimage 3.7 gives us those capabilities now.”

I wasn’t at Softimage back then, so I don’t have any first-hand knowledge about whether Dreamworks used Softimage for Shrek.

From a Shrek FAQ I found on google:

Q: What software was used to create Shrek?

A: PDI, which created Shrek, mostly uses its own proprietary software (like its own Fluid Animation System) for its animated movies. However, for some elements it also took advantage of some of the powerhouse animation programs available to the public. This is particularly true with Maya, which PDI used for most of its dynamic cloth animation and for the hair of Fiona and Farquaad. Photoshop was also used quite a bit in the art department. There was also a touch of Softimage used in the movie. But most of the software used was PDI exclusive, created by its research and development team.

These Shrek productions notes mention Maya, but not Softimage.

Getting your new Softimage network license


A quick overview of how to get your new Softimage license.

I didn’t have an actual serial number, so I couldn’t go through the whole process. For that, check out this KB article:

If you don’t know how to install your new license, then check out this 2012 video, where I download a new license file and then update LMTOOLS.
https://xsisupport.wordpress.com/2011/04/07/activating-your-softimage-2012-network-license/

Installing Softimage 2013


Here’s a video walk-through of the download and installation of Softimage 2013:

In summary:

  • You need your Softimage 2013 serial number.
  • The product key is 590E1.

Related posts: