64-bit Softimage and Netview and Flash


As I mentioned in my video posting yesterday, if you’re running 64-bit Softimage then you won’t have Flash in Netview. That’s because Netview will be using the 64-bit version of Internet Explorer, but Flash is 32-bit only.

Outside of Softimage, back in Windows, you’re almost always running a 32-bit version of a browser, which is why Flash is available.

Netview uses an embedded web browser (an ActiveX control ) which it creates and embeds within a Softimage view.

  • On Windows, this ends up being whatever version of Internet Explorer the user has installed on their machine. However, for IE8 and later, the WebControl runs in IE7 compatiability mode.
  • On Linux, I believe Netview uses IE v5.5, which comes with Mainwin.

Luceric tweeted the other day about a beta 64-bit version of Flash. That “Square” preview release is relatively new (Nov 2010), but I know they had previous betas back in March 2010.

There’s a Linux version too of 64-bit Flash, but I don’t think it’s possible to get Flash into Netview on Linux. On Windows, Flash is installed in IE, and Netview picks up on that because Netview uses the version of IE installed with the OS. On Linux, however, we use a version of IE that ships with Softimage. So even if you had some version of IE running on Linux (unlikely), that wouldn’t be enough to get Flash into Netview. Flash would be installed just in that other IE. More likely, Flash will be installed in whatever other browser you have installed on Linux.

AAARGH! Licensing frustrations on Linux


As I’ve mentioned elsewhere, in support I’m often doing the opposite of what users do: I’m trying to break the licensing, because I’m testing something. And sometimes it can be really hard to do ๐Ÿ˜‰

The other day I was trying to force Softimage (on Linux) to use a certain license server that didn’t have the right licenses, but no matter what I did, Softimage kept getting a license from somewhere else. After an extremely frustrating 30 minutes, I tracked it down to the ~/.flexlmrc file, which had a list of the license servers that Softimage has successfully used at some point:

ADSKFLEX_LICENSE_FILE=@mtl-blairs:@mtl-licserver

If Softimage can’t check out a license from the server specified in .xsi_2012, then it tries the servers listed in ~/.flexlmrc.

So all I had to do was remove the extra license servers and leave only the server specified in my .xsi_2012 resource file.

~/.flexlmrc is the Linux version of the HKEY_CURRENT_USER\Software\FLEXlm License Manager\ADSKFLEX_LICENSE_FILE registry key on Windows.

JScript Array.push on Linux = Object doesn’t support this property or method


On Linux, Array.push will give you this error: “// ERROR : Object doesn’t support this property or method.” That’s because Softimage ships with an older version of JScript (5.1) on Linux.

You can add the following to your JScript to add a push method to the Array object:

// Add a push method to the JScript Array Object
// (Array.Push was added in Jscript 5.5 but we cannot rely on this)
// @cc_on
// @if (@_jscript_version < 5.5)
var push = function(){
	for( var i = 0; arguments[ i ] != null; i++ )
		this[this.length++] = arguments[ i ];
	return( this );
	}
Array.prototype.push = push;
// @end

Friday Flashback #25


When I started at Softimage back in 95, the only machine on my desk was an SGI Indy. I had come from a hard-core UNIX software dev shop, so I was pretty comfortable with that. Eventually I got a Windows NT box too, but I held on to the Indy until 2000.

Here’s a few pics of SOFTIMAGE|3D running on SGI hardware that I found through google:


From the Summer 97 Softimage Resource Guide:

And the Indy specs from 96:

Specifying the help file location in SPDL


In 2011 and later, you can’t use OriginPath to find the location of the inspected shader/texture. Instead, use ShaderDef.DefinitionPath.
ShaderDef.DefinitionPath will return something like:

' INFO : C:\Users\blairs\Autodesk\Softimage_2012_SP1\Addons\baVolume\Application\spdl\BA_fluid.spdl

So you could do something like this in your SPDL file to specify the location of your help:

	Sub OnInit()
		setAlpha_OnChanged()
		Set ppi =PPG.Inspected(0)
		s = ppi.ShaderDef.DefinitionPath
		sHelp = Left( s, InStr( 1, s, "spdl" ) - 1 ) + "../help/index.htm"
		PPG.PPGLayout.SetAttribute siUIHelpFile, sHelp
	End sub

Setting expressions/scops on the transformation of an Environment shader


I was asked recently if there’s a way to put an expression or scripted operator (scop) on the Transformation of the image in an Environment shader.

In 2010, you could right-click the animation icon, click Property Editor, and that would open the PPG for a StaticKineState, where you could set expressions or scops on the SRT values.

This changed in 2011, and as of that release, you use the explorer to access the SRT XYZ values and set expressions or scripted operators on them:

This change was by design. In the 2011 release, the matrix types were changed to give access to the matrix components instead of having a nested StaticKineState property. This allows ICE attributes to plug directly in the shader input matrix ports and have texturable matrix ports.

MotionBuilder – Customizing keyboard shortcuts


Suppose you want to customize the MotionBuilder keyboard shortcuts (for example, so you can use F1 for something else other than “Help”).

The MotionBuilder keyboard shortcuts are stored in text configuration files that you can find here:

C:\Program Files\Autodesk\MotionBuilder 2012 (64-bit)\bin\config\Keyboard

For example, in the MotionBuilder.txt config file, look for this line:

action.global.help            = {NONE:F1*DN}

You could change that and use F1 for one of the other actions.