I didn’t have to recompile everything, just the C# code (custom filters). Everything else in this version (thanks to Bryan of the XSI list), loaded into 2010 SP1.
Drag to a viewport to install:
RCTOOLS 4.2 for Softimage 2010 SP1
I didn’t have to recompile everything, just the C# code (custom filters). Everything else in this version (thanks to Bryan of the XSI list), loaded into 2010 SP1.
Drag to a viewport to install:
RCTOOLS 4.2 for Softimage 2010 SP1
I find it very hard to keep track of new posts on The Area. The View New Post and View Todays Active Topic pages just don’t do it for me.
So I created a Yahoo pipe to combine the RSS feeds for all the Softimage forums. You can find the pipe here:
http://pipes.yahoo.com/softimage/areaforums
The RSS feed for the pipe here:
http://pipes.yahoo.com/pipes/pipe.run?_id=571b2031be0ff54902079c11db49476c&_render=rss
Note that the forum RSS feeds always show the first post of the discussion, so the RSS feeds tell you only which discussions have been updated recently. You have to click through to see the most recent post.
To visualize vectors, I added some points to an empty point cloud, and in Show Values, I set Display As to Vector + Length:
Another way to visualize the vectors you are working with is to use an ICE array with Display As=Line. This ICE tree draws a line from the global origin to the camera interest, from the camera interest to the camera, and finally from the camera back to the global origin.
On the Area forums, a customer reported that Softimage memory usage would keep increasing until the software either froze or crashed. All he had to do was keep moving points. This happened both on Windows 7 and Vista.
Eventually he resolved the problem by rolling back to an older version (June 09) of the display driver for his [uncertified] ATi Radeon HD 4870 card.
You can use Ref mode to quickly set up the camera so that it is looking straight down at a reference plane.
Here’s a script that does this for you. The script works with a default Softimage camera rig: just select some part of the camera rig and the script will figure out the rest.
var o = ( Selection(0).IsClassOf( siX3DObjectID ) ? Selection(0) : Selection(0).Parent3DObject ); var c = null; var ci = null; switch ( o.type ) { case "camera" : c = o; ci = c.Interest; break; case "CameraInterest" : c = o.Parent3DObject.Camera; ci = o; break; case "CameraRoot" : c = o.Camera; ci = c.Interest; break; default : LogMessage( "Cannot find the camera and camera interest. Please select part of a camera rig." ); } if ( c != null & ci != null ) { // Translate Camera Interest Translate(ci, 0, 0, 0, siAbsolute, siObjCtr, siObj, siX, null, null, null, null, null, null, null, null, null, 0, null); Translate(ci, 0, 0, 0, siAbsolute, siObjCtr, siObj, siY, null, null, null, null, null, null, null, null, null, 0, null); Translate(ci, 0, 0, 0, siAbsolute, siObjCtr, siObj, siZ, null, null, null, null, null, null, null, null, null, 0, null); // Translate Camera Translate(c, 0, 0, 0, siAbsolute, siObjCtr, siObj, siX, null, null, null, null, null, null, null, null, null, 0, null); Translate(c, 0, 20, 0, siAbsolute, siObjCtr, siObj, siY, null, null, null, null, null, null, null, null, null, 0, null); Translate(c, 0, 0, 0, siAbsolute, siObjCtr, siObj, siZ, null, null, null, null, null, null, null, null, null, 0, null); }
.
Custom properties don’t have built-in support for versioning. After you create an instance of a property, the Define callback is never called again. So if you update your custom property with new parameters, you won’t see those new parameters in existing instances of the property.
If you want to support versioning, you can build it into the OnInit callback.
Add a Version parameter to the custom property. Then in the OnInit, you can compare this Version parameter against the current version of the custom property. If the property was created by an older version of the plugin, then you can update the property by adding parameters or by calling EditParameterDefinition to modify an existing parameter. But you cannot cannot remove parameters (instead, hide them).
If you have custom properties that don’t a Version parameter, then the most you can do is check for the existence of the Version parameter. If it is not there, then you know the property is older and needs to be updated.
Finally, you need to rebuild the PPG layout whenever OnInit is called. The typical way to do this is to get rid of the DefineLayout function and implement your own “RebuildLayout” function.
Here’s an example plugin that shows how to update an existing instance of a property:
Continue reading
A couple of weeks ago, I posted about adding a password field to a PPG with the ES_PASSWORD edit style (from winuser.h).
Here’s a couple of other edit styles you can use; just run this script in the Softimage script editor.
/ Create CustomProperty var oCustomProperty = XSIFactory.CreateObject( "CustomProperty" ); // Add Parameter(s) to the custom property oCustomProperty.AddParameter( "password", siString, siClassifUnknown, siSilent, "", "", "", "", 0, 1, 0, 1 ); oCustomProperty.AddParameter( "lowercase", siString, siClassifUnknown, siSilent, "", "", "", "", 0, 1, 0, 1 ); oCustomProperty.AddParameter( "UPPERCASE", siString, siClassifUnknown, siSilent, "", "", "", "", 0, 1, 0, 1 ); // PPG Layout oLayout = oCustomProperty.PPGLayout; oLayout.Clear(); var oItem = oLayout.AddItem( "password", "Password", siControlEdit ); oItem.SetAttribute( siUIStyle, 32 ); // ES_PASSWORD var oItem = oLayout.AddItem( "lowercase", "lowercase", siControlEdit ); oItem.SetAttribute( siUIStyle, 16 ); // ES_LOWERCASE var oItem = oLayout.AddItem( "UPPERCASE", "UPPERCASE", siControlEdit ); oItem.SetAttribute( siUIStyle, 8 ); // UPPERCASE InspectObj( oCustomProperty );
On the train in to work, I spent a little time getting familiar with Standalone licensing. I found a couple of ways to get the there is no interactive license available to run Softimage error:
VendorError=24 [Unable to locate the Product Information Table File]
VendorError=101 [The license cannot be accessed/loaded/opened]
By default, the service is set to start Manual, but you can change that to Automatic and Softimage will still get a license.